2012-12-04

סדרה: MVC בצד-הלקוח ובכלל

תבנית העיצוב (Design Pattern) המורכבת Model-View-Controller (בקיצור: MVC) היא בסיס היסטורי לכתיבת אפליקציות UI ב"צורה נכונה", אבן יסוד של ארכיטקטורות UI.
אך אליה וקוץ בה:  כששני אנשים מדברים על MVC בסבירות גבוהה הם לא מדברים בדיוק על אותו הדבר. ישנן וריאציות שונות ופרשנויות שונות לתבנית-עיצוב זו, הנובעות בעיקר מצרכים של טכנולוגיות UI שונות: Command Line או Desktop application, טרמינל או אפליקציות ווב.

בסדרה זו נדון ב MVC אך לא מהצד התאורטי-הכללתי, כי אם מהצד המעשי ובעזרת דוגמאות. בגלל הפריחה של ספריות MVC ל javaScript (בערך 15 שאני מודע אליהן) וההתעסקות השוטפת שלי לאחרונה עם פיתוח ב javaScript - החלטתי להקדיש את הסדרה ל MVC צד-לקוח בג'אווהסקריפט. זו זווית אחת שלא תכסה את הנושא התאורטי בשלמותו - אך לעתים עדיפה דוגמה אחת או שתיים שמבינים מאשר הכללה שאין אנו "חשים".


ספרייה: Backbone.js



הצצה מהירה על Backbone.js (ספריית MVC לצד-הלקוח)
סקירה כללית על ספריות Client-Side MVC, וריאציות שונות (MVP, MVVM), וכיצד שימוש בספרייה לדוגמה, Backbone.js, נראה.







אוספים (Collections) ב Backbone.js
לאחר הצצה מאוד בסיסית על קוד Backbone הגיע הזמן לתת תמונה קצת יותר מציאותית. זאת נעשה בעזרת סקירה של אחד המרכיבים המרכזיים ב Backbone: אוספים.







Backbone.js - ספגטי או רביולי?
שימוש בספרייה כמו Backbone.js לא בהכרח יבטיח לנו קוד מסודר וקל-לתחזוקה. בעצם, אולי Backbone.js היא דוגמה לספרייה שנותנת חופש רב מהרגיל, לטוב ולרע.
הנה דוגמה להתמודדות "מהעולם האמיתי" עם דילמות שנובעות משימוש ב Backbone.js.





AMD ו Require.js



AMD ו Require.js
תבנית העיצוב AMD איננה קשורה ישירות ל MVC - אך היא משרתת אותה מטרה ומסתדרת איתה מצויין.
פוסט זה סוקר את AMD ומספק מבוא ל Require.js - המימוש הנפוץ ביותר של תבנית-עיצוב זו.



אין תגובות:

הוסף רשומת תגובה