תגובה לתגובה

קוד פתוח או כתיבה מאפס

מהי הדרך הטובה ביותר לבנות את האתר שלך? האם כדאי לתת למתכנת שיכתוב אותו מאפס או שיבנה אותו בדרופל? להלן אדוּן ביתרונות ובחסרונות של כל שיטה.

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

אפשרות ראשונה: בניית האתר מאפס באמצעות קוד ייעודי

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

יתרונות

  1. מערכת האתר הסופי תהיה מותאמת אישית לחלוטין כדי לענות על הצרכים המדויקים של החברה שלך.
  2. פונקציונליות חדשה ניתנת להוספה על ידי מתכנת אחר במועד מאוחר יותר.
  3. פונקציונליות מורכבת עשויה להיות קלה יותר לפיתוח כאשר מתחילים מדף חלק.
  4. פונקציונליות מורכבות מסוימות עשויות להיות בלתי אפשריות לבנייה ללא תכנות ייעודי.
  5. האתר עשוי להיות מהיר יותר או יעיל יותר מאשר בבנייה על בסיס מערכת ניהול תוכן.

חסרונות

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

אפשרות שנייה: שימוש במערכת ניהול תוכן כבסיס לאתר

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

יתרונות

  1. כלקוח אתה חופשי להתרכז בבניית התוכן באתר שלך ולא בתפקודו התקין של האתר.
  2. המראה והתחושה של האתר ניתנים לשינוי באופן גורף לכל הדפים ללא כתיבה מחדש של פונקציונליות האתר כולו.
  3. ניתן לעקוב אחר שינוי בפריטי התוכן השונים ואף לדרוש מתכנים מסוג מסוים לעבור תהליך של אישור לפני הצגתם באופן ציבורי.
  4. עלויות האחזקה לאורך זמן נמוכות יותר.
  5. קהילה פעילה - בארץ ובעולם - יכולה לעזור לך בפתירת בעיות הקשורות באתר.
  6. בעיות אבטחה פוטנציאליות מטופלות על ידי צוות מיומן הדואג לתקנן ולהודיע למנהלן האתר על התיקון.
  7. דרופל יכול להיבנות על ידי מגוון רחב של אנשים, גם אם אינם מתכנתים.
  8. הנהלת האתר יכולה להיות מואצלת לצוות של אנשים שיכולים לחלוק באחריות על האתר - איש-איש לפי תחומו.
  9. רכיבים חדשים יוצאים בכל שבוע ומדביקים את קצב חשיפת הטכנולוגיות החדשות במהירות רבה.

חסרונות

אין. אוקיי, נכון, לכל כלי יש חוזקות וחולשות, אך באמת, כל חולשה שנמצא במערכת דרופל, תהיה בדרך כלל נמוכה מזאת של מערכת שנבנתה באופן ייעודי לאתר מסוים. לפניכם מגוון טענות שעולות לעתים נגד שימוש במערכת ניהול תוכן כתשתית לאתר ולאחריה למה לדעתי הן "לא מחזיקות מים":
1. "למנהל האתר מטעם הלקוח לוקח זמן עד שהוא לומד להשתמש במערכת בצורה יעילה". נו? ובמערכת שנבנתה באופן ייעודי אין עקומת למידה? לרוב היא אף תהיה גבוהה יותר בשל חוסר ידע נרחב בנושאי שמישות ושימושיות.
2. "כאשר אין רכיב מתאים ליכולת הנדרשת יש צורך לפתח רכיב חדש". נו? האם לא עדיף לפתח רק את מה שחסר (וזה נדיר) מאשר את הכול? למה לבנות את הגלגל מחדש?
3. "יש צורך להתפשר על הפונקציונליות הרצויה לפי מה שמספקים הרכיבים". אז? נמשיך את המטפורה של הגלגלים. האם מבחינה עסקית תסכים לשלם מחיר כפול על מכונית לצי הרכב של החברה שלך רק בשל הבטחה שאחיזה בהגה מרגישה יותר נעים לנהג?
4. "האקרים עלולים לנסות למקד את מאמציהם לתקוף אתרי דרופל שכן ישנם מספר רב של אתרים כאלו בעולם". דה?! זה יכול לקרות, אך מה האינטרס של אותם האקרים? דרופל אינה שייכת לאף אחד אלא לכולם, אז במי הם פוגעים? בכל מקרה, לא נרשמו תופעות אימתניות כאלה במהלך 10 השנים האחרונות בהן דרופל קיים.

אפשרות שלישית: שימוש במערכת קניינית (קוד סגור)

מבחינת הלקוח יש רק חסרונות. הקדשתי לכך מאמר נפרד, ראו: קוד פתוח או קוד סגור?.

Drupal report. Permalink: http://practicall.co.il/1/node/141

תגובתי:

כתובת האימייל שלך לא תוצג באתר. תמונתך המשויכת לאימייל זה תוצג אם יש לך גראווטר. Gravatar enabled
CAPTCHA
באמצעות השלמת המשפט הבא נוודא שלא נשלחת על-ידי רובוטים זדוניים...
Fill in the blank