الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل Java هي الخيار الصحيح ؟

مغلق
بدأه C&DEL في 24 أغسطس 2005 · 38 رد · 4,056 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مع ظهور Linux و تطوره السريع الهائل على المستوى العالمي و العربي ، بدأت معظم الشركات تعيد حساباتها بشأن اختيار نظام التشغيل المناسب لاحتياجاتها .

من ناحيتي أنا أعمل في مجال البرمجة الصناعية (ميكانيك الغزل و النسيج CAM/CAD) منذ فترة لا بأس بها و ذلك باستعمال C++ (C++ Builder و Kylix) و بالرغم من احترافي للغة C++ -نوعا ما- أملت علي الضرورة الملحة على الانتقال الى Linux -و لو بشكل شبه كامل- بسبب توجّه الشركات الصناعية الكبرى الى Linux

المشكلة تكمن في أن معظم الشركات الصناعية الصغيرة الحجم –في بلداننا العربية- لا تزال تستعمل M$ Windows لذلك فكّرت مليا بالانتقال الى الى لغة Java على أمل بناء تطبيقات مهيئة للعمل ضمن Linux و M$ Windows لكن توجد عندي بعض الاستفسارات لم أجد لها جواب حتى الآن ، آمل أن تساعدوني على ايجاد الحل المناسب من أجل القرار المناسب .

1. هل الانتقال الى Java يعني أن سأبدأ من نقطة الصفر و نسيان كل اكتسبته من خبرة بالتعامل مع C++ ، و بكل صراحة هل تنصحوني بالانتقال الى Java و ترك C++ من أجل تعدد بيئات أنظمة التشغيل .

2. ما هو أفضل IDE خاص بالتصميم المرئي للـ Java ؟ ، و في حال وجوده هل بالامكان اطلاعي على أهم مزاياه .

3. كما هو معلوم أن Borland C++ Builder أو Kylix تتضمن مبدأ المكونات المرئية و مكتبات الشيفرة بعدة أشكال ، أذكر أهمها :

• Com Components

• VCL/CLX Components

• .NET Components

فهل تحتوي الـ Java على مثل هذه الأنواع من المكونات لتسهيل تقسيم المشاريع البرمجية و تسهيل التصميم المرئي ؟

الاخوة الأعزاء أرجو الاجابة على التساؤلات بشكل مرقّم ، من أجل عدم ضياع الأفكار .

مدونتي

http://mbnoimi.net

#2
اقتباس
1. هل الانتقال الى Java يعني أن سأبدأ من نقطة الصفر و نسيان كل اكتسبته من خبرة بالتعامل مع C++ ، و بكل صراحة هل تنصحوني بالانتقال الى Java و ترك C++ من أجل تعدد بيئات أنظمة التشغيل .

لا....

ستبدأ من النقطة 1541... بما أنك مبرمج C++!!

بالمناسبة لا تقارن بين C++ وجافا... المقارنة هي بين .Net وجافا... لاحظ أن كلاهما يحتاج إلى C++ في كثير من الأحيان ولا سيما أن اللغتين صنعتا من C++!

اقتباس
. ما هو أفضل IDE خاص بالتصميم المرئي للـ Java ؟ ، و في حال وجوده هل بالامكان اطلاعي على أهم مزاياه .

أنصحك بأن تبدأ بـ IDE غير مرئي إذا لم تتقن بعد البرمجة الشيئية التوجه! مثل www.jcreator.com

وإذا كنت مصرا.. عندك www.netbeans.org

كلاهما مجاني!!

#3

مشكور أخي العزيز كثيرا على سرعة الرد ، أرجو من المشاركين أن يتحمّلوني قليلا لأن هذه القضية بالنسبة لي مهمة جدا لذلك قد تطول المشاركات في هذا الموضوع .

أعود اليك أخي أبو مازن ....

مشكور مرة أخرى ..... قمت بتصفح موقع NetBeans ، و حمّلت الـ ScreenShots منه لكن ممكن تعطيني ملخص سريع عن هذا الـ IDE ، حسب ما فهمت و بشكل سريع من الرابط السابق أن :

NetBeans IDE : هو بيئة تطوير للجافا (أي كتابة شيفرة فقط)

NetBeans Platform : هي حزمة (و ليست بيئة تطوير) مرفقة لما سبق من أجل التطوير المرئي

هل ما فهمته بشكل سريع فيه شيء من الصحة (عذرا خط الانترنت بطيء عندي لذلك تحميل البرامج و وثائق المساعدة PDF تأخذ وقتا طويلا) ؟

و بالمناسبة ماذا عن المكونات (السؤال رقم 3) ..... هل لديك أي اطلاع عليها ؟

مدونتي

http://mbnoimi.net

#4

استكمالا لسلسلة الأسئلة السابقة .

4. ما هي امكانية الوصول الى المستويات الدنيا للعتاد بحرية ، كما هو الحال مع C++ (بامكاني التحكم بالمنافذ بكافة أنواعها على مستوى Bit أو Byte أو Blocks) مع العلم أن شركة Siemens عملاقة الصناعات الالكتروكهربائية قامت بتحويل جميع برامج التحكم بالـ PLC الى تطبيقات Java عوضا عن الأنواع السابقة (مع العلم أن معظم الـPLCs يتم وصلها للحاسب عن طريق منفذ الـ COM أو USB)

5. مستقبلا و حرصا على عدم تكرار مصائب M$ Windows هل مصرّف الـ Java مجاني و مفتوح المصدر ؟

6. ما هي امكانية الوصول الى API نظام التشغيل عند استعمال Java ؟ ، في حال عدم الامكانية من الوصول الى الـ API ، ماهي البدائل ؟

تم تعديل هذه المشاركة بواسطة C&DEL في 25 أغسطس 2005 في 04:49

مدونتي

http://mbnoimi.net

#5

استخدم خاصية البحث متى أمكنك ذلك:

/index.ph...ndpost&p=330832

أضف لما سبق أن بيئة التطوير صنعت وبنيت فوق (نظام Netbeans) تستطيع أن تأخذ نظام NetBeans المتطور جدا، وتبني فوقه برنامجك!

4- إذا أردت الوصول إلى Bit والأشياء الدقيقة في الحاسب فاستخدم C++ مع جافا! جافا تسمح لك أن تنادي شفرات C++ باستخدام native interface أو JNI... لاحظ أن برنامجك لن يكون متعدد الأنظمة،، أو بمعنى آخر سيعمل على نظام واحد لأنك تستخدم أشياء خاصة بالنظام! أرجو أن أكون واضحا!! لكنك بالطبع تستطيع البرمجة للنوافذ سواء كانت port usb أو غيرها والله أعلم بالجافا!!

5- مصرف؟؟ لم أفهم! عموما اللغة مجانية وبيئات التطوير متوفرة!! تدعم هذه اللغة الكثير الكثير من الشركات وليست فقط حكرا على شركة معينة! وكل هذه الشركات تدعم هذه اللغة!

سؤال 3 -6 لا أدري!!

#6

هذه البرامج صنعت فوق نظام Netbeans!

http://www.netbeans.org/products/platform/screenshots.html

#7
اقتباس
بالرغم من احترافي للغة C++ -نوعا ما- أملت علي الضرورة الملحة على الانتقال الى Linux -و لو بشكل شبه كامل- بسبب توجّه الشركات الصناعية الكبرى الى Linux

المشكلة تكمن في أن معظم الشركات الصناعية الصغيرة الحجم –في بلداننا العربية- لا تزال تستعمل M$ Windows لذلك فكّرت مليا بالانتقال الى الى لغة Java على أمل بناء تطبيقات مهيئة للعمل ضمن Linux و M$ Windows لكن توجد عندي بعض الاستفسارات لم أجد لها جواب حتى الآن ، آمل أن تساعدوني على ايجاد الحل المناسب من أجل القرار المناسب ..........

ألا تعمل السي بلس علي اللينكس ؟

#8

اذا كنت قد اتقنت البرمجة الكائنية في سي ++ فسوف تستفيد من هذه المعلومات.

syntax للجافا شبيه بالسي ++.

انا اشوف انك تبدأ في text editor زي Jcreator لكي لاتصبح مثل مبرمجين microsoft اللي معظمهم لايتقنون البرمجة الا مع visual studio ( انا قلت معظمهم).

وبعد ذلك استخدم NetBeans الرائع والمجاني للسرعة في الانتاجية.

فهل تحتوي الـ Java على مثل هذه الأنواع من المكونات لتسهيل تقسيم المشاريع البرمجية و تسهيل التصميم المرئي ؟

بالنسبة لتقسيم المشاريع,, فلا اظن ان اثنين يختلفون على ان الجافا هي الافضل. فهي تدعم كل التقنيات التي تساعد على بناء مشاريع منظمة وسهلة التطوير والتحديث. بامكانك ان تطلع على Rational Rose وهو نظام مخصص لبناء التطبيقات الكبيرة وهو ليس من شركة صن.. وترى كيف الدعم الرائع فيه للغة البرمجة جافا.

نصيحتي قبل ان تبدأ باي شئ : لاتتسرع لاتتسرع لاتتسرع...

تحتاج لان تفهم المبادئ الاساسية للجافا وبعد ذلك كل شئ يصبح ممكنا. وطبعا حتى في مقالات وجدتها على الانترنت عن الجافا جميع الكتاب يتفقون على ان الجافا صعبة في بداية تعلمها لكن اذا تعلمت الاساسيات اصبح كل شئ ممكنا.

اما عن الوصول الى امكانيات نظام التشغيل: بالتأكيد جافا لن تعتمد على مكتبات نظام التشغيل ولكن بامكانك ان تستخدم JNI كما قال اخي ابو مازن.

اود اضافة شئ مهم اخر...

جافا تدعمها اكثر من 52 شركة.. ( مساكين اللي ماعندهم الا شركة واحده).. لان جافا لاتعتبر لغة برمج بالمعنى المطلق ولكن تستطيع القول بانها Platform .

يعني جافا تنزل standards اللي لازم كل شركة تتبعه لتطوير شئ معين... تقدر تقول عليها interfaces كل شركة لازم تتبعها... وبعد ذلك لكل شركة طريقتها في التطوير.. ولذلك ترى في الجافا عدة شركات لنفس المنتج (نفس الكلام اللي بين قوسين فوق) لتترك للمستخدم حرية الاختيار على حسب سعر( اذا كان طبعا مو مجاني-نادرا) او اي امكانيات خاصة بالمنتج. مثال على هذا الكلام JMS .

الخلاصة ياأخي بما أنك تريد تعلم الجافا فلا تخطئ كما اخطأت انا... وابدأ بالاساسيات قبل كل شئ. ثم بعد ذلك انطلق ولا شئ اسمه مستحيل.

رسالة الى اخي ابو مازن: ماتبغى تجي تاخذ السي دي؟ ولا ترى اشتكيك عند السلطان. :cool: :cool:

اسف سوف اقطعك من كتابة الكود، ادخل هنا لدقيقتين فقط

http://www.shbab1.com/2minutes.htm

#9

ملاحظة أخيرة:

ليس فقط الشركات الصغيرة في الوطن العربي التي تتبنى ويندوز كنظام تشغيل.. بل حتى الشركات الكبيرة. والمشكلة ليست في لينكس بل في شركات العتاد والقطع الالكترونية.. فهم لايقدمون الدعم للينكس الا في وقت متأخر.

اما بخصوص شركة سيمنس فسوف اعطيك هذه المعلومة:

انا طالب متدرب في ارامكو السعودية.. ارامكو تستخدم اجهزة معينة للتحكم الالي من سيمنس.. المهم كانت قررت سيمنس ان تحول منتجاتها للعمل على linux ولكن في اللحظات الخيرة الغي هذا القرار..

ومن طبعي اللقافة (طبعا في العلم) سألت احد كبار المسؤولين في القسم فأجابني : تدخلت مايكروسوفت كالعادة( طبعا تدخل بلجيتس دائما نقدي وليس تحسيني). وانا من وجهة نظري ان هذه هي سياسة مايكروسوفت لترويج نظامها ( لا نقول الفاشل ولكنه ليس الافضل) ويندوز.

اسف سوف اقطعك من كتابة الكود، ادخل هنا لدقيقتين فقط

http://www.shbab1.com/2minutes.htm

#10

بالنسبة لـ netbeans فهناك برامج مشابه له اسمه eclipse و انا استخدمه ..

http://eclipse.org

بالنسبة للجافا, فأفضل ما فيها هو التنظيم و الـ API الغني جدا جدا .. و الـ documentation للـ API ايضا قوية ..

بصراحة بعد ما تتعامل مع API الجافا ستنقرف من الـ STL التابعة للـ ++C و ستحس بالفرق.

http://java.sun.com/j2se/1.5.0/docs/api/index.html

بس يمكن تحتاج شوية وقت علشان تعرف طريقة تنظيم الـ api

من ناحية التنظيم فاولا هي object oriented بشكل كامل, كما ان نظام الـ packages ممتاز لتنظيم العمل و تقسيم المشروع الى وحدات عدة.

من ناحية التصميم على طريقة visual, فللأسف هذه اعتقد انها نقطة ضعف في جافا ..

الـ api الخاص برسم النوافذ موجود و اعتقد انه افضل بكثير من الـ api الخاص بوندوز .. (هناك AWT و هناك Swing و هو الأحدث, و كلاهما من sun, و هناك SWT و هو جزء من مشروع eclipse)

لكن المشكلة انه يبقى معقدا .. و كلما كبر حجم المشروع زاد تعقيد الكود و قلت امكانية الصيانة .. عموما انا لم اشتغل كثيرا في هذا المجال لذلك لا استطيع اعطائظ فكرة جيدة عن الموضوع

برنامج eclipse يحتوي على visual editor plugin يمكنك من تصميم الواجهة على طريقة visual studio لكن المشكلة انه لا يعمل على ملف .res مثل فجول ستوديو .. بل يعمل على الكود مباشرة, و الكود الناتج من التصميم عادة يكون معقد شوية ..

يمكن انا ابالغ شوية .. المختصر ان api الـ gui افضل بكثير من وندوز .. لكنه يبقى معقد.

اعتقد انك من الافضل ان تقوم اولا بتصميم الواجهات من الكود مباشرة لكي تتكون لديك فكرة عن كيفية العمل قبل ان تجرب الـ visual editor

بالنسبة للبرمجة المنخفضة المستوى, فجافا ليست مصممة لذلك, و ان كنت تستطيع فعل ذلك عن طرق كتابة الكود بالسي ثم دمجه مع جافا .. لكن في هذه الحالة لن يكون البرنامج صالح لكل الانظمة.

من ناحية الـ compiler فهو مجاني لكن لا ادري فيما اذا كان مفتوح المصدر ..

#11

صن انهت النقاش حول هذه النقطة... جافا لن تكون مفتوحة المصدر.

اسف سوف اقطعك من كتابة الكود، ادخل هنا لدقيقتين فقط

http://www.shbab1.com/2minutes.htm

#12

الأخ أبو مازن :

أنا آسف جدا فقط بحثت في هذا المنتدى لفترة قصيرة و لم أجد طلبي بشكل دقيق لذلك اضطررت الى اضافة هذه المشاركة .... مع العلم أنني من أكثر الأعضاء –يمكن- نقدا لطرح الأسئلة المتكررة –بامكانك مراجعة مشاركاتي القديمة في منتدى C++- .... على كل شكر لك على سعة الصدر

من أجل جوابك على السؤال / 4 / :

أنا استعملت أحد برامج Siemens PLC مبني على الجافا و يعمل على عدد لا بأس به من منصات التشغيل و يتصل بالوسط الخارجي عن طريق منفذ الـCom !!!!! و بالمناسبة قمت بتجربة البرنامج علىLinux و Windows .... بالتالي هذا الأمر مناقض لمقولة أنه من أجل الوصول الى الأشياء الدقيقة يجب يعمل التطبيق على نظام تشغيل واحد !!!!

من أجل جوابك على السؤال / 5 /

أنا آسف يبدو أن تعبيري لم يكن واضحا بشكل كافٍ .... أقصد بالمصرف أي الـ Compiler و هو التطبيق النواة الذي يقوم بتحويل الملف النصي الى تطبيق عادي ..... بما أنك ذكرت أنه مجاني فهل هو مفتوح المصدر .

مدونتي

http://mbnoimi.net

#13

الأخ hazzoom :

بالتأكيد تعمل C++ على Linux و لقد عملت على Borland Kylix 3 و أنتجت عدد لا بأس به من التطبيقات لكن هدفي الرئيس هو تنفيذ برامج تعمل على عدد أنظمة تشغيل ، لكن بشرط أن لا تؤثر هذه النقلة النوعية على جودة التنفيذ و الأداء .

مدونتي

http://mbnoimi.net

#14

الأخ المبتدئ جدا –الخبير جدا-

أولا شكرا لك .... ثانيا من ناحيتي لقد اطلعت على مبادئ جافا الأساسية و لاحظت وجود فروق ليست بكبيرة بين C++ و Java و بالتالي بامكاني الانتقال بشكل سريع الى البرمجة المرئية خلال زمن على الأكثر شهر تقريبا (حسب تقديراتي) فالوقت ليس ملكي (العام الدراسي يقترب) ..... أما من ناحية مبرمجي منصات Microsoft فأنا كنت منهم و أملي بالله كبير لكي أتخلّص من قوالب ميكروزفت اللعينة لأنني عانيت الأمرين من أساليب ميكروزفت الاحتكارية و خاصة لأنني أتعامل مع الآلات و بالتالي نطاقي البرمجي كله صناعي و طبعا Windows 2K منع معظم السماحيات للوصول الى العتاد الا عن طريق M$ Drivers .

من أجل جوابك على السؤال / 3 /

لم أقصد بسؤالي اداة المشاريع فقط بل تسهيل التصميم المرئي للعناصر و فوائد عديدة لا يتسع المكان لذكرها لأنها تتعلق بأساسيات احداث المكونات ، لكن بشكل مختصر اليك هذا المثال :

بفرض أنني أريد استعمال زر في تطبيقي فيه خصائص خاصة مثل :

Drop Shadow ، Alpha Blend ، يأخذ شكله بيضوي -بدلا من مستطيل كالعادة-

فهل يعقل أن أقوم بتشتيت تركيزي على برنامجي و الاهتمام بوراثة class الزر العادي و تعديله بالشكل الذي أريده !!! طبعا هذا مستحيل ..... في حال كنت أستعمل Borland C++ Builder كل ما علي هو البحث في الانترنت على كلمة VCL Button لأجد آلاف الصفحات التي تعطيني مكونات مسبقة الصنع كل ما علي هو ارفاقها ضمن مشروعي و تشغيلها بشكل مرئي و كأنها زر عادي مثل عنصر الزر المرفق مع الـ IDE و بالتالي أقوم بتعديل الخواص لهذا الزر بشكل مرئي دون الحاجة لكتابة آلاف أسطر الشيفرة ..... طبعا هذا مثال بسيط جدا

ممكن تعطيني رأيك بشأن التحكم بالمنافذ على المستويات المتعددة (راجع ردي على الأخ أبو مازن)

مدونتي

http://mbnoimi.net

#15
hasan_aljudy كتب:
برنامج eclipse يحتوي على visual editor plugin يمكنك من تصميم الواجهة على طريقة visual studio لكن المشكلة انه لا يعمل على ملف .res مثل فجول ستوديو .. بل يعمل على الكود مباشرة, و الكود الناتج من التصميم عادة يكون معقد شوية ..

يوجد محرر للجافا من الموقع http://www.intellij.com و تصميم الواجهات يكون على ملفات xml و الكود يكون نظيف جداً من تصميم الواجهات :)

#16

الاخ hasan_aljudy

مشكور على المشاركة ..... بالفعل لقد اطلعت على بعض أساسيات اللغة و وجدتها رائعة التنظيم .....

من ناحية التصميم المرئي .... قيل لي بأن NetBeans يقوم بعمل تصميم مرئي سريع و أنا بدوري جرّبت JBuilder و لاحظت فيه ضعف نوعا ما بالتصميم المرئي لكنه على الرغم من كل ذلك أبسط من حزمة QT للتصميم المرئي و أبسط من Visual C++6 .... لكنه لا يرتقي لمستوى Kylix أو Visual C++.NET أو C++ Builder ...... مع ذلك أغلب الظن أن حل مشكلة الـ GUI تكمن في المكونات ( سؤال رقم / 3 /) فهي العصب المحرك لحل مثل هذه المشاكل .

بما أن Java غير مصممة للعمل بشكل منخفض المستوى (كما ذكرت لي سابقا) لماذا قامت شركة Siemens العملاقة بتحويل تطبيقاتها الى الجافا (راجع ردي على الأخ أبو مازن) ؟؟؟ ألا تعتقد أنه توجد طريقة ما للوصول الى العتاد ..... بالواقع أن محتار ...... لقد عملت على برنامج Siemens لمدة 3 أشهر و جرّبته على عدة أنظمة تشغيل و عمل بكفاءة عالية جدا دون أية ثغرات .

مدونتي

http://mbnoimi.net

#17

انظر إلى هذه الشفرة:

Button b = new Button("Plat Form Independent Button();
Frame frame=new JFrame("Platform Independent Frame");
frame.add(b);

هذه الشفرة ستعمل في جميع أنظمة التشغيل... لكن ماذا يحدث خلف الكواليس؟؟

طبعا هذا يشتغل على المحرك الافتراضي للجافا، المحرك 500 حصان على اللينكس مثلا، سيعرض نافذة جميلة الشكل، أما محرك الجافا على الوندوز سيظهر نافذة وندوز!!

ماذا يحدث؟؟ المحرك ينادي شفرة تناسب نظام التشغيل، وفي الغالب هذه الشفرة بالسي أو سي ++ ،، وهذا ما نقصد بـ JNI أو Native interface.

تستطيع أن تبرمج Com, ports أو أي شيء آخر باستخدام الجافا لأن بحوزتنا Java COMM API (لأن المحرك يدعمه) ومن خلف الكواليس تعمل شفرة مناسبة تدخل في النظام! سواء كانت وندوز أو لينكس أو غيرها!

عندما نقول أنك لا تستطيع الوصول إلى الأجزاء الداخلية للحاسب فنقصد الوصول المباشر!! لاحظ معي أني صنعت Button لكن JVM هو الذي ينادي ويصنع Button بشفرة خاصة بنظام التشغيل! هل فهمت قصدي؟ أرجو ذلك!!

خذ المثال الثاني: أنت تعرف Button, TextField, Frame, List وغيرها... وتعرف أيضا Tree أليس كذلك؟ هل تعلم أن Tree لا تدعمها الجافا؟! ولا يمكنك صنع Tree

Tree t=new Tree();  //this will not compile
frame.add(t);

لماذا؟؟؟ Tree موجود في النظام وندوز وهو طبعا مصنوع بلغة خاصة سواء كانت سي أو غيرها،، السبب في عدم دعم Tree في JVM لأن بعض أنظمة التشغيل الأخرى لا تدعمها!!

فلو استعملت Tree لما اشتغل برنامجك في أنظمة أخرى لأن الأنظمة الأخرى لا تدعمها!

لاحظ معي أني أستطيع فتح ملف، فتح اتصال Port القراءة من COM ، لأن JVM تفعل هذا عني بشفرة C++ مخصصة لنظام التشغيل!

عندما تقول أن Semeins صنعت معداتها بالجافا،، هذا يعني أنك ستصل إلى الدقائق من خلال JVM. و JVM الخاص بكل جهاز سينادي شفرة خاصة بالنظام لعمل المطلوب.

خذ مثال آخر:

برامج الجافا للجوال،، نحن نكتب في الشفرة

TextField text = new TextField();

لكن عند تنفيذ هذا الأمر في جوال نوكيا 6600 ستظهر لنا شاشة جميلة بألوان وتحكم ممتاز واختصارات وأشياء جميلة.. أما في i-mate فستظهر TextField خاصة بالنظام. وسيظهر TextField مختلف في جوال آخر،،، لكن في النهاية يفي بالمطلوب!

لاحظ أننا لن نستطيع أبدا أن نصل إلى إمكانيات TextField المتطور في i-mate!! لكننا سنستخدم فقط المواصفات المتوافقة في جميع TextField!!

نفس الشيء في Com وغيرها،، نحن نصل إليها عن طريق JVM إذا دعمتها!

لاحظ أننا لن تستطيع الوصول إلى الذاكرة أو التحكم فيها مثلا!، لن نصل إلى خواص نظام تشغيل معين! أرجو يكون واضحا!

ملاحظة نحن نستعمل JTree عوضا عن Tree وهذه تقنية لها سياق آخر!!

#18

الأخ صلاح الثبيتي :

شكرا لك على الرابط لكن هناك مشكلة في أن محرر الشيفرة يكاد أن يكون مستقل عن محرر الـ GUI و هذه معضلة في التطبيقات الكبيرة الحجم (معظم التطبيقات التي أقوم ببنائها تأخذ أشهرا أي أنها كبيرة نوعا ما)

مدونتي

http://mbnoimi.net

#19

الأخ أبو مازن :

أفهم من كلامك أنه من المستحيل الوصول لأي من المنافذ على جميع نظم التشغيل .... و في حال أردت الوصول للمنفذ فانه يجب علي استعمال JNI و بالتالي لن يعمل تطبيقي الا ضمن بيئة نظام التشغيل الذي تمت ضمنه كتابة JNI .... على كل لقد قمت بالبحث عن مصادر حول هذا الموضوع و لم أجد طلبي بشكل دقيق حتى الآن الا أنني وجدت المستند يتحدث عن JNI و أقتبس منه الفقرة التالية :

The definition of Java 2 Platform, Standard Edition includes JNI, the Java Native Interface. Most Java developers will never need to use it, but the interface is invaluable in certain situations because it provides the only way for Java byte code to interact directly with application code that has been compiled to the native machine instructions for the host microprocessor. JNI is most often used as an ``escape valve'' to enable access to platform functionality not yet supported by the Java programming language. For example, you could use JNI to integrate with native code that communicates with a peripheral device, such as a scanner, connected to a system via a USB port.

طبعا هذه مشكلة كبيرة بالنسبة لي ..... أي بهذه الحالة لن أستفيد من انتقالي للجافا ، لأن هدفي الأساسي هو تشغيل التطبيق على أكثر من نظام تشغيل .... أنا محبط ؟؟!؟!؟!؟!؟

لكن الغريب - و أعود لـ Siemens – لماذا تطبيقاتهم تعمل على عدة أنظمة تشغيل بالرغم من استعمال هذه التطبيقات لمنفذ الـ Com ...... لم أفهم آلية العمل ؟؟؟

هل بامكانك أخي أن تعطيني تطبيق صغير مكتوب بالجافا للتحكم بالمنفذ ..... أنا الآن أبحث في http://sourceforge.net/ عسى و لعل أن أجد بريمج خاص بطلبي .

تم تعديل هذه المشاركة بواسطة C&DEL في 27 أغسطس 2005 في 09:10

مدونتي

http://mbnoimi.net

#20

إذا كانت فقط مسألة الComm، فهو مدعوم من قبل جافا،، لكني كنت أتكلم عن الأشياء التي لا تدعمها الجافا!

http://java.sun.com/products/javacomm/index.jsp

#22

اذا كانت طريقة التعامل مع الهاردوير هي نفسها في كل الانظمة و الاجهزة, فجافا تستطيع حل المشكلة .. و ذلك عن طريق توفير واجهة واحدة, و لكنها تعمل بطريقة مختلفة خلف الكواليس.

مثل الدايركت اكس: و هو واجهة للتعامل المباشر مع الـ video card و لكنها توفر لك القابلية للتعامل مع جميع انواع الكاردات .. كيف؟

هل توفر لك واجهة موحدة, و يبقى على كل شركة تصنع بطاقة فيديو ان توفر في درايفراتها دعم لهذه الواجهة.

مثلا, هذه الـ Com (و أنا لا اعرفها) هل الطريقة العامة للتعامل معها تتشابه في كافة الاجهزة و الانظمة؟ ام انها تختلف من نظام الى نظام؟

اذا كانت طريقة التعامل واحدة, فمعنى هذه انه بالامكان توفير واجهة استخدام api موحدة.

طبعا انا لا اعرف شي عن الكوم و الهاردوير .. لذلك لا استطيع الافادة في هذا المجال, و لكن الظاهر ان هناك دعم لها. :)

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 28 أغسطس 2005 في 06:58

#23

مشكورين اخوتي الكرام ..... هل بامكاني اضافة مزيد من الأسئلة .... حتى الآن لم تتم الاجابة على السؤال /3/

/index.ph...ndpost&p=375101

مدونتي

http://mbnoimi.net

#24

7. ما هي أكثر محركات قواعد البيانات دعما و انتشارا على مستوى الـ Java من ناحية تطبيقات Client-Server و Client فقط

8. في M$ Windows تحتاج التطبيقات التي تستعمل نسق XML الى المفسّر M$ XML ، فهل تحتاج Java لمثل هذه المفسّرات ؟ ، و هل يتم دعم XML بالأصل ضمن تطبيقات Java ؟

9. هل تحتوي Java على مكتبات تطوير للمعالجات العالية المستوى للـGraphics مثل مكتبات GDI و

GDI+ الخاصة بـ Visual C++ ، أو Canvas الخاصة بـ Kylix و C++ Builder ؟

مدونتي

http://mbnoimi.net

#25

7- الجافا ليست حكرا على نظام، يمكنك استعمال أي قاعدة بيانات وتقرأ وتكتب بنفس الطريقة في جميعها. JDBC.

8- يوجد في جافا مفسر XML وهي السباقة في هذا المجال.

9- توجد مكتبة AWT وهي المكتبة المدعومة من جميع أنظمة التشغيل!

توجد مكتبة Swing وهي الطريقة المفضلة، وهي حرة من جميع أنظمة التشغيل لأنها مبرمجة بالجافا كاملة،، وتدعم جميع المكونات!

توجد مكتبة من IBM نسيت اسمها وهي أسرع من Swing ، والله أعلم!

صفحة جافا صن، فيها كل ما تريد، وخاصة أنك تقرأ الأجنبية!

www.java.sun.com

بالتوفيق!!

تم تعديل هذه المشاركة بواسطة أبومازن في 30 أغسطس 2005 في 01:35

هذا الموضوع مغلق.

مواضيع مشابهة