سؤال

ما هو الأفضل ، أو بعبارة أخرى ، هل هو الأسهل في الاستخدام؟ خطوط أو JSF.

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

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

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

المحلول

ما هو الأفضل ، أو بعبارة أخرى ، ما هو الأسهل للاستخدام؟ خطوط أو JSF.

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

ما أحبه في المشارب:

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

إذا كان كلاهما جديدًا بالنسبة لك ، فسأذهب إلى خطوط. إذا كنت ترغب في تعلم إطار عمل قائم على المكون ، أعتقد أنه من الأسهل البدء بالويكيت (انظر أيضًا ما يقوله Gavin King في كيف تبدأ في تعلم Java EE 6).

نصائح أخرى

لا تتمتع JSF بالضغط الجيد والسمعة السيئة للأسف مبررة (فرصة أخرى ضائعة من قبل Sun Sun Microsystems). ولكن ، ولكن تغير الكثير منذ طرح السؤال - تم إصدار إصدار JSF 2.0 الجديد.

إذن ما هو الخطأ في JSF 1.x ، ما الذي جعلها غير محتملة بالمقارنة مع الخطوط أو الربيع MVC أو الويكيت أو اللعب أو النقر وما إلى ذلك؟

  1. تم دعم طلبات النشر فقط ، والتي تسببت في مشاكل في الأداء (يمكن تخزين الطلبات بشكل فعال) ، ومن الصعب تحقيق عناوين URL قابلة للإشارة والمزيد
  2. استند JSF 1.x على صفحات JSP ، والتي لم تكن مناسبة للتعامل مع دورة حياة صفحة JSF أكثر تعقيدًا
  3. كان إنشاء مكونات صعبًا ومرهقًا.
  4. كان تحديد قواعد الملاحة بعيدة عن أن يكون مرنًا وامسدًا جدًا
  5. تكوين XML الإلزامي
  6. لا طريقة لإدارة الموارد النظيفة

الشيء الجيد هو أن كل هذه القصور قد تمت معالجتها بواسطة إصدار JSF الجديد.

  1. الحصول على طلبات النشر مدعومة بشكل جيد.
  2. يمكن إجراء التكوين بمساعدة التعليقات التوضيحية (يمكننا الالتزام بـ XML حيث يكون حلًا أفضل) ، يتم تبسيط تعريفات قواعد التنقل ، حتى يمكننا استخدام الاتفاقية على نهج التكوين.
  3. خلق المكونات سهل.
  4. هناك نطاقات مكونة جديدة ومفيدة للغاية: عرض نطاق ونطاق الفلاش (على غرار ما هو معروف من Ruby on Rails) التي تمكن المستخدمين من التعامل مع التدفقات الأكثر تعقيدًا بسهولة.
  5. هناك طريقة قياسية لإدارة الموارد ومرفق أفضل معالجة الأخطاء
  6. يمكننا تحديد مراحل المشروع لتسهيل التعامل مع المشروع في بيئات مختلفة (الاختبار ، الإنتاج ، إلخ)
  7. استبدلت FaceLets المستندة إلى XHTML JSP أفضل بكثير عرض تعريف تعريف
  8. طلبات Ajax المدمجة في Ajax
  9. JSF هو جزء من Java EE Standard ، مما يعني أنهم لن يختفوا بين عشية وضحاها إذا قرر المطورون المللون الانتقال إلى الإطار القادم اللامع والأكثر عصرية.

والأخير ، ميزة JSF 2.x ضخمة: نغمات من مصممة جيدًا ، رائعة المظهر وجيدة الأداء جاهزة لاستخدام المكونات (Richfaces ، Primefaces ، Icefaces). توفر هذه المكتبات مئات من مكونات صفحات WWW المتوفرة دون كتابة سطر واحد من JavaScript أو CSS. هذا هو زيادة الإنتاجية.

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

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

لذلك ، على سبيل المثال ، بالنسبة لتطبيق الشركات الداخلية المستخدمة من قبل 2000 موظف JSF 2.0 سيكون اختيارًا رائعًا.

أفضل إطار ويب؟ مثل في كثير من الأحيان يؤدي هذا السؤال إلى إجابة "ذلك".

السؤال الآخر: "ما هو الأسهل في استخدام إطار عمل". من الأسهل الإجابة ، تلك المشارب. JSF لديه منحنى التعلم شديدة السمعة. من ناحية أخرى ، من السهل الإعداد خطوط السهولة.

إطار المشارب يشبه الدعامات ولكن أفضل فقط. ل مثال, ، يستخدم التعليقات التوضيحية بدلاً من ملفات تكوين XML. تمامًا مثل إطار STRUTS ، إنه إطار قائم على العمل ، وهو أكثر أناقة فقط. هذا يعني أنه يتبع عن كثب الطبيعة عديمة الجنسية لمعالجة أحداث HTTP. هذا أمر جيد إذا كنت تريد الأداء العالي وأقصى قدر من المرونة في كيفية إنشاء صفحات.

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

JSF أكثر استخدامًا ، لذلك يجب أن يكون لديك دعم أفضل في حالة حدوث أي شيء غريب. هذا سبب كافٍ لاستخدامه.

أود استخدام JSF. يتم استخدامه على نطاق أوسع و Icefaces هي حزمة مفيدة للغاية لتطبيقات JSF.

JSF جزء من Java EE 6+. هذا يعني أنه سيكون متاحًا وصيانته لفترة طويلة جدًا ، وهو أمر مهم بالنسبة لنا.

كما قد تحدث تطبيقات مختلفة تتيح لك اختيار أفضل واحدة لغرض معين.

Seam هو مكدس تطبيق لطيف لتطوير تطبيقات JSF ، لست متأكدًا من الشروط.

  • التحويلات
  • دعم AJAX لطيف
  • مجموعة غنية من المكونات
  • التعليقات التوضيحية على تكوين XML

شيء واحد لا يعجبني في JSF هو منحنى تعلم Hight بشكل خاص إذا كنت قادمًا جديدًا لـ JSF.

خطوط مثل الدعامات لا تفعل الكثير لتطبيقك. إلى جانب بعض التوجيه الابتدائي وتشغيل النماذج وتنفيذ الإجراءات ، لا يفعل ذلك بشكل أساسي. آخر مرة قمت بفحص معظم علامات الخطوط (All) هي في الأساس Fascades لعلامة HTML المكافئة مع إضافات صغيرة أو معدومة. ومع ذلك ، فإن JSF يعطي المزيد ولكن إذا كنت تريد تقنية حقيقية غير عالقة في عام 2000 - فكر في GWT.

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