WordPress As a Framework

פריימוורק הוא לא יותר מ-API, מאסופה של פונקציות שחוסכות למתכנת עבודה. את וורדפרס נוהגים לשווק כ-CMS, בניגוד לכלים כגון Laravel, Yii, Symfony וכו' שמהווים רק מסגרת. נכון אמנם שוורדפרס מגיע בצורה יותר מוגמרת ללקוח, וכשיש לך אתר ברמת גימור 8 מתוך 10 לעומת אתר ברמת גימור 4 מתוך 10, אז וורדפרס באמת הרבה יותר בשל. אבל כמובן שבוורדפרס חסרים המון כלים שמהווים בעבורו חסכון, הוא לא מעודד שימוש בתבניות פיתוח, מה שהוא כן מעודד זה תכנות סטרוקטורלי, אין בו סטנדרטים מודרניים של פיתוח תוכנה, יש בו המון חלקים readymade ומי שמשתמש בו מתברר יותר כמיישם ופחות כמתכנת. השיווק של וורדפרס לא מוצלח. בפועל, יש בה כמעט את כל ארגז הכלים שצריך לשם פריימוורק: מודול גישה ל-DB, תקשורת HTTP הכוללת CURL ו-AJAX, מנגנון ראוטינג משוכלל, מערכת מונחת אירועים וכן הלאה והלאה.

הסיבה שאסנגר על וורדפרס בסדרת הפוסטים הקרובה היא מפני שממה שיש, אני מוצא את ארגז הכלים של וורדפרס אינטואטיבי ונח מאוד. באופן מפתיע, הוא גם בכל זאת מהווה מצע לתבניות פיתוח נבחרות. ההבדל בין הפריימוורקים נאמד כמובן ברוחב היריעה התכנותית שהם מכסים, אבל גם ברמת המימוש – הן הביצועית והן ה"ממשוקית". על הביצועים יש אולי מה להתווכח, אבל אנחנו מדברים על פעולות פשוטות בעלות סיבוכיות נמוכה יחסית, ועל תוכניות בינוניות בגודלן. ההבדלים בביצועים יכולים להתבטא במאות מילישניות, כך שמהבחינה הזאת, ואני לא מנסה אפילו למדוד את זה, כך שהכל ברמת היפותזה ומבחינתי אפשר למחול לוורדפרס על אלגוריתמיקה בזבזנית, שאני חושב אגב שהיא איננה. אבל מבחינת מה שכיניתי "ממשוקיות", אני לא חושב שיש איזו שהיא מערכת שיכולה להתחרות, כנראה שזה גם מה שעשה את וורדפרס לפחות בממשק משתמש. אני טוען שגם במובן התכנותי.

לוורדפרס יש קהילת מפתחים ענקית, יש לה קודקס מנומק ומקיף. כל מה שאני מתכוון להסביר הוא רק מבט עילי. אני מאמין שמי שיודע לתכנת יכול לצלול למעמקי וורדפרס בתוך שבוע אחד. כל מה שהוא צריך לדעת זה כמה פונקציות מה-API, ולהבין את מחזור החיים של האפליקציה, ובעיקר את הדרך לגשת לדאטהבייס ולהרכיב את השאילתא המתאימה לדאטהבייס כדי לייבא מידע מהשרת. לטענתי מפתח, בוגר קורס פיתוח PHP שיודע לעבוד עם דאטהבייס ומכיר תבניות פיתוח נפוצות, מסוגל להגיע לרמה גבוהה פי 2 ממיישם וורדפרס בעל נסיון של 2 שנים בתוך שבוע אחד של עבודה עם וורדפרס אם הוא מקבל את הקווים המנחים שאנסה לעמוד עליהם.

וורדפרס הוא אנדרייטד וגם אוברייטד. אוברייטד כי רוב מי שמסתובב בתחום הוא מתכנת דמיקולו שכל מה שהוא יודע זה להוריד פלאגינים בשיטה של ניסוי וטעיה, מבלי לחשוב על היבטים שונים של תוכנה כמו ביצועים, סקלביליות, אבטחה, ארכיטקטורה (כלומר, תחזוקה לטווח ארוך) וכו'. אנדרייטד כי העובדה הזו הובילה למצב שבו מפתח וורדפרס שווה בשוק 40% פחות ממפתח PHP רגיל, גם אם הוא יודע לתכנת PHP ברמה גבוהה. משרות וורדפרס לעולם יהיו עבודה בסיסית שלא דורשת הבנה מעמיקה בהליכי תוכנה, מפתחים מצטיינים עוברים הלאה. וורדפרס הוא תחנת מעבר, או לחלופין בית קברות. אני מקווה שבסדרה הזו אסביר מעט למה זה לא מוצדק, למה אפשר לעשות יותר מהכל עם המערכת.

טיפים ומאמרים וורדפרס, פריימוורק

בחזרה למאמרים