המערכת הטובה ביותר

על איזו מערכת כדאי לפתח את האתר שלי? וורדפרס? ג'ומלה? דרופל?

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

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

ראשית כל כדאי לנו לא לשכוח שיש לא מעט מערכות חוץ משלושת המערכות הפופולריות האלו. ישנן פריימוורקים מצויינים רבים כמו Zend, CodeIgniter ואחרים. בנוסף, ישנן שפות שונות מ-PHP שמאפשרות פיתוח קל ומהיר על גבי פלטפורמות שונות – Ruby on Rails למשל שתופסת תאוצה בזמן האחרון, פייתון עם Django ואפילו .net של מיקרוסופט שמתהדרת במערכת קוד פתוח בשם orchard. כמעט כל יום נולדים פלטפרומות ופתרונות חדשים, חלקם טובים מאד, לבעיות שונות בווב.

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

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

לפיכך אני מרגיש שאני מספיק מוסמך בשביל לענות על השאלה – 'באיזו מערכת להשתמש כאשר אני בונה את האתר שלי?'. התשובה היא כמובן: תלוי.
תודו שלא נפלתם מהכסא.

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

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

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

בסופו של דבר, מה שחשוב הוא איכות בונה האתר

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

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

פוסטים נוספים שכדאי לקרוא

DALL·E 2024-09-06 12.34.24 - A visually engaging post about Python and cryptographic problems. The image should feature a dark-themed background with a glowing, futuristic Python
פתרונות ומאמרים על פיתוח אינטרנט

בעיות במימוש של פונקציות קריפטוגרפיות בפייתון

היום (16 לספטמבר) ממש, אני מעביר הרצאה ב-PyconIL 2024 על בעיות קריפטוגרפיות באפליקציות פייתון. לצערי אי אפשר להכניס את כל הבעיות הקריפטוגרפיות להרצאה אחת או

צילום מסך של סוואגר
יסודות בתכנות

openAPI

שימוש בתשתית הפופולרית למיפוי ותיעוד של API וגם הסבר בסיסי על מה זה API

גלילה לראש העמוד