سؤال

كنت أبحث حولي لأرى ما إذا كان هناك ما يعادل Django/RoR في Java.

وجدت:

هل سبق لأحد أن جرب تلك الأطر، أو هل تعرف أي شيء آخر؟هل هم أسرع من جانغو/رور؟

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

المحلول

اكتشفت الكؤوس منذ حوالي السنة و لم ينظر إلى الوراء.فإنه يأخذ الكثير من الأفكار من روبي على القضبان (الأصل كان اسمه رائع على القضبان) ، النظم الإيكولوجية الغنية من plugins / extensions.الكؤوس و الأساسية الكؤوس اللغة (مجاميع جافا) تجعل الفرح البرنامج - يمكنك حقا التركيز على الأساسيات.لها GORM وظيفة (طبقة أعلى من السبات) هو أيضا قوية جدا ، بالإضافة إلى البرنامج المساعد هو واحد من اثنين ضخمة الأسباب للتحقق من ذلك (يمكنك استخدامه في تطبيقات جافا كذلك).

مع الإصدار 1.2 ، أشعر أنه ميزة الغنية و ناضجة بما فيه الكفاية أن يكون شيئا أن أي مطور أن يكون في toolbelt.

بقدر الأداء, إنه بالتأكيد أقل من النقي جافا, ولكن لديك كل شيء من الربيع / السبات / J2EE المتاحة لك لتحسين و يمكنك دائما تسقط في النقي جافا لبعض الحرجة قطعة من التعليمات البرمجية.كانت هناك بعض التجارب الأخيرة مع السماح لتشغيل جزء من رائع التعليمات البرمجية باستخدام أسلوب ثابت ، إلى جانب invokedynamic الدعم ، ينبغي أن توفر ضخمة يعزز الأداء.

أخرى منها أن تحقق في جافا هي الربيع رو ، و AribaWeb.

تحديث على أساس مؤهلات إضافية

والتدرجية ، الإنتاجية ، الوثائق الكريم الموارد الاستهلاك

  • قابلية - هل ثبت جافا / الربيع / السبات كومة ، على الرغم من أنني لا يمكن أن أقول الكؤوس يوفر الكثير من نفسها.
  • الإنتاجية - هذا هو السبب الرئيسي لاستخدام الكؤوس.لديك أداء النفقات العامة ، ولكن الكؤوس هو ما كنت تستخدم عند وقت التطوير / الإنتاجية هو أكثر أهمية.
  • الوثائق - الكؤوس مستندات كبيرة ، وهناك على الأقل ثلاثة كتب جيدة مكتوبة على الكؤوس وحده.المجتمع هو مزدهرة ومفيدة جدا.
  • استهلاك الموارد - وهذا هو واحد المقايضة.الكؤوس (جزئيا بسبب الأساسية جافا كومة) هو كثيفة الاستخدام للموارد.إذا كنت بناء شيء مثل جوجل الكؤوس لن يكون الخيار.ومع ذلك ، في أي تطبيق ويب من أي التطور, كنت تفعل جيدا من أجل التخزين المؤقت الحل ، لذلك ينطبق هنا.

نصائح أخرى

شرائط يبدو أنه خفيف الوزن للغاية ويحتضن اتفاقية التكوين.

بعد استخدام الدعامات والويكيت والقضبان والنسيج، أنصحك بالنظر فيها نسيج 5.

انه يدعم

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

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

(تأكد أيضًا من إلقاء نظرة على T5 فقط - وليس T4,3,2,1 .....نظرًا لأنها مختلفة جدًا عن الإصدار الحالي)

المزيد عن السبب هنا.

فكر في المحاولة إطار الرفع.إنه أمر رائع حقًا.

في أي وقت تفكر فيه في مجموعة تطبيقات (اللغة، إطار العمل، إلخ...) تحتاج أيضًا إلى التفكير في ما تحاول حله ونوع مهارات البرمجة المتوفرة لديك.لقد وجدت أن مبرمجي Java الأكثر خبرة كانوا منتجين للغاية مع مجموعة Groovy and Grails مقارنةً بالمبرمجين المبتدئين.

لقد ذكرت ما يلي كمجالات مثيرة للقلق:

  • قابلية التوسع:من حيث ماذا بالضبط؟(مرات مشاهدة الصفحة في الثانية، # معاملات في الثانية، وما إلى ذلك...) بشكل عام، سيتم توسيع نطاق Groovy & Grails عندما يتعلق الأمر بعرض الصفحات، ولكن كما هو الحال مع أي حزمة تطبيق تستخدم ORM (في حالة Grails لديك GORM) هناك هو بعض النفقات العامة للنظر فيها.
  • إنتاجية:إحدى المزايا الأساسية هنا - النماذج الأولية السريعة، والتطوير السريع هو أمر سهل للغاية مع Groovy & Grails، على الرغم من أنه من المفيد أن يكون لديك أشخاص من الموظفين الذين طوروا في Java أو Ruby لفهم ما يفعله إطار عمل Grails بالفعل "تحت الغطاء".هناك الكثير من المكونات الإضافية لواجهة المستخدم التي تساعد في إنشاء صفحات تشبه الويب 2.0 بسرعة كبيرة.
  • توثيق:هناك عدد متزايد من الكتب المرجعية عالية الجودة التي يتم كتابتها لصالح Groovy & Grails.كلاهما ينضج بشكل جيد للغاية خلال العامين الماضيين.من المؤكد أن الأمور لم يتم توثيقها جيدًا فيما يتعلق بالكثير من العمل الداخلي لإطار عمل Grails عند مواجهة أخطاء/مشكلات (معظم المخرجات من إطار العمل غامضة أو غير موجودة في أحسن الأحوال عند مواجهة خطأ).إذا كنت على استعداد للتشمير عن سواعدك وتكون واسع الحيلة في السير خلال الأعمال الداخلية، فلن تشعر بخيبة أمل مع هذه المجموعة.مرة أخرى، سيجد المبرمجون ذوو الخبرة هذا أمرًا طبيعيًا في حين أن المزيد من الأشخاص المبتدئين قد يشعرون بالإحباط في بعض الأحيان.
  • استهلاك المصدر:هناك أعباء إضافية، ولكن مع وجود معظم الأجهزة الموجودة اليوم (محلية أو في السحابة)، لن أقلق كثيرًا بشأن استهلاك الموارد المادية لمثيل تطبيق معين.

أتمنى أن يساعدك هذا.

I don't know about the Play Framework, but to answer the second question, we are doing some projects with Google's مجموعة أدوات الويب.يمكن أن يكون من المفيد التدقيق بها.
حظ سعيد!

ماذا عن JRoR

لم أجربه بنفسي، لكن كلياتي تستمتع باستخدامه شرائط

هناك كتاب وكل شيء.

ربيع رو يدعي أنه حل.

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

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

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

في رأيي، Grails رائعة ولكنك تحتاج إلى الكثير من الخبرة في استخدامها لتكون منتجًا، وإلا فسوف تخسر الكثير من الوقت مع الأدلة.لذا، إذا لم تكن هذه هي حالتك، فيجب أن أوصي بـ Play!خاصة إذا لم تكن على دراية بـ Groovy

لا أعرف شيئًا عن Play Framework، لكن الربيع MVC أو الدعامات معا سوف بيات شتوى سوف تقدم وظائف مماثلة.

هناك العديد من الخيارات الأخرى المتاحة.تحتاج بشكل أساسي إلى إطار عمل MVC (Spring MVC وStruts وWicket) وأداة ORM (Hbernate وiBatis).بالطبع ستحتاج إلى دمج المكونات المطلوبة بنفسك، ولكن تم ذلك بالفعل عدة مرات وستكون قادرًا على العثور على الكثير من المعلومات.

لست متأكدًا مما إذا كان Spring MVC وHibernate يوفران نفس سهولة الاستخدام التي توفرها Ruby on Rails (في الواقع، أنا متأكد من أنها أكثر تعقيدًا ...).أعتقد أن Play Framework يشبه إلى حد كبير Ruby on Rails، لكنني لم أفعل ذلك بنفسي وشاهدت التسجيل الرقمي للشاشة وقرأت بعض الوثائق عنه، لذلك إذا كنت تريد الحصول على تجربة مماثلة للتطوير باستخدام RoR، فأعتقد أنه يمكنك ذلك من الأفضل تجربة شيء مثل Play بدلاً من Spring MVC with Hibernate.ميزة الأخير هي أنه قوي جدًا وقادر على التكيف مع نموذج بيانات موجود على سبيل المثال (من ما أعرفه عن RoR، هذا ليس تافهًا جدًا في RoR).إطار عمل آخر يمكنك وضعه في الاعتبار هو Groovy on Grails.على الرغم من أنه لا يستخدم Java (يستخدم Groovy)، إلا أنه يشبه إلى حد كبير RoR.إنه يستخدم Spring و Hibernate تحت الغطاء (إذا كنت على صواب) وميزة Groovy هي أنك لا تملك الكتابة الثابتة الصارمة لـ Java.تستفيد Ruby on Rails وDjango بشكل كبير من الطبيعة الديناميكية للغة التي يتم تنفيذها بها، وهي ميزة تفتقدها Java بسبب كتابتها الثابتة.

يحرر:آه ، لقد ذكرت Grails بالفعل في سؤالك ...

إذا كان Grails خيارًا (وهو في الواقع ليس Java ولكنه إطار عمل رائع) فإن الخيار المستند إلى Scala يرفع سيكون الإطار خيارًا أيضًا.

خيار آخر هو منتشر, ، والذي يحاول الحصول على الحد الأدنى من تكوين RoR بينما لا يزال موجودًا في Java.في قائمتك، إطار Play Framework هو الوحيد الذي يحتوي على هذه الميزة، بينما يوجد الآخرون في JVM، لكنهم ليسوا Java (إذا كان هذا مهمًا بالنسبة لك على الإطلاق).

ماذا عن vرابتور؟- يستخدم Spring كحاوية DI ومحرك تحكم/عرض مشابه لـ Rails Action-Pack.

يدعم AribaWeb أيضًا تطبيق Groovy.تحقق من الميزات الأخرى لدينا في http://aribaweb.org/ واكتشف نهجنا في جعل تطوير الويب منتجًا.

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

لقد كنت استخدم http://www.ninjaframework.org/ بالنسبة للخدمات الصغيرة وهو قريب جدًا من معظم نماذج mvc، إذا كنت تستخدم Rails أو asp.net mvc أو nancyfx، فأنت على ما يرام.إنها قريبة جدًا من تلك الفلسفة وهي رائعة حقًا وسهلة الاختبار.الجانب السلبي الوحيد هو عدم وجود الكثير من الوثائق، ولكنه يتبع نمط mvc بشكل وثيق جدًا.إنه لا يستخدم أي شيء خاص في إطار العمل لذا فهو حل قائم على Java خالص.وهذا يعوض النقص في التوثيق.

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