יום ראשון, 24 באפריל 2011

PHP נגד ASP

איזו שפה היא השלטת? מי עדיפה יותר? במי נעשה שימוש רחב יותר?

התשובה מאוד ברורה - PHP. גאווה ישראלית. ;) ניתן לקרוא הכול עליה כאן. למה דווקא PHP אתם שואלים? הסיבות מאוד ברורות:

* חינמית
* קוד פתוח
* מאובטחת
* נתמכת במגוון שרתים
* דינמית (יש מערכות שיכולות להשתמש אפילו בקובץ אחד כדי להריץ אתר שלם)

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

ASP, פותחה על ידי חברת הענק Microsoft, ולכן, יכולה לרוץ בעיקר (או רק?) על שרתי Windows Server (תודה גפן ;)). לעומת זאת, PHP יכולה לרוץ גם על Linux וגם על Windows (לגבי Chrome OS - לא אפשרי, כי היא לא מיועדת לשרתים, תודה לגפן על המידע).

99% מהמערכות שתירגמתי עד היום (במלואן, לא במלואן, זה לא משנה XD), נכתבו בשפת PHP.

אז אם אתם שואלים אותי - PHP. אם יזדמן לי ללמוד שפת תיכנות Web בעתיד - אין לי ספק שבראש ובראשונה אלך על PHP (אחרי JavaScript כמובן).

חג שמח! :)

יום ראשון, 10 באפריל 2011

פרויקטים

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

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

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

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

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

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

אתר הבית של SMF ישראל.

יום שלישי, 5 באפריל 2011

כסף או חופש?

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

התשובה אינה חד משמעית. יש יתרונות וחסרונות בשני סוגי המערכות.

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

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

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