ما هي الأطر التي يجب استخدامها لتسهيل أول مشروع لإنتاجي؟

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

سؤال

أقوم بعمل أول غزو في Scala لتطبيق الإنتاج. يتم تعبئة التطبيق حاليًا كملف حرب. تتمثل خطتي في إنشاء ملف جرة من القطع الأثرية المترجمة Scala وإضافة ذلك إلى مجلد Lib لملف الحرب. تعزيزي هو تطبيق مدعوم من MySQL مكشوف عبر Jersey وسيتم دمجه مع موقع الطرف الثالث عبر استدعاءات HTTPClient. أنا أعرف كيفية القيام بذلك عبر جافا العادي. ولكن عند القيام بذلك في Scala ، هناك العديد من نقاط القرار التي أقوم بها.

  1. Scala 2.7.7 أو 2.8 RC؟
  2. JDBC عبر معاتب هل هذا API جاهز للإنتاج؟
  3. SBT مقابل Maven. أنا مرتاح مع Maven.
  4. هل هناك غلاف منظمة Scala Idiomatic لـ httpclient (أو هل يجب أن أستخدمه تمامًا كما في Java)؟

أحب أن أسمع تعليقاتك وتجاربك في البدء مع Scala.

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

المحلول

  1. أود استخدام 2.8.0. هناك الكثير من الميزات المفيدة في 2.8. الى جانب ذلك ، 2.8 يغلق في الإصدار النهائي. إذا كنت قد بدأت للتو ، فلماذا لا تبدأ بهذا؟ FWIW ، لقد كنت أستخدم 2.8.0 منذ Beta1 ، في مختلف الأدوات والمكتبات التي أستخدمها يوميًا. على الرغم من وجود أخطاء ، إلا أنها لم تكن كافية لتجعلني أعود إلى 2.7.7. ymmv ، رغم ذلك.
  2. هذا لن يجعل قرارك أسهل ، ولكن هناك إمكانيات أخرى للوصول إلى قاعدة البيانات. لقد كنت أستخدم مومبيل, ، على سبيل المثال؛ أحبها. orbroker هو خيار آخر.
  3. إذا كنت مرتاحًا مع Maven ، فاستخدمه بكل الوسائل. أنا شخصياً أفضل SBT. أحصل على القوة الكاملة للغة برمجة حقيقية ، عندما أحتاج إلى تنفيذ منطق بناء خاص. بنفس القدر من المفيد ، لست مضطرًا للتعامل مع ملفات تكوين XML. (XML مفيد للبيانات ، لكنه تنسيق كربي لملف التكوين الذي يحرره الإنسان.)
  4. قد تحاول Databinder Dispatch. نرى هذه المقالة للحصول على نظرة عامة لطيفة.

نصائح أخرى

  1. إذا كنت ستبدأ التطوير فقط ، فمن المحتمل أن تكون Scala 2.8 GA متاحة بحلول الوقت الذي تذهب فيه إلى الإنتاج. حتى لو لم يكن الأمر كذلك ، فسوف أختار حزمة 2.8RC الطازجة بدلاً من الالتزام بـ 2.7.7. 2.8 ليس لديه عدد من الميزات الرائعة فحسب ، بل يحتوي أيضًا على الكثير من الإثارات 2.7.7.
  2. لا يوجد الكثير من ORMs جاهزة للإنتاج مصممة لـ Scala هذه الأيام. ربما أختار رفع الثبات, ، بسبب فريق المهنيين والمجتمع الودي وراء إطار الرفع. ولكن إذا كنت لا ترغب في المخاطرة ، فيجب عليك التفكير في استخدام Java Orms القديم الذي أثبتت جدواه: Hibernate ، JPA ، Ibatis (تم إعادة تسميته مؤخرًا إلى MyBatis) ، إلخ.
  3. يجب أن تجرب SBT! إنه متوافق مع Maven POMs ، لذلك لا ينبغي أن تكون الترحيل إلى SBT مؤلمة للغاية بالنسبة لك. تستفيد من استخدام SBT:
    • إنه مصمم لـ Scala ، لذلك سيتم تعريضك للارتياح من عبء الحفاظ على عدد لا يحصى من الإضافات لـ Maven لجعله يعمل مع Scala باستمرار
    • ستتمكن من كتابة البرامج النصية للبناء في Scala (إنها تجربة رائعة مقارنة بـ XMLS)
    • SBT لديه ميزة قاتلة - مستمر مهما كان (البناء ، الاختبار ، النشر). يراقب SBT الكود الخاص بك ، ويكتشف عند تغييره ، ويؤدي إلى إجراء (اختبار ، إعادة النشر ، إلخ).
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top