יום שני, 13 באוקטובר 2008

תואר בתוכנות לבניית אתרים

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

האם אני אדבוק בה? ימים יגידו, ובינתיים ההתרשמות שלי ממנה דיי חיובית.

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

יום שישי, 3 באוקטובר 2008

הילד שצעק "תקנים תקנים"

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

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

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

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

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

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

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

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

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


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

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

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

המשך גלישה לא אדישה לכולם.

יום שני, 29 בספטמבר 2008

אין לי זמן

כולנו אומרים את זה, כולנו נגיד את זה, אבל אף אחד כמעט לא באמת מתכוון לזה.

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

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

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

המשך גלישה מהנה, חג שמח ושנה טובה.