سؤال

لقد رأيت بعض مشاريع JSF التي طورها زملائي وبدت لي هذه المشاريع بطيئة جدًا.هل لدى أي شخص نفس الرأي؟

أنا أستخدم حاليًا jsp+jstl وjQuery للعميل "الغني".

أتساءل ما هي مزايا وعيوب الأطر الحديثة (jsf، wicket، tapestry..) على jsp العادي القديم.

سيكون أمراً رائعاً لو أجاب الأشخاص الذين استخدموا كل هذه التقنيات.

من المثير للاهتمام أيضًا بالنسبة لي ما هي الميزات الأكثر إثارة التي جعلتك تترك jsp وتستخدم إطار العمل "الضخم" (أعني، على سبيل المثال، AOP في Spring أو أي شيء آخر يمكنك ملاحظته).

شكرا لجميع التعليقات.

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

المحلول

لقد استخدمت CGI، PHP، JSP، Struts، Spring MVC (1.2)، Bea Workshop، JSF، JBoss Seam، Spring MVC (2.5) و بوابة صغيرة (بهذا الترتيب).لقد لاحظت قفزة في الإنتاجية والجودة لكل تقنية جديدة عملت عليها.إنه يعمل بشكل أفضل، إنه يشعر أحسن.أنا أفضل الويكيت (مع لمسة من الربيع، والكوارتز، وما إلى ذلك) على كل الآخرين.أستطيع أن أقول بصراحة أنني رأيت النور، ولا أريد العودة إلى الجانب المظلم - أو الأفتح؛) -.

هناك الكثير ليقال عن ويكيت.

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

هناك الكثير مما يمكن تحسينه بالنسبة لـ JSP وJSF.

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

نصائح أخرى

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

وأنا عمدا تجنب كل شيء في JSP التي هي أساسا البرمجة. لا رصا البيانات، لا SQL، لا scriptlets، لا طرق، لا شيء. مجرد عرض عادي من البيانات المقدمة تحكم موجودة مسبقا مع ربما بعض الحالات البسيطة والتكرار من المجموعات.

العديد من المزايا.يمكنني تعداد مزايا JSF التي هي تلك التي استخدمتها في مشروعي الأخير.

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

لا يقوم JSP بفصل واضح بين منطق العمل والتخطيط.

على أي حال، على الرغم من أن كل هذه المزايا وإذا كنت مبرمج جافا فإنني أنصحك بإلقاء نظرة عليها الكؤوس وهو أكثر راحة إلى حد كبير.

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

فوائد Spring MVC:

  • يشجعك إطار العمل بمهارة على كتابة تعليمات برمجية مصممة بشكل أفضل:باستخدام حقن التبعية، وتقسيم تصميم التطبيق الخاص بك إلى كائنات المجال (النموذج)، ووحدات التحكم، وفئات الخدمة، وDAOs، وما إلى ذلك.
  • كأثر جانبي للنقطة الأولى، ينتهي الأمر بالرمز الخاص بك لأقصى حد ووحدة قابلة للاختبار بسهولة.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top