האם אפשרי עולם ללא תוכניתנים?

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

זאב סורסקי, "מרושתים" פורסם: 26.02.07, 22:36

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

 

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

 

המושג עצמו קשה להגדרה, אך פירוט חלקי של הסממנים כולל בתוכו יישומים בעלי ממשק משתמש עשיר כדוגמת Google Maps או Google Docs; שיתוף נרחב בתכנים שמיוצרים ע"י המשתמשים –כדוגמת YouTube או Wikipedia; והרכבת אפליקציות חדשות ממרכיבים קיימים – כדוגמת HousingMaps.com, שמאגדת מידע מ-Google Maps ומידע על דירות מאתר Craig's List.

 

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

 

למה זה מעניין?

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

 

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

 

בעזרת טכנולוגיות תקשורת מודרניות (Web Services), ניתן עתה "לשאוב"את מידע הדיור מאתר נוסף – במקרה זה Craig's List, ולהציג אותו על גבי המפה שלגוגל. התוצר - יישום חדש לחלוטין, שמאפשר לחפש דירה על גבי מפת העיר בה אתם מעוניינים לגור (כמובן, רק במקרה ואתם מתגוררים בארצות הברית). האפשרויות שנפתחות אינסופיות– חשבו למשל אם הייתם יכולים לחפש מסעדות הקרובות למקום מגוריכם בצורה ויזואלית, על גבי מפת עירכם. אגב, לחברת מפה (www.mapa.co.il) יש טכנולוגיה דומה לזו של Google Maps הכוללת מיפוי מפורט לישראל, אם כי לא ראיתי עד היום יישומים חדשים המבוססים עליה.

 

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

 

אם ניקח לדוגמה את הפורטל "my.walla" (הדומה לזה של Google ו-Yahoo!), נראה שכל אחד בעל יכולות בסיסיות של שליטה במחשב, יכול"לפתח" לעצמו אתר בית משלו – שיכיל מידע מאתרי חדשות שונים, נתונים על המניות שלו, מידע על מזג האוויר וכד'. את עיצוב הדף ניתן לעשות תוך גרירה ושחרור (drag&drop), יכולת שעד לאחרונה היתה נדירה בעולם ה-Web. כמות ספקי המידע שאפשר לשלב לתוך דף הבית היא אינסופית – מ-CNN ועד Ynet או NRG (כל ספק תוכן תומך RSS).

 

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

 

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

 

IBM פיתחה יישום בשם QedWiki, שמאפשר למפתחים לייצר אפליקציות חדשות תוך מספר שעות – לפעמים אפילו דקות – תוך שימוש ברכיבי Web קיימים כדוגמת Google Maps, שירות חיזוי מזג האוויר שלארצות הברית (NOAA), שירות וידוא כתובות, וכו'. שני דברים מרשימים במיוחד בפיתוח הניסיוני הזה –האחד, הוא שייצור היישום נעשה כולו היישר מתוך הדפדפן – אין שום צורך בכלי פיתוח כאלה או אחרים, כל משתמש בעל גישה ל-Internet Explorer או Firefox יכול לפתח אפליקציות. השני – הוא שרוב הרכיבים בהם ניתן להשתמש לאפותחו על ידי IBM – אלא פותחו על ידי חברות אחרות, וזמינים לשימוש ברשת.

 

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

 

מגמה נוספת שהשפעתה מתחילה להיות מורגשת אצל כל אחד ואחד מאיתנו היא זו של הקוד הפתוח. PHP, ש"נולדה" בישראל, היא אחת מנקודות המפגש המעניינות בין מגמת הקוד הפתוח וזו של Web 2.0 – והיא שפת הפיתוח הנפוצה ביותר באינטרנט כיום (Qed,למשל, כתובה בשפה זו – כמו גם אתר YouTube, Yahoo! ואתרי Web2.0 רבים נוספים).

 

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

 

למעשה, מגמת הקוד הפתוח ואחת ממגמות ה-Web 2.0 המרכזית - אתרים מבוססי תוכן של משתמשים (user generated content) שלובות זה בזו. בשני המקרים מוקד הכוח עובר מהתאגידים הגדולים – בין אם אלו תאגידי המדיה ובין אם אלו חברות התוכנה הגדולות - אל משתמשי הקצה, באמצעות אתרים כגון YouTube ו-SourceForge. על לינוקס, שאפשרה לחברות Web רבות להתקיים מלכתחילה (דוגמה בולטת - גוגל) אין צורך להכביר במלים.

 

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

 

אלו מכם המעוניינים לשמוע קצת יותר על עולם הקוד הפתוח ועל המגמות העתידיות בעולם ה-Web, יכולים להצטרף לתערוכת Software 2007 ב-28 למרץ. גם אני אהיה שם, כחלק ממושב הקוד הפתוח. אתם מוזמנים!

 

מרושתים, לבלוג המלא