سؤال

أنا أعمل على تصميم وبناء تطبيق سطح المكتب.أفكر في استخدام Eclipse أو Netbeans لقاعدة هذا التطبيق.ومع ذلك، لم أقم بالبناء على أي من هذه المنصات مطلقًا.أنا شخصياً أميل إلى استخدام netbeans لأنه يبدو مثل هذا النظام الأساسي وهو منحنى تعليمي أسهل.ولكن، أردت أن أسأل الأشخاص الذين قاموا بالفعل بالبناء على هذه الأنظمة الأساسية قبل ذلك، ما هو النظام الأسهل في الاستخدام من قبل؟

تعريفي الشخصي لليسر هو كما يلي:

  • من السهل البدء بها

  • واجهة برمجة التطبيقات المتسقة والمنطقية

  • توثيق جيد

  • سهل البناء والنشر

شكرا جزيلا،

جوش

هل كانت مفيدة؟

المحلول

لا أستطيع أن أقول ما يكفي عن منصة Eclipse RCP.أوصي به لأي تطوير لتطبيق Java لسطح المكتب.

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

إذا كنت مهتما راجع هذا الكتاب: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

نصائح أخرى

  • سهل الاستخدام:لدي خبرة في التطوير على Eclipse ويجب أن أقول أنه ليس من السهل فهم نموذج التطوير الخاص به.بالتأكيد بالنسبة للأشياء الأساسية، فهي تحتوي على بعض المعالجات التي تجعلها أسهل، ولكن بالنسبة لشيء أكثر تعقيدًا، يكون الأمر صعبًا.لا أعرف شيئًا عن Netbeans، لكني سمعت أنه أسهل.
  • واجهة برمجة التطبيقات المتسقة:أعتقد أن Eclipse يفوز في هذا الجانب.إنه يعمل عبر OSGI (يجلب بعض التعقيد) ويحتوي على ملحقات إضافية لكل شيء تقريبًا.يبدو أنها المنصة المفضلة لتطوير المكونات الإضافية، لذا يمكنني أن أفترض أنها موثوقة.
  • توثيق:الكسوف يفوز إلى حد بعيد.المساعدة المقدمة من موقع Eclipse ممتازة وتحتوي القائمة البريدية على الكثير من أسئلة المستخدمين.

لقد استخدمت Eclipse كقاعدة إطار عمل ولكن في الغالب كان يستخدم SWT فقط - لم نستخدم الكثير من RCP حقًا.

يعتمد الأمر حقًا على ما تكتبه، ولكن مما تعلمته من استخدام Eclipse، فهو مناسب فقط لكتابة تطبيق يتضمن تحرير البيانات باستخدام طرق عرض مختلفة (تمامًا مثل تحرير التعليمات البرمجية).

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

ستستخدم Swing لتطوير تطبيقك لأن أي إطار عمل آخر للنوافذ يكون مفيدًا فقط إذا كانت لديك معرفة سابقة أو الخلفية المناسبة.

يمكنك الاعتماد على http://www.javadocking.com/ لتبسيط لك التطبيق.

إذا كانت متطلبات تطبيقك تركز بشكل كبير على واجهة المستخدم، فربما يمكنك النظر في اتجاه آخر مثل Adobe Air.

يتمتع RCP بمنحنى تعليمي أكبر، ولكن بمجرد أن تتعلم الأساسيات، يدعم Eclipse IDE نفسه بناء تطبيقات RCP بشكل جيد للغاية.لقد قمت فقط بإنشاء مكون إضافي لـ NetBeans (وليس إنشاء تطبيق كامل)، وكان منحنى التعلم أقل من تطبيق RCP.الكتاب منصة Eclipse Rich Client:تصميم وترميز وتغليف تطبيقات Java(TM). يوفر مقدمة مفصلة لبناء تطبيقات RCP.

يرجى الاطلاع على بعض التطبيقات مفتوحة المصدر في http://www.Eclipse.org/community/rcp.php قبل الاعتقاد بأن RCP مخصص فقط لإنشاء محرر نصوص.شكرًا.

لدي مهمة مماثلة وأفكر أيضًا في أطر عمل مختلفة.لدي بعض الخبرة مع Eclipse (حوالي 4 أشهر من تطوير RCP) والآن Netbeans (تم اللعب به لبضعة أيام).IMHO هذه الأطر معقدة للغاية.لقد انتهى بك الأمر إلى تصحيح الأخطاء في أدوات تحميل المكونات الإضافية الخاصة بـ Eclipse في محاولة لمعرفة سبب حصولك على ClassNotFoundException أو NullPointer.نفس القصة مع NetBeans:يقرأ بطريقة ما في مكان ما ملفات تكوين xml إلى حد ما وينشئ واجهة مستخدم منها، وهذا رائع، طالما أنك تتبع البرنامج التعليمي.وبالطبع لا يمكنك تطوير RCP المستند إلى Eclipse باستخدام أي بيئة تطوير متكاملة أخرى، كما أن NB يشعر بغيرة شديدة بشأن استخدامه (ما لم تقم ببعض الاختراقات كما فعلت).ما أفتقر إليه هو طريقة واضحة لتصحيح أخطاء سلاسل الرسائل الخاصة بي من الإجراء الرئيسي إلى الإجراء المنجز.وبدلاً من ذلك، يتم إخباري دائمًا بما يجب علي فعله لتجنب الاستثناءات.ولذا يجب أن أبقي أصابعي متقاطعة في كل مرة أحاول فيها سحب شيء جديد.ولا ينجح الأمر أبدًا في المرة الأولى.الآن فكرت في الميزات التي أحتاجها وبحثت عن مشاريع أصغر تهدف إلى وظائف محددة مثل إدارة المكونات الإضافية على سبيل المثال.وهناك الكثير.ما عليك سوى تجميع قائمة بالوظائف التي تحتاجها والبدء في إضافة أطر عمل أصغر عن طريق دمجها في مشروعك.وهذا أمر منطقي أيضًا نظرًا لأن مشروعك يجب أن يستهلك ذاكرة وصول عشوائي أقل في النهاية.

لقد قمت ببعض العمل مع كليهما، ولكن فقط في تطبيقات بسيطة نسبيًا.يبدو أن كلاهما يتمتعان بقدرات متساوية تقريبًا.أنا شخصياً أفضل منصة Netbeans لأنها أكثر منطقية بالنسبة لي.

يجب عليك أيضًا أن تفكر في JSR-296، إطار عمل تطبيق Swing.فهو يوفر إطارًا أساسيًا لبناء تطبيقات Swing، وإدارة موارد التطبيق، والحالة، وما إلى ذلك، ولكن بدون الكثير من "الأمتعة" مثل Netbeans وEclipse.يحتوي Netbeans IDE على عدد من الأدوات لإنشاء التطبيقات على SAF.يرى https://appframework.dev.java.net/ لمزيد من المعلومات.

بدون معرفة المزيد عن طلبك، من الصعب توجيهك إلى نقاط القوة/الضعف المناسبة في المنصتين.

إذا كنت تريد حقًا تجنب الصيانة عبر الأنظمة الأساسية، فاعمل مع Swing.هذا يشتري لك جميع المنصات.يتطلب RCP مكتبات أصلية لكل نظام أساسي.

لقد كانت لدينا تجارب جيدة مع سوينغ.

سأستخدم Eclipse RCP عندما تحتاج حقًا إلى منصة مبنية على القمة، وليس فقط "الأدوات" مثل التأرجح أو سبحانه وتعالى.إن RCP عبارة عن صخرة صلبة ومتسقة ونموذجية ومرنة للغاية.بمجرد إتقانها، تحصل على فوائد كبيرة.نظرًا لكونه منصة، فهو يوفر لك الأشياء الأكثر استخدامًا - التفضيلات والتكوينات والتحديثات التلقائية وإدارة التخطيط والعلامات التجارية وأشياء من هذا القبيل.أنت تبني منتجًا، وليس تطبيقًا.لكن منحنى التعلم شديد الانحدار في البداية.

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

انظر إلى بعض التطبيقات مفتوحة المصدر على http://www.Eclipse.org/community/rcp.php قبل فتح ذلك RCP مخصص فقط لبناء الأشياء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top