Struts مقابل Spring MVC
إطار عمل Struts هو أحد الأطر الأولية لتطبيق الويب لتطوير تطبيقات الويب Java EE. الربيع هو إطار تطبيق مفتوح المصدر. بعد مرور بعض الوقت على إدخال إطار الربيع ، أضاف المطورون إطار عمل MVC إلى إطار الربيع ، على أمل معالجة بعض القيود التي لاحظوها في Struts. ولكن بعد بضع سنوات ، وصل Struts2 (أو الإصدار 2 من Struts) ، وكان إطارًا لتطبيق الويب مختلفًا تمامًا ومحسنًا للغاية. الآن ، يتم استخدام كل من Struts و Spring MVC بكثافة كبيرة لتطوير تطبيقات Java EE في العالم.
ما هي الدعامات؟
Struts (المعروف أيضًا باسم Apache Struts) هو إطار عمل مفتوح المصدر عبر الأنظمة الأساسية مكتوب بلغة Java ، وهو مصمم لتطوير تطبيقات الويب Java EE. تشجع الدعامات على استخدام بنية MVC (نموذج - عرض - متحكم). إنه امتداد لـ Java Servlet API. كريج مكلاناهان هو المبتكر الأصلي لـ Struts. في البداية كانت تعرف باسم Jakaratha Struts ، وتمت صيانتها في إطار مشروع جاكرتا التابع لمؤسسة Apache Software Foundation. الإصدار المستقر الحالي هو الإصدار 2.2.3 ، والذي تم إصداره في مايو 2011. تم إصداره بموجب ترخيص Apache 2.0. يُطلق على إطار عمل Struts إطار عمل يستند إلى الطلب ، ويتكون من ثلاثة مكونات رئيسية: معالج الطلب ومعالج الاستجابة ومكتبة العلامات. يتم تعيين URI القياسي (معرف الموارد المنتظم) لمعالج الطلب. معالج الاستجابة مسؤول عن نقل التحكم. لإنشاء تطبيقات تفاعلية باستخدام النماذج ، يمكن استخدام الميزات التي توفرها مكتبة العلامات. تدعم الدعامات تطبيقات REST والتقنيات المختلفة مثل SOAP و AJAX وما إلى ذلك.
ما هو Spring MVC؟
Spring هو إطار تطبيق مفتوح المصدر. تم تطويره بواسطة Rod Johnson ، وتم إصدار الإصدار الأول في عام 2004. Spring 3.0.5 هو الإصدار الحالي من إطار الربيع. تم ترخيصه بموجب ترخيص Apache 2.0. يمكن لأي تطبيق Java استخدام الميزات الأساسية لإطار Spring. هناك عدة وحدات في إطار الربيع ، و MVC هي واحدة منها. لم يكن إطار الربيع MVC جزءًا من خطتهم الأصلية. في الواقع ، كان السبب وراء ابتكار مطوري Spring لإطار عمل MVC الخاص بهم هو تقديم حلول لما أظهروه على أنه أوجه قصور في Struts (الإصدار 1) وأطر أخرى مماثلة. على وجه الخصوص ، قالوا إنهم يريدون معالجة النقص في الفصل بين طبقة العرض وطبقة معالجة الطلب والنموذج. Spring MVC هو أيضًا إطار تطبيق ويب قائم على الطلب.
ما هو الفرق بين Struts و Spring MVC؟
على الرغم من أن Spring MVC و Struts هما إطاران شائعان لتطبيق الويب يستخدمان لتطوير تطبيقات الويب Java EE ، إلا أنهما تختلفان بينهما.في الواقع ، تم تطوير Spring MVC من أجل معالجة بعض القيود في Struts (الإصدار 1). لكن Struts2 هو إطار عمل محسّن بدرجة كبيرة مقارنة بالإصدار 1 (حتى أنهم لا يتشاركون في نفس قاعدة الشفرة) ، وبالتالي ، فإن Spring MVC و Structs2 قابلة للمقارنة بدرجة كبيرة.
تتمثل إحدى المزايا الرئيسية لـ Spring MVC في إمكانية التكامل السلس مع العديد من خيارات العرض مثل JSP / JSTL و Tiles و FreeMaker و Excel و PDF و JSON. ولكن ، على عكس Struts ، لا يوفر Spring MVC دعم AJAX المدمج (تحتاج إلى استخدام مكتبة AJAX لجهة خارجية).
في النهاية ، يعتبر كلاهما إطار عمل ناضج للغاية ، والاختيار بين الاثنين يعود إلى التفضيل الشخصي. من المهم أن نلاحظ هنا أنه في حالة وجود أي مشاعر سلبية تجاه الدعامات ، فإن ذلك يرجع فقط إلى أوجه القصور التي تم العثور عليها في الإصدار 1 من Struts (والذي يعتبر الآن قديمًا).