يعد Apache Struts Web Framework حلاً مجانيًا مفتوح المصدر لإنشاء تطبيقات الويب Java.
يمكن العثور على مزيد من المعلومات على الصفحة الرئيسية. يرجى قراءة دليل الأمان ، ويمكن تصفح Javadocs. يجب نشر الأسئلة المتعلقة باستخدام دعامات Apache في القائمة البريدية للمستخدم.
تختلف تطبيقات الويب عن مواقع الويب التقليدية في تطبيقات الويب التي يمكن أن تنشئ استجابة ديناميكية. العديد من مواقع الويب تقدم صفحات ثابتة فقط. يمكن أن يتفاعل تطبيق الويب مع قواعد البيانات ومحركات منطق الأعمال لتخصيص استجابة.
تطبيقات الويب بناءً على صفحات Javaserver أحيانًا رمز قاعدة بيانات Commingle ، ورمز تصميم الصفحة ، ورمز تدفق التحكم. في الممارسة العملية ، نجد أنه ما لم يتم فصل هذه المخاوف ، يصبح من الصعب الحفاظ على تطبيقات أكبر.
تتمثل إحدى الطرق لفصل المخاوف في تطبيق البرنامج في استخدام بنية مراقبة النموذج (MVC). يمثل النموذج رمز الأعمال أو قاعدة البيانات ، ويمثل العرض رمز تصميم الصفحة ، وتمثل وحدة التحكم رمز الملاحة. تم تصميم Framework Struts لمساعدة المطورين على إنشاء تطبيقات الويب التي تستخدم بنية MVC.
يوفر الإطار ثلاثة مكونات رئيسية:
بنية الإطار والعلامات المتوافقة مع الكلمات الطنانة. تعمل الدعامات بشكل جيد مع تطبيقات الراحة التقليدية ومع تقنيات مثل الصابون و Ajax.
مشروع Apache Struts هو مجتمع المصدر المفتوح الذي ينشئ ويحافظ على إطار Apache Struts. يتكون المشروع من مجموعة متنوعة من المتطوعين الذين يشاركون القيم المشتركة فيما يتعلق بتطوير المصادر المفتوحة التعاونية القائمة على المجتمع. يفخر مشروع Apache Struts بمشاركة هذه القيم مع مؤسستنا الأم: مؤسسة Apache Software Foundation.
يسمى المشروع "الدعامات" لأن الإطار يهدف إلى تقديم "الأسس غير المرئية" التي تدعم تطوير التطبيقات المهنية. يوفر Struts الغراء الذي ينضم إلى العناصر المختلفة لمنصة Java القياسية إلى كلي متماسك. هدفنا هو الاستفادة من المعايير الحالية من خلال إنتاج القطع المفقودة التي نحتاجها لإنشاء تطبيقات من الدرجة المؤسسية سهلة الحفاظ عليها بمرور الوقت.
قدم مشروع Apache Struts نسختين رئيسيتين من إطار Struts. حاليا نحن نحافظ فقط على نسخة الدعامات 2. يوصى بترقية جميع تطبيقات الدعامات 1.x إلى Struts 2. يرجى عدم بدء تطوير تطبيق جديد باستخدام Struts 1.x ، لأننا لم نعد نصدر تصحيحات أمان.
كانت Struts 2 معروفة في الأصل باسم WebWork 2. بعد العمل بشكل مستقل لعدة سنوات ، انضمت مجتمعات الويب والدعامات إلى خلق الدعامات 2. إطار 2.x هو الخيار الأفضل للفرق التي تقدر حلولًا أنيقة للمشاكل الصعبة.
Apache Struts هو إطار ويب حديث ، محفوظ ومكتسب. نظرًا لأنه كان موجودًا لسنوات ونمو قاعدة مستخدمين ضخمة ، فمن غير المرجح أن تختفي في أي وقت قريب. ليس ذلك فحسب ، فقد قمنا بتكريس المستخدمين والمطورين في المشروع. تم ترخيص Apache Struts بموجب ترخيص Apache 2.0 وهذا لن يتغير. نحافظ على عنوان IP نظيف وأنت "آمن" لاستخدام المشروع. في بعض الأحيان ، لا تكون "آمنًا" لاستخدام مشروع عندما تتحكم الشركة في SCM. لا يعني الوصول إلى رمز المصدر أنه مجاني. مع دعامات Apache ، أنت لست حرًا فقط في "القيام بما تريد به" ، بل يمكنك حتى المساهمة (وهذا ليس هو الحال دائمًا). والأفضل من ذلك كله: يمكنك أن تصبح جزءًا من الفريق الأساسي أيضًا.
عادة ما يكون من السهل جدًا دمج التقنيات الأخرى مع دعامات Apache. إذا كنت تستخدم ORM مثل Apache Cayenne أو Hibernate أو JDBC ، فلن يكون لديك أي قيود. دعامات Apache ليست مرتبطة كثيرًا بتقنية الواجهة الأمامية. في الأيام الخوالي ، كان JSP ، ثم جاءت السرعة وعلامة الجاذبية. في الوقت الحاضر ، يمكنك إنشاء تطبيق الويب الخاص بك باستخدام HTML الثابت و AngularJS. أو قد ترغب في استخدام sitemesh أو البلاط. كل هذا ليس مشكلة بسبب آليات التمديد الأنيقة والسهلة للاستخدام.
على عكس الأطر الأخرى الموجه نحو المكونات ، فإننا لا نهدف إلى إخفاء الطبيعة العديدة للثانية للويب. نعتقد أنه من المقبول تمامًا البناء على دورة طلب/استجابة. نعتقد أيضًا أن نمط MVC ليس سيئًا للغاية ، لمجرد أنه قديم. في الواقع ، نعتقد أن بنية Apache Struts نظيفة وسهلة الفهم.
بالطبع ، إذا كنت ترغب في إنشاء مكونات على جانب الخادم والتي تقدم على جانب الواجهة الأمامية ، فمن المحتمل ألا ترغب في الدعامات. هذا نهج مختلف يعد بتقليل كمية المعرفة HTML/JavaScript اللازمة وإنشاء مكونات قابلة لإعادة الاستخدام لطبقة العرض. مشاريع مثل الويكيت والنسيج تخدم هذا الغرض بشكل جيد للغاية. كما هو الحال مع كل إطار عمل ، تحتاج إلى تحديد ما إذا كان من المنطقي بالنسبة لك إنشاء مكونات أو إذا كنت تفضل نهج الدعامات.
لا يقدم مجتمع Apache Struts دعمًا تجاريًا في حد ذاته.
يعمل بعض محامو Struts Apache مع Tidelift لتوفير الدعم التجاري واستثمار وقت العمل المدفوع في تحسين إطار Apache Struts. لمزيد من المعلومات ، تفضل بزيارة موارد Tidelift بخصوص دعامات Apache