السلام عليكم
لقد درست SERVLET و JSP و الحمد لله اصبحث اتقن بعض الشيء منه و الان بدأت ب Hebirnate
اثناء بحثي وجت مواضيع تتعلق ب spring , strut . jsf
سوالي : ما دور كل من strut و spring وماهو فرق بينها و بين jsp , jsf
وشكرا
السلام عليكم
لقد درست SERVLET و JSP و الحمد لله اصبحث اتقن بعض الشيء منه و الان بدأت ب Hebirnate
اثناء بحثي وجت مواضيع تتعلق ب spring , strut . jsf
سوالي : ما دور كل من strut و spring وماهو فرق بينها و بين jsp , jsf
وشكرا
وعليك السلام
هو أولا ان تعرف شيئا من التاريخ لكي تعرف الفروق
وإليك نصا مقتبسا من احد الإخوة
اقتباس
بدات J2EE بحاجة اسمها Servlet وكنا بنكتب اكواد ال HTML وال Java معا بطريقة معقدة جدا وبعد فترة تمام تحديث ال Servlet الي JSP وهي (Java Server Pages) وكنا ايضا بنكتب اكواد ال HTML وال Java معا لكن بطريقة أقل تعقيد من الماضي وكان كل شئ صغير كان ام كبير بنكتبه بالكود وكان الامر مرهق للغاية.
وبعد فترة قامت شركة صن بتحديث ال JSP الي ال Struts وفي نفس الوقت قامت شركة ميكرو سوفت باصدار ال Asp.net واصدارت ال Visual Studio وهي IDE وكان ده ثورة في عالم البرمجيات مما ادي الي اتجاه المبرمجين
الي ال Asp.net لتمتعها بالسهولة .
في الوقت ده شعرت شركة صن بتهديد القادم من ال Asp.net فقاموا بتحديث ال Struts الي ال JSF وهي (Java Server Faces ) بالتعاون مع شركة اوراكل و IBM وهذا احدث ثورة في عالم الجافا لتمتع ال JSF بسهولة كتابة الكود والفصل بين اكواد ال HTML واكواد ال Java
بقيت Spring
والحقيقة لدينا ٍSpring و Spring MVC ولا ينبغي التخليط بينهما
فالأولى هي بيئة عمل المشروع بالكامل وهي إطار العمل المكفل بعملية إدارة الكائنات beans إنشاء وهدما وكذلك عمليت الحقن
وأما الثانية فهي متخصصة بالواجهة أو ما يسمى بطبقة الويب اي هذه -وأعني SPRING MVC - تقف في مقابل JSF و struts
تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 2 مارس 2014 في 14:22
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
اقتباس
وبعد فترة قامت شركة صن بتحديث ال JSP الي ال Struts
لا أعرف ما مدى دقة هذا الكلام لأن struts هو إطار عمل للباترن MVC ويتعمق في أمور الكونفيق ويتحكم فيك شاردة ووادرة في برمجتك عن طريق ملف الكنوفيق struts.xml
الكلام يطول في هذا الموضوع لأنه يمكن أن تقسمه إلى view وهي صفحة jsp
وإلى كونترولر وهي ملف التحكم struts.xml
وإلى model وهي الأكشن أكواد الجاافا
spring نفس المبدأ ولكن مختلف نوعا ما حيث تتخد مبدأ independence injection
عندما نقول تطورت JSP إلى Struts فلا يعني أننا تجاوزنا JSP بل طورناها بإضافة مكتبات وتقنيات جديدة عليها
فبدل ان نكتب أكواد الجافا في صفحات العرض صرنا نكتب الأكواد في طبقة خاصة
ومن التطور الذي حصل هو أننا أخضعنا الويب إلى موديل MVC وكل التقنيات الذي ذكرتها تخضع لهذا الموديل
struts , Spring MVC ,JSF,ADF كل هذه مبنية على MVC
وأما SPRING فهي بيئة عمل مكتملة فإن شئت ضممت إليها طبقة الويب الخاصة بها فصارت Spring MVC وإن شئت ضممت إليها JSF أو ADF أو Struts
Spring تقف بإزاء EJB إلا انها أفضل لأنها لا تحتاج إلا إلى Sever légé
تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 3 مارس 2014 في 00:24
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
اقتباس
عندما نقول تطورت JSP إلى Struts فلا يعني أننا تجاوزنا JSP بل طورناها بإضافة مكتبات وتقنيات جديدة عليها
المعلومة التي لست متأكد منها هي أنك قلت بأن شركة صن هي التي طورت إطار العمل struts
بالإظافة إلا أنه وبعد أن تعمل بإطار العمل sturts سوف تستخدم slt بدل من وسوم ال html الإعتيادية ال jsp في ال strutts يستخدم ك view الستروتس لا يعني أنك ستتخلى عن jsp
اقتباس
Spring تقف بإزاء EJB إلا انها أفضل لأنها لا تحتاج إلا إلى Sever légé
ال ejb ممكن تستخجمه في ال spring أو في struts أو ختى في play في أي إطار عمل لنه تقنية لوحدها لعزل لتعامل مع قواعد البينات ويتم ربطها مع الويب سيرفر
اقتباس
المعلومة التي لست متأكد منها هي أنك قلت بأن شركة صن هي التي طورت إطار العمل struts
وأنا ايضا لست متأكدا منها ولذلك نقلت الاقتباس بنصه وتركت العهدة على صاحبه
وبعد البحث وجدت أن struts لم تطور من طرف صن وإنما طورها مجتمع جكارتا التابع لapache
اقتباس
ال ejb ممكن تستخجمه في ال spring
تقصد Spring MVC وإلا فإن Spring طور ليكون بديلا عن EJB ولا ينبغي الخلط بينهما
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
jsf تتجعلك تتعامل مع الصفحة كما لو كانت واجهة رسومية (تتعامل مع مكونات: زر، حقل إدخال ..إلخ)، مناسبة لبرمجين الواجهات والذين لايحبون التعامل مع الـhtml، css، javascript، ميزتها أنك لاتحتاج أن تتعلم تلك الأشياء كي تستخدمها وعيب هذه الفئة عموماً من البئيات صعوبة التخصيص وتوليد أكواد لاداعي لها.
spring mvc تتيح لك تحكم كامل في تخصيص الصفحات والإستفادة من تقنيات الويب الحديثة، لكنها قد تتعب معها إذا كنت تجد صعوبة في التعامل مع html/javascript/css (ولكن حسنتها أنه يمكن أن تكلف غيرك، كمصمم، أن يتولى مهمة تصميم الصفحات).
تم تعديل هذه المشاركة بواسطة Mr.B في 3 مارس 2014 في 15:06
اقتباس
وبعد البحث وجدت أن struts لم تطور من طرف صن وإنما طورها مجتمع جكارتا التابع لapache
وهذا بالظبظ ما أعرفه .
اقتباس
تقصد Spring MVC وإلا فإن Spring طور ليكون بديلا عن EJB ولا ينبغي الخلط بينهما
عندما نتلكم عن الspring نقصد به على لعموم إطار العمل للباترن mvc
لو بقي لي وقت سوف أنزل دروس في EJB وال struts وال spring