תפריט צד

PhoneGap - פיתוח אפליקציות למגוון מכשירי מובייל

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

PhoneGap מציעה “מעטפת” אפליקטיבית אשר מאפשרת לכם לפתח אפליקציה אחת, באמצעות HTML5, CSS ו- JavaScript, אפליקציה אשר ניתן להמיר אותה בקלות לכל פלטפורמה אשר נתמכת על ידי הכלי. כיום, הפלטפורמות הנתמכות על ידי PhoneGap הן Windows Phone, Android, iOS, Symbian, Blackberry,WebOS, Samsung Bada והיד עוד נטויה לפלטפורמות עתידות לבוא.

איפה היינו?

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

לאן אנחנו הולכים?

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

  • HTML
  • JavaScript
  • CSS
כלומר, המפתח בונה את האפליקציה פעם אחת בסביבת הפיתוח של PhoneGap, וזו משלימה עבורו את העבודה ומייצרת קוד אחיד אשר ירוץ על כל פלטפורמה. הדבר נעשה באמצעות שכבת ביניים, מבוססת javascript, אשר ממירה את הפונקציות שכתבנו לכאלו המתאימות ל nativ API של הפלטפורמה הנבחרת.

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