غرابر مقابل رو - لماذا يضغط Springsource على تقنيتين متشابهتين جدا؟

StackOverflow https://stackoverflow.com/questions/2004669

  •  18-09-2019
  •  | 
  •  

سؤال

Springsource (الآن VMware) لديه تقنيتين متشابهتين للغاية: الشجاعة ورواب الربيع. لقد كنت أستخدم الشجاعة، لكنني أرى أن Springsource يعمل بنشاط على شيء منافس لهذه التكنولوجيا وهذا يجعلني قلقا بشأن مستقبل الشاجرات.

هل يعرف أحد كيف تتعلق هذه التقنيات، هل سيتم دمجها، وسيتم التخلي عن أحدهم؟

علاوة على ذلك، هل هناك أي اختلافات فنية مهمة من الشجاعة وروها؟

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

المحلول

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

لدينا كل من التقنيات لأن رو والشاحات مختلفة للغاية في المستويات الفلسفية والتنفيذية (كما لوحظ بالفعل في الردود الأخرى). تقترب كل تقنية لغته الرئيسية (Java أو Groovy) ونموذج التشغيل (وقت التطور أو وقت التشغيل) مع فلسفة "كيف نجعل القيمة القيمة جيدة بشكل لا يصدق باستخدام هذه اللغة وزيادة نموذج التشغيل؟". على هذا النحو، سترى كل تقنية تبني أسلوبا مختلفا يزيد من هذه المجموعة (جافا + جافا + Dev-Tev-Tev-Runtime + Grail's Groavy + & الفوائد المتناسبة.

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

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

نصائح أخرى

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

تم طرح هذا السؤال مرة أخرى عندما تم الإعلان عن رو و Graeme Rocher (تقود الرصاص) أن كلا الأطرا لها مكان في الربيع ويتم دعمه على قدم المساواة.

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

الشجاعة ورو مختلفة جدا. الفرق الرئيسي الأول هو اللغة المستخدمة. بينما يمكنك كتابة رمز Groovy مثل رمز Java التقليدي الذي لا تزال بحاجة إلى تبعيات Groovy لتشغيل تطبيقات الشجر. أن تكون مثمرة قدر الإمكان في الشجاعة، تحتاج أيضا إلى فهم الميزات في Groovy غير جزء حاليا من Java مثل الإغلاق. هناك اختلاف آخر هو الفلسفة التي تتخذ الأطر لتوليد الكود. تولد القضبان الكثير من الأساليب في وقت التشغيل أثناء قيام Roo بإنشاءهم عند الطلب أثناء عملية التطوير. لا يوجد لديه خلف الكواليس السحرية قبول استخدام البرمجة الموجهة نحو جانب الجانب، ويمكنك عرض جميع التعليمات البرمجية التي يولدها Roo. على سبيل المثال في Roo، يجب عليك استخدام أمر لإنشاء طرق مكتشف ديناميكية مثل FindBybook () ثم عرض التعليمات البرمجية التي تم إنشاؤها في ملفات .aj. في Grains يتم إنشاء طريقة FindBybook () في وقت التشغيل، ولا يمكنك عرض التعليمات البرمجية التي تم إنشاؤها. يتيح لك ROO أيضا التوقف عن استخدام الإطار إذا اخترت أثناء الاستمرار في الحصول على تطبيق قيد التشغيل عن طريق دمج جميع التعليمات البرمجية التي تم إنشاؤها في ملفات .java العادية. بعد ذلك ليس لديك أي تبعية على أي مكتبات Roo في وقت التشغيل أو وقت التصميم. إذا قررت أنك لا تحب الشعور، فلا تتوقف عن استخدام الإطار أثناء الاستمرار في الحصول على تطبيق عمل.

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

  • يستخدم ROO "Java Standard Java"، ويستند الشجاعة على Groovy
  • الشجر هو إطار ويب، راو ليس كذلك

رو أن تشبه نظام سطر الأوامر الشجر (مثل create-app, create-domain-class, test-app اكتب الأوامر الموجودة في الشجاعة). لن أفاجأ برؤية بعض "التلقيح الشامل" بين هذا الجزء من إطار الشجر ورو.

بن أليكس من Springsource يتحدث عن رو في هذه المقابلة وسيطلب منه عن الشجر مقابل رو. الفرق الرئيسي إلى جانب استخدام لغات مختلفة (Groovy VS Java كما ذكر آخر) هو أن Roo هو أساسا أداة وقت التطوير وتشارك أكثر في وقت التشغيل.

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

لا أستطيع أن أرى كيف يمكن دمجها حيث تم بناء الشجر على Groovy و Roo على Java.

لقد رأيت بعض التعليقات على القوائم البريدية في الشجر التي أشارت إلى أن المؤلفين يعتقدون أن روا موجودين فقط كحجر خطوة للنباتات! ومع ذلك، فأنا شخصيا بالنظر إلى التبديل المحتمل من وجوه إلى رو. أعتقد أن الفرق الرئيسي هو بين اللغات الديناميكية والثابتة القانونية - بالنسبة لي هذا ضخم. أحب العديد من ميزات الشجر ولكنني أفضل دعم IDE والتحقق من وقت الترجمة من لغة مكتوبة ثابتة. يشعر البعض الآخر بالضبط بالضبط، وبالتالي الخيول للدورات. ومع ذلك، فإن Groovy ثابتة حاليا تحت التنمية الشديدة حتى يعرف ما يحمله المستقبل.

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

إذا كنت ترغب في معرفة تفاصيل التحليل، زيارة @ http://krishnaßblog.com/2012/08/08/ro.Vs-Grails/

استكشمنا الميزات التالية في كل من هذه وما يليها هي نتائجنا. الحكم النهائي نحن لسنا متأكدين من أننا سوف نستخدم إما واحد، ما زلنا نستكشف

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