דף הבית » חדשות ועדכונים

השלב הבא באבולוציה של וורדפרס

13 באוקטובר 2012 | מאת רמי | 15 תגובות |

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

וורדפרס גלובל

וורדפרס גלובל

המהפך הראשון

החל משנת 2003, המערכת פותחה כדי לנהל בלוגים עם וריאציה מתקדמת לניהול רשתות בלוגים. בשנת 2010, עם שחרור גרסה 3.0 בוצע המעבר ממערכת בלוגים למערכת ניהול תוכן. כיום מרבית המשתמשים (66%) עושים שימוש בוורדפרס כמערכת ניהול תוכן ולא לצורך כתיבת בלוג, והמספרים ממשיכים לעלות.

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

הקפיצה הבאה

מבחינת החזון נראה כי לוורדפרס אין לאן לצמוח, אולם בשנת 2012 הציג מאט מולנווג את ה- State of the Word השנתי שלו (התשיעי במספר) והפתיע רבים עם חזון חדש – וורדפרס כמנוע אפליקציות. לדבריו ארבע השנים הראשונות הושקעו בפיתוח מערכת בלוגים, ארבע השנים הבאות בפיתוח מערכת ניהול תוכן (CMS), ועוד ארבע שנים יושקעו בפיתוח מנוע אפליקציות.

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

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

פרויקט ששוה להזכיר

מערכת על בסיס וורדפרס שמאוד התרשמתי ממנה היא Hellow Bar המאפשרת ליצור סרגלים שונים לאתרים. המערכת עובדת על וורדפרס, אבל המשתמש כלל לא מודע לזה. עמוד ההרשמה שלהם מעוצב ואין זכר לעיצוב הבסיסי של וורדפרס. מערכת הגביה זה תוסף וורדפרס. כל סרגל שאתם יוצרים נשמר כ-Custom Post Type עם פרמטרים כ-Custom Fields. גם הסטטיסטיקות מופקות על ידי תוסף וורדפרס.

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

פרוייקט אישי

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

המטרה הייתה לבנות מערכת כך שהיא תאפשר לגולשים להירשם לאתר ולשלם דרך PayPal (בעזרת תוסף וורדפרס), משתמש מוגבל לאזורים שונים בהתאם לסוג המנוי שרכש (Roles and Capabilities), משתמש רשום יכול ליצור בחשבון שלו דוחות (Custom Post Types) עם עשרות פרמטרים בכל דוח (Custom Fields), לקבל נתונים סטטיסטיים (תוסף וורדפרס), להציג אותם באתר (Page Templats), ולהגביל את הפצת המידע (הגנת על פוסט עם סיסמה או הצגה למשתמשים מחוברים בלבד – is_user_logged_in).

לוח הבקרה המוכר של של וורדפס משמש כ-Back End של המערכת שלי ודרכו אני מנהל את הכל כמנהל המערכת. משתמשים רשומים יוצרים תכנים חדשים ועורכים תכנים קיימים דרך ה-Front End מבלי שהם יודעים שזה רץ על וורדפרס (התקנתי תוסף שמגביל גישה ללוח הבקרה). כמו כן ב-Front End הכל מעוצב בעזרת היררכיית הקבצים של וורדפרס שמאפשרת לי להתאים את התצוגה לפי הצרכים שלי. שימוש בתבניות-עמוד מאפשרים לי לעשות קוסטימיזציה נוספת למערכת.

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

לסיכום

הניסיון האישי שלי לימד אותי שוורדפרס יש עתיד ורוד מחוץ לתחום ניהול התוכן. והיא תחווה את הקפיצה הבא שלה כאשר מפתחים יבחרו בה באופן אינסטינקטיבי כפלטפורמה שעל בסיסה יפותחו את המערכות שלהם.

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

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

לדעתי בעתיד היא תשמש לא רק אתרי תוכן, זו ההתפתחות הטבעית שלה.

מאת רמי

אחראי על אתר וורדפרס בעברית ועל תרגום ושחרור גרסאות וורדפרס בעברית. מפתח ליבה, בכל גרסה החל מגרסה 2.8, מפתח מוביל בגרסה 4.4 ובגרסה 4.6. מספק שירותי פיתוח אתרים, פיתוח תוספי וורדפרס לסטרטאפים ופיתוח כלים למפתחי וורדפרס - GenerateWP.com.

15 תגובות »

  • Ariel כותב :

    נכון שוורדפרס נמצאת כיום במקום טוב מבחינת החשיפה והאפשרויות הגלומות בה.
    אבל עדיין לדעתי הם הפסיקו מוקדם מידי (גרסה 3.1) לפתח את ה CMS ולהתמקד בדברים קצת שוליים.

    עד גרסה 3.1, כל עדכון התווסף לפחות עדכון מהותי שזכור לי כרגע, די אם נזכיר את גרסאות:
    2.7 – לוח בקרה חדש, סטיק פוסט
    2.8 – מערכת וידג'טים מתקדמת
    2.9 – ט'אמבנייל, עורך תמונות, סל מחזר, oembed ועוד
    הקפיצה הגדולה למערכת CMS קרתה בגרסה 3.0 – אז נוספו לה עיקר הפונקציות שהכתירו אותה במערכת CMS הנוחה בעולם: פוסט טייפ, תפריטים, טקסונומיות, שלל פונקציות לניהול עיצוב תבנית

    אך מגרסה 3.1 אז נוספה מערכת הפורמטים (בעקבות ט'אמבלר?!) המערכת נשארה תקועה בתיקון באגים, שיפור UI ועדכונים "קלים" יחסית ב CORE של המערכת.

    חבל.

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

  • רמי כותב :

    אריאל, אני מסכים איתך בהחלט, בגרסאות האחרונות משהו מקרטע (למרות שגרסה 3.4 הייתה מוצלחת אפילו יותר מגרסה 3.0 בזכות ה- Theme costimizer).

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

  • תומר כהן כותב :

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

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

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

  • רמי כותב :

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

    לגבי שאר הדברים אני מסכים איתך. בגלל זה הוספתי מספר הסתייגויות לדברי.

  • תומר כהן כותב :

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

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

  • רמי כותב :

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

    אם אתה מפתח לא רק אתרי תדמית (תחום הסובל מירידת מחירים מתמדת), יכול להיות שהמידע בפוסט ישמש אותך בהמשך דרכך.

  • יוניש כותב :

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

    תודה רבה.

  • מתי כותב :

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

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

    בקיצור, אוי לו לדור שפלטפורמה כדוגמת וורדפרס צוברת בו תאוצה לצרכי פיתוח מתקדמים.

    ומי מדבר על צרכים בסיסיים כדוגמת caching דינמי של חלקי דף – עבור אתר עם הרבה גולשים שרוצה חלק מהדף מהמטמון וחלק דינמי? ניהול מובנה של Roles and Capabilities, ודפוס אחיד לפיתוח תוספים?

    באופן אישי אני מהגר עכשיו לyii לצרכי פיתוח מתקדמים.

  • רמי כותב :

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

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

    לעניין הטבלאות במסד הנתונים, אינך חייב להשתמש במערכת הטבלאות של וורדפרס, יש API ליצירת טבלאות. לעניין ה-Caching של וורדפרס, אני מסכים איתך, לוקה בחסר. אבל ה-Roles and Capabilities של וורדפרס מקלה עליי מאוד.

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

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

  • סטס כותב :

    מצחיק אותי שאנשים שלא יודעים לעבוד עם PHP מדברים עליה בזלזול…
    בPHP יש OOP ולמעשה הוא עובד מעולה…
    זה שהמערכת WORDPRESS לא בנויה בOOP זה לא כזה נורא, כי את התוספים כן ניתן לכתוב בOOP ואף אחד לא אומר לכם איך לכתוב את התוספים…

    האם מערכת הוורדפרס יעילה לגמרי? לא…
    האם היא חוסכת זמן פיתוח יקר ומביאה תוצאות שעובדות? כן.

    לכן אני רואה את המערכת בתור בסיס POC לכל מערכת חדשה שרוצה לקום… במקום להשקיע עשרות חודשים בבניית מערכת חדשה מאפס ואז לגלות שהמערכת לא תופסת, עדיף לבנות את המערכת בוורדפרס, לבדוק שהמערכת עובדת ומתקבלת באהדה על ידי המשתמשים, ואז לכתוב את המערכת מצידי אפילו מ0 כדי להתאים אותה לקהל היעד ההולך וגדל.

  • רמי כותב :

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

  • מתי כותב :

    רמי, וגם סטס, אם משתמשים בWP עבור POC זה אומר שמבחינת רמת מתכנתים אנחנו במצב גרוע.

    כי YII ודומיה הם אלה שאמורים לעשות את זה, ורק צריך CMS בסיסי שבנוי על Framwork טוב כדי שתוספים טובים יכתבו עבורה והיא תוכל לשמש כנקודת פתיחה לפיתוח מהיר.

    WP היא מערכת 'ערומה' ביחס למה ש YII מציעה: בניית טפסים על ידי קריאת טבלת MySqL (עם Gii) והגדרה מהירה של Validation שעובד גם בצד השרת וגם בצד הלקוח עם Jquery!

    לדוגמה:

    array('amount_field',  'numerical', 'integerOnly'=>true), /*מוודא גם בצד לקוח שהוזנו מספרים */
    array('email_field', 'email'), /*מוודא שהוזן טקסט במבנה של מייל*/
    array('email_field', 'unique'),/* מוודא שאין עוד מייל כזה בטבלה*/
    array('password_field', 'length', 'min'=>6), /* מוודא שיש מינימום 6 תווים בסיסמה */

    ועוד בקטע של קוד Jquery שנכתב על ידי המערכת: הוספת שדה של DatePicker:

    widget('zii.widgets.jui.CJuiDatePicker', array('name'=>'date_start'))

    זהו, כל הjquery מתווסף ומוגדר כמו שצריך. אפשר גם להוסיף פרמטרים מיוחדים בקוד הPHP. ויש גם שדה AutoComplete, אזור טאבים/אקורדיון וכו' מה שקשור לJUI.
    הכל מתבצע באמצעות שורות קוד פשוטות שעושות את העבודה.

    ומי מדבר על API אמיתי לחיבור לDB ביצוע שאילתות מורכבות ופיסות שאילתא המשתלבות בקלות. ועוד ועוד. Migration – יצירת עדכוני מסד הנתונים משרת הפיתוח לשרת המוצר. Loging – כל פעולה ברמת המערכת יכולה להירשם לקובץ/מסד/מייל. אפשר להגדיר רישום לפי רמת ההודעה: לוג רגיל לקובץ ושגיאות חמורות למייל. בקיצור חובה להציץ למה שקורה היום באזור הפריימוורקים המפותחים.

    ושוב, עשיתי (ואני עדיין עושה) דברים מורכבים בוורדפרס (לדוגמה: http://www.fxempire.com/). אבל כשנחשפתי לעוצמה של yii (יש גם את zend ועוד) הבנתי שזה עולם אחר שאנחנו כמפתחים בישראל צריכים לקדם אותו גם עבור מפתחים מתחילים/חובבנים – שהם בסופו של דבר קובעים את אופי השוק… אני חושב שעקומת הלמידה פה היא ממש טובה – כלומר לימוד מהיר, יש דוקומנטציה טובה ופורומים פעילים.

  • מתי כותב :

    השתמשתי מקודם בתגית קוד וזה קטע את הקוד:

    array('amount_field', 'numerical', 'integerOnly'=>true), /*מוודא גם בצד לקוח שהוזנו מספרים */
    array(’email_field', ’email'), /*מוודא שהוזן טקסט במבנה של מייל*/
    array(’email_field', 'unique'),/* מוודא שאין עוד מייל כזה בטבלה*/
    array('password_field', 'length', 'min'=>6), /* מוודא שיש מינימום 6 תווים בסיסמה */
    ועוד בק

  • רמי כותב :

    מתי, שים לב שזה בלוג שעוסק בוורדפרס. אני אחראי על שחרור גרסאות וורדפרס בעברית, על תרגום וורדפרס לעברית, ועל אתר וורדפרס בעברית. אני לא אתחיל לכתוב פה על מערכות אחרות. 🙂

  • מתי כותב :

    אין ספק שזו החלטה שלך במה להשקיע…

הוסף תגובה !

נא לא לשאול שאלות שלא קשורות לפוסט, זהו לא פורום תמיכה. לבעיות אישיות ונושאים מורכבים אפשר ליצור איתי קשר.

תגיות HTML מורשות לשימוש:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>