בדרך כלל אני לא בעד כל ה frameworks למיניהם. במיוחד אחרי כל הקטע של “הדימוי” שלהם לכיוון והדרך בה Ruby on Rails כתוב, כל PHP Framework כיום כותב בעצמו איזה ActiveRecord או scaffolding ודברים אחרים דומים שקיימים ב Rails ובשפות אחרות (למרות ש Rails היא בעצמה Framework ל Ruby), זה בהחלט כבר יוצא מפרופורציות שכל אחד מנסה “לפתח” את ה framework שלו וטוען שהיא עושה דברים שאחרים לא עושים, והיא הטובה ביותר והמהירה ביותר, שבדרך כלל לא נכון.
לפעמים אני תוהה, למה לבזבז זמן בלכתוב משהו שכבר קיים, ועוד משהו שקיים ויש אותו כל כך הרבה. לדעתי יש יותר Frameworks מאשר משתמשים שבעצם משתמשים בהם. בנוסף לזה שכיום ישנם רק כמה frameworks שבאמת עושים את העבודה כמו שצריך, ורק כמה שבאמת מקבלים פופולאריות ומשתמשים שמשתמשים בהם.
למרות שלדעתי לל ה frameworks הקיימים היום פשוט מבזבזים זמן, הרי ברור שעם כל הפרסום, הוותק והידע של אלו שעובדים ב ZEND , ה Framework של ZEND הוא זה ששולט כרגע וככה זה ימשך לעד. כשבנאדם מגיע ויש לו בחירה בין 2 מערכות שאחת: נכתבה על ידי החברה שמפתחת את השפה בעצמה, מתוכננת על ידי הטובים ביותר, ישנה קהילה עצומה למתן שירותי תמיכה, ונתמכת בכמעט כל השפות. לעומת framework שנכתב על ידי כמה מתכנתים, שעושים את זה מהבית, שלא עשו משהו דומה לזה בעבר, עם קהילה קטנה ותמיכה במעט מאוד שפות. הרי ברור שברוב המקרים אם לא כולן אותו בנאדם שמתלבט יבחר ב ZEND. וזה גם מה שאני עשיתי. למה לטרוח להשתמש במשהו שהוא לא בטוח שימשיך להתקיים בכמה שנים הבאות, עדיף להיות אחראי יותר ובטוח יותר ולקחת משהו שיש לו קורה תומכת ויציבה.
לכן בחרת ב ZEND, העברתי לא מעט זמן וקריאה של כל ההדרכה שלהם, צפייה בוידאו שמסביר על כל מה שאפשר לעשות, ואת האמת זה בהחלט מרשים.
הנה כמה דברים שאני מצאתי לנכון לשתף בנוגע ל Zend Framework:
- כל ה framework הוא בעצם תיקיה אחת של מחלקות (בגלל זה הרבה חושבים ש ZEND הינה ספריה של מחלקות יותר מאשר framework וזה בדרך כלל שגוי) שלא ממש מעניינת אותך ומשמשת רק לטעינה של הקבצים שאתה צריך בהתאם.
- אין מבנה (סטרוקטורה) קבוע לאיך שהאפליקציה שלך צריכה להראות (ברוב ה frameworks הם מחייבים אותך להשתמש בשלושה תיקיות בהתאם ל MVC – model/view/controller) ככה שאתה בוחר איך המבנה של המערכת יהיה.
- היא נעמדת מאחורי חברה אמינה ומבטיחה שבין היתר יוצרת את אותה שפה שאתם משתמשים.
- צוות אמין ,מקצועי וגדול של מפתחים שעומדים מאחורי הפיתוח שלה.
- הרבה מחלקות שנכתבו כבר ומוכנות לשימוש קל פשוט ויעיל שמשתמשות בכל ה design patterns למיניהם.
- מערכת לניהול מדריכים יעילה, בשפות שונות, דוקומנטציה ודוגמאות. (מה שחסר בהרבה מקומות בשאר ה frameworks)
- תומכת במודל ה MVC, פלאגינים ועזרים נלווים אחרים.
למרות שיש גם כמה חסרונות בשימוש ב ZF ואלו שאני מצאתי לנכון לרשום הם:
- דרוש ידע ב PHP 5, ידע ב OOP מורחב מאחר וזה מה שמשתמשים שם, וכמובן ב design patterns
- ZF הינה מערכת גדולה, כבדה, הרבה קבצים שצריך לעלות לשרת. לוקח די הרבה זכרון בזמן טעינה (לפחות יותר מאפליקציה ללא Framework).
- העברה של אפליקציה שכתובה ב ZF דורשת הרבה זמן מאחר וכמו שנאמר יש הרבה קבצים לעלות (אבל לכו תדעו אם ZEND לא יספקו אותה מובנת בגרסאות הבאות של PHP לכן יש עדיפות להשתמש בזה על אחרות).
בכל מקרה השתמשתי בלא מעט Frameworks כמו Yii, CodeIgnite, CakePHP, Symfony אבל אף אחד לא באמת מספק את מה ש ZEND יכול לספק, וזה מעבר ל Framework.
Similar Posts
- עבודה עם פריימוורק או התחלה חדשה? – 02/03/2009
- הכנה לבחינה של ZEND – דברים שרצוי לעשות – 02/19/2009
- Zend Certified? עכשיו גם Zend Framework Certified Engineer – 04/03/2009
- Zend Framework גרסא 1.7.8 שוחררה – 04/01/2009
- מערך ל XML וההפך, בעזרת Zend Framework אבל לא רק. – 04/20/2009





תוכל להשוות בין ה ZF ח CodeIgniter?
שהשתמשתי בCodeIgniter זה פשוט מטורף, כל כך הרבה מחלקות מוכנות לשימוש. החסרון היחיד שם זה שבאמת הם “כופים” עליך איך ייראה מבנה המערכת…
בידיוק, כמעט בכל מערכת הם “כופים” עליך איך מבנה המערכת שלך יהיה. ב ZF הם מאפשרים לך לבנות את המבנה בצורה בה אתה רוצה שהוא יהיה.
מעבר לכך התמיכה שלהם בחלקים מסויימים טובה יותר. לדוגמא תמיכה מלאה ב i18n l10n אשר משמשים לתמיכה בשפות שונות ובלוקאליזציה, תוספי עזרה שאתה יכול בעצמך לכתוב ולהוסיף למערכת בקלות כדי להשתמש בהם לאורך כל המערכת, תמיכה בסוגי מטמון שונים, תמיכה באפליקציות ב JAVA שיעבדו עם זנד (בעצם מהוות קישור בין PHP ל JAVA על ידי ZF), ודברים רבים אחרים תוכל לקרוא אודות האפשרויות הנוספות כאן:
http://framework.zend.com/about/components
בנוסף אחד הדברים העיקריים למה להשתמש בזה על מערכות דומות אחרות היא, שפשוט המערכת הזאת נבנת על ידי טובי המתכנתים בתעשייה, הרי Zend היא החברה אשר מפתחת את PHP, ואשר גם מפתחת אפקליקציות רבות אחרות הקשורות ל PHP, החבר’ה שם יודעים מה הם עושים והם עושים את זה על הצד הטוב ביותר.