إيجابيات وسلبيات مختلف تقنيات طبقة عرض الويب Java

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

سؤال

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

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

تكنولوجياتنا قيد الدراسة هي:

  • ICEACES.
  • JSF (بدون مثل الجليد)
  • GWT (Google Web Toolkit)
  • ويكيت
  • نسيج

وإذا كنت تفتقد أي شيء من قائمتي، اسمحوا لي أن أعرف.

شكرا!

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

المحلول

آرائي متحيزون بشدة تماما نحو النصيبات لأنني كنت أستخدمها لفترة من الوقت بعد التعثر على الألغام JSP عدة مرات.

النصيبيت الايجابيات:

  • الفصل الحقيقي للتخطيط والرمز.
  • على أساس المكونات التي تعني إعادة استخدام عناصر الموقع عالية؛ على سبيل المثال، يمكنك إنشاء نموذج قابل للتطبيق مع أساليب وضع العلامات التلقائية و CSS وكل شيء ومجرد تغيير كائن DAO في منشئ المكونات، قابلة لإعادة الاستخدام تماما في مشروع آخر.
  • دعم ممتاز لأشياء مثل AJAX والمداخلات والأطر المختلفة بشكل عام خارج الصندوق مباشرة والأهم من ذلك أنه لا يعتمد على أي شيء آخر من SLF4J / LOG4J للعمل، كل شيء اختياري!

سلبيات النصيب:

  • التطوير له بعض الارتباك حول الأشياء بشكل عام، واليكيت الجنريون قليلا من الفوضى الآن على الرغم من أنهم تم تنظيفها كثيرا في 1.4
  • بعض المكونات (مثل Form.onSubmit(). هذا يرجع جزئيا إلى التصميم القوي في النصوص القوي ولكن لسوء الحظ، فهذا يعني أيضا أنه من السهل إجراء فوضى رمز مع النصيبيت.

سلبيات عشوائية: (وهذا هو، أنا لم أستخدم ولكن هذه هي صاحتي و / أو الأشياء التي سمعتها)

  • GWT هو جافا سكريبت مقرها والتي تبدو غبية بالنسبة لي. القضية الرئيسية هي أنه يذكرني الكثير من JSP: S وفصوله ذاتي الشعرية التي هي فظيعة.
  • لا تنفصل Tapestry بالتحديث والرمز بشكل صحيح بطريقة يمكن التحقق منها بسهولة بين الاثنين والتي ستتسبب في مشاكل في المستقبل.

نصائح أخرى

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

  1. انها ajax افتراضيا، لذلك لم يكن لدي ل صنع إنه يفعل أجاكس، لقد جاء للتو مع استخدام GWT.
  2. لقد حصلت على فصل جيد من العميل مقابل رمز جانب الخادم.
  3. يمكنني وحدة اختبار رمز العميل الخاص بي باستخدام Junit
  4. يتيح لك بنيت تطبيقات هش، Snappy، إلى حد كبير لأنها AJAX.

الأشياء التي لا أحبها:

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

أكبر سؤال سأطلبه هو السبب في تغيير طبقة العرض التقديمي؟ هذه تكلفة باهظة الثمن، ويمكنني أن أرى فوائد تقنية واحدة تفوق الآخرين بقدر تكلفة تغيير ...

بالمختصر:

= JSF =

الايجابيات:

  • بنية مكون؛
  • العديد من المكتبات والأدوات؛
  • دعم IDE جيدا إلى حد ما

سلبيات:

  • الوزن الثقيل، سواء في وحدة المعالجة المركزية / الذاكرة و منحنى التعلم؛
  • عندما لا يعمل شيء كما هو متوقع، من الصعب تصحيح

= النصيبت =

الايجابيات:

  • وزن خفيف؛
  • نظام قالب معقول؛
  • دروس جيدة؛

سلبيات:

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

ماذا عن شرائط?

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

JSF: أفضل البقاء بعيدا عن ذلك. يفكر الآن فريق آخر طور مشروعا في JSF الآن في التحول إلى النصيب بعد نجاحنا فيه.

@ megadix: مثلك قالت الوثائق سيئة في البداية، ولكن ليس بعد الآن. هناك كتاب ممتاز يسمى الويكيت في العمل الذي كتبه مطورو النصيبات. نموذج التعليمات البرمجية المتوفرة على الموقع هو أيضا مكان جيد للبدء والتعلم

سألت أن أتساءل عما إذا كانت لديك طبقة خدمة متميزة عن عميل الويب، وهو أمر يحصل عليه وحدات تحكم الويب ببساطة للحصول على عملهم.

إذا قمت بذلك، يمكن فصل اختيار تكنولوجيا الويب واجهة المستخدم عن النهاية الخلفية. إذا تعرضت كخدمة على الويب العقد الأول، فيمكنك مشاركة تطبيقات مختلفة. طالما يمكن لعملائك إرسال واستقبال XML يمكنهم التفاعل مع خدماتك. تريد التبديل إلى المرن؟ لا تقلق - أشر إليها في الخدمة وتقديم استجابة XML.

انظر مقارنة بلدي النصيب والقطر 5: الفرق بين أباتشي النسيج و Apache Wicket.

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