الكؤوس - الرفع:ما هو الإطار الأكثر ملاءمة لأي نوع من التطبيقات؟[مغلق]

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

  •  11-09-2019
  •  | 
  •  

سؤال

لقد كنت أستخدم Grails خلال الأشهر القليلة الماضية وأعجبني حقًا، خاصة GORM.ومع ذلك، أنا مهتم بمصعد سكالا.لذلك، أود أن أعرف رأيك حول أي نوع من تطبيقات الويب أكثر ملاءمة لأي من هذين الإطارين أم أن الأمر مجرد مسألة ذوق، أي إطار يجب استخدامه؟

وأخيرًا، أي من هذه الأطر تعتقد أنه سيتم استخدامها أكثر في المستقبل؟لدي شعور بأن Grails بعيدة كل البعد عن الوصول إلى الكتلة الحرجة ولا تزال غامضة للغاية (في الأشهر القليلة الماضية أتيحت لي الفرصة للعمل مع شركات متوسطة الحجم وشركات ناشئة في مجال تكنولوجيا المعلومات تعمل في الغالب مع مكدس JVM ولم يكن سوى شخص واحد يعرف ذلك) استخدمت Grails) ولست متأكدًا حتى مما إذا كان من الممكن أن تصبح "RoR" لعالم Java (في الواقع تشير إلى انخفاض في النمو في الأشهر القليلة الماضية حتى لو كان للأطر الأخرى معدل نمو إيجابي).وأنا أحب تطبيق Groovy، فهو سهل التعلم حقًا ولكني لاحظت مدى بطئه في بعض المهام.

من ناحية أخرى، يبدو أن Scala أكثر شعبية (مؤشر Tiobe) وحقيقة أن Twitter يستخدمه الآن أعطاه حضورًا أكبر في عالم التدوين مع وجود الكثير من العشاق والكارهين الذين يثيرون ضجة كبيرة.وتشتهر بكونها سريعة وقابلة للتطوير.ومع ذلك، تبدو اللغة صعبة الفهم والتعلم إلى حد ما بالنسبة للعديد من المطورين (لذلك ربما لن تحظى بالمكانة السائدة أبدًا).الرفع غير معروف كثيرًا وقد قرأت بعض التقارير التي تفيد بأنه أكثر ملاءمة للتطبيقات الصغيرة (أقل من 20 فئة مجال).

من خلال رؤية عدد الكتب المنشورة، يهيمن Groovy-Grails حاليًا، لكن العديد من الناشرين لديهم كتب Scala عن الأعمال، لذلك أعتقد أن هذه الميزة لن تدوم طويلًا.

أخيرًا، لدينا مشكلة تتمثل في أن كلاً من اللغات وإطارات العمل لا تزال تعاني من ضعف دعم IDE (الأمر يتحسن يومًا بعد يوم ولكنه بعيد عما تتوقع متاجر Java أن يكون منتجًا).

لا أريد أن أشعل حروبًا مشتعلة، لكني سأكون مهتمًا جدًا بسماع آراء المستخدمين الآخرين.

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

المحلول

تعتبر Grails فكرة جميلة (ولكنها فقط "مسروقة" من القضبان) ولكن حقيقة أن الرجال الرائعين غير مهتمين بالحصول على دعم Eclipse المناسب يعيق نجاحها كثيرًا.لقد رأيت حتى أسئلة Eclipse لا يتم الرد عليها على الإطلاق في قوائم الكأس.

أتفق مع تيم على أن Netbeans 6.7 يقدم أخيرًا دعم النصف الأول من IDE مفتوح المصدر القابل للاستخدام لـ groovy/grails - وفي النهاية، سوف يتميز SpringIDE أيضًا بدعم أفضل groovy/grails.

السبب وراء حب العديد من مستخدمي Java لـ Java هو الكتابة الثابتة، والتي تمكن الأدوات من مساعدتك كثيرًا في العديد من الأشياء.يتم فقدان هذا مع لغة رائعة.نعم، يمكنني كتابة كل جزء مهم من التعليمات البرمجية في Java وما زلت أستخدم Grails - ولكن بعد ذلك، لماذا يجب علي، فقط لحفظ مجموعة من أسطر التعليمات البرمجية اللاصقة، أن أفعل ذلك بدلاً من تعلم استخدام إطار عمل Java بفعالية عالية؟

ليأتي إلى نهايته:لم ألقي نظرة بعد على scala، لكنني قمت ببناء بعض التطبيقات البسيطة باستخدام الكؤوس - وأنا أميل إلى العودة إلى Java، حتى إعادة تنفيذ كل تطبيق يحتاج إلى مزيد من التطوير في إطار عمل Java عادي - أعتقد أن wicket وSeam.

سألقي نظرة أيضًا على Scala/Lift، سمعت الكثير من الأشياء الجيدة عنه!

بالمناسبة:سأقارن المجتمعات وألقي نظرة على القوائم البريدية - كم عدد الأشخاص هناك، هل يحصلون على إجابات جيدة عن أسئلتهم المهمة؟

يبدو أن معدل عدم الإجابة على Grails يبلغ حوالي 50%، وهو ما أشعر أنه سيء.

نصائح أخرى

تأخذ الإجابة المقبولة هنا وجهة نظر جاهلة حقًا حول Groovy - فهي لغة حديثة وديناميكية (ديناميكية مقابل لغة ديناميكية).static هو جدل كبير في حد ذاته، وليس له أهمية خاصة هنا).هذا حسب التصميم، وبالتالي ليس عيبًا، بل مجرد فرق.يحتوي على الكثير من ميزات اللغة الحديثة التي لا تمتلكها Java مثل عمليات الإغلاق، والتعبير العادي الأصلي، والتكرار متعدد الأشكال، وبعض الكتابة الثابتة الاختيارية (مسألة نقاش، ولكن انظر أيضًا إلى ++groovy)، وبناء الجملة الأصلي للقوائم والخرائط، وما إلى ذلك. يمكن أن نرى المقارنة هنا http://groovy.codehaus.org/Differences+from+Java

لمعالجة السؤال الفعلي لـ Grails vs.ارفع، أود أن أقول إن Grails مرفوع اليدين.إنه يحتوي على SpringSource خلفه، وما عليك سوى إلقاء نظرة على صفحة المكونات الإضافية http://www.grails.org/plugin/category/all - لا يمكنني حتى العثور على المكونات الإضافية أو ما يعادلها المتاحة للرفع.تتصدر Grails أيضًا أحدث التقنيات الصديقة للسحابة، مع ميزات مثل دعم مراسلة RabbitMQ الأصلي ودعم GORM الجاهز لـ MongoDB وRedis.

يعد دعم Grails في netbeans 6.7 أمرًا جيدًا حقًا، بالإضافة إلى دعم فكرة intellij في Maia.

الكسوف لا يزال سيئًا جدًا.

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

أود أن أجيب على وجه التحديد على السؤال "لأي نوع من التطبيقات".يبدو أن الاختلاف الرئيسي بين فلسفتي Grails وLift هو أن Grails تفرض MVC بينما يبدو الرفع أكثر ليبرالية، أي.إنه لا يفرض MVC ولكنه يوفر طرقًا كافية لاستخدام MVC إذا كنت تريد ذلك.

يبدو أيضًا أن Lift ممتاز بالنسبة إلى "تطبيقات الصفحة الواحدة"، خاصة إذا كنت بحاجة إلى تنفيذ وظيفة دفع الخادم باستخدام تقنية مثل Comet (والتي من الواضح أنها لا تعني أنها ليست جيدة لأنواع أخرى من التطبيقات).من ناحية أخرى، يبدو أن Grails أفضل بالنسبة لتطبيقات "Enterprisy"، خاصة إذا كنت معتادًا بالفعل على Spring وHbernate ولكنك تريد أن يكون تطبيقك أكثر إيجازًا (باستخدام الاتفاقية عبر التكوين) مما سيكون عليه تطبيق غير Grails أن تستخدم هذه التقنيات.


مراجع:

  1. ببساطة ارفع، الفصل 13
  2. تطبيق صفحة واحدة

تنصل:
لقد بدأت للتو في استكشاف Lift وقمت ببناء بعض التطبيقات البسيطة باستخدام Grails.

مع كل تحسينات الأداء والتطورات في Grails2.0، ومع الدعم الكبير الذي يقدمه IntelliJ 11 لإطار العمل، والقدرة على إضافة أي تقنية ويب متقدمة تقريبًا إلى تطبيق Grails الخاص بك. لا أرى كيف يمكن أن يكون الرفع ميزة أو اختيارًا جيدًا.مجرد التفكير في استخدام لغتين مختلفتين في نفس التطبيق، والحاجة إلى خبرة مزدوجة في الفريق، وما إلى ذلك.

تم نشر السؤال الأصلي منذ أكثر من عامين وأعتقد أن الوقت أظهر على أي جانب هو اختيار مجتمع المطورين؛)

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