מדריך התוכנה של רונן

תיכנות, תוכנה,

PhoneGap: בניית אפליקציות מובייל

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

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

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

PhoneGap מציעה “מעטפת” אפליקטיבית אשר מאפשרת לכם לפתח אפליקציה אחת, באמצעות HTML5, CSS ו- JavaScript, אפליקציה אשר ניתן להמיר אותה בקלות לכל פלטפורמה אשר נתמכת על ידי הכלי.

כיום, הפלטפורמות הנתמכות על ידי PhoneGap הן Windows Phone, Android, iOS, Symbian, Blackberry,WebOS, Samsung Bada והיד עוד נטויה לפלטפורמות עתידות לבוא.

הרעיון מאחורי PhoneGap

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

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

אז איך זה עובד

כאשר אתם מפתחים אפליקציה באמצעות PhoneGap, כל מה שנדרש ממכם הוא להכיר את טכנולוגיות הפיתוח לווב: HTML, JavaScript ו-CSS ואת התשתית האפליקטיבית הרלוונטית ש-PhoneGap מציעה לכם הממומשת באמצעות ספריות JavaScrip.

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

כיצד מפתחים באמצעות PhoneGap

phone_gapהקונספט שאליו כיוונו מפתחי הפרוייקט הוא Build Once, Deploy Every Where.

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

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

שלב ראשון – פיתוח האפליקציה בסביבה הנוחה לנו.

כאן יש לנו מספר אופציות:  אנו יכולים להשתמש בכלי ובפלטפורמה המועדפים עלינו. במקרה שלנו זה Visual Studio, לכן נוריד את ה- Windows Phone SDK ונוריד את ספריות PhoneGap המותאמות ל- Visual Studio ומגיעות בתור Solution נוח לעבודה. אם היינו מפתחי אנדרויד למשל, היינו יכולים להוריד את ה- SDK המתאים ולעבוד עם Eclipse.

 

האופציה השנייה העומדת לרשותנו, היא שימוש בשירות שנקרא PhoneGap:Build. למעשה, כל שנדרש מאיתנו כאן זה להעלות קובץ זיפ המכיל את קבצי האפליקציה שלנו (שכאמור מורכבים מ- HTML, CSS, JS בלבד). השירות בענן יאפשר לנו לקמפל את האפליקציה בצורה אוטומטית לכל הפלטפורמות ולהכין אותן להפצה ל- Marketplaces השונים. בלי התקנות SDK ו- IDE’s שונים על המחשב וכו’. מאד נוח. המפתחים קוראים לזה Compile In the Cloud, Run Anywhere.

 

כיוון ש- PhoneGap מציעה API, אנו מתחילים לראות חברות צד שלישי אשר מציעות כלי פיתוח שונים, חלקן בענן, המבצעות אינטגרציה לשירותי PhoneGap ו- PhoneGap Build Cloud. אחת מן הדוגמאות הטובות היא Application Craft.

 

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

 

שלב שני – העברת האפליקציה לפלטפורמות השונות.

 

אם פיתחנו באמצעות כלי ספציפי עבור בשימוש SDK ספציפי, למשל בדוגמא שלנו VS + WP SDK, אזי  כרגע למעשה יש לנו אפליקציה מקומפלת אשר מתאימה לפלטפורמה אחת בלבד. אך אל דאגה – כיוון שהשתמשנו למעשה במעטפת אפליקטיבית של PhoneGap, תהליך העברת האפליקציה לפלטפורמות אחרות הולך להיות מאד קל. כל מה שנצטרך לעשות הוא לפתוח את ה- Pacakge שנוצר בכלי האחר, לקמפל אותו – ויש לנו אפליקציה המותאמת לפלטפורמה עליה קימפלנו.

 

אם פיתחנו באמצעות ה- PhoneGap Build Cloud או שירות צד שלישי דומה, אזי כבר העבודה בוצעה – כלים אלו יודעים לקמפל את האפליקציה As a Service עבור הפלטפורמות השונות ולא נדרשת מאיתנו עבודה נוספת.

 

PhoneGap ו- Windows Phone

 

כבר בספטמבר 2011 מיקרוסופט הודיעה על תמיכה בפרוייקט PhoneGap, במסגרת תמיכתה בקידום סטנדרטים לפיתוח ווב ומובייל ותרומתה לפרוייקטים כגון  HTML5 ו- jQuery Mobile. אנו רואים את התוצאות ב-IE9 אשר תומך בסטנדרטים אלו ואנו רואים את זה בפרוייקטים כמו PhoneGap ובשיתופי פעולה של מיקרוסופט בנושא עם חברות כמו IBM, Adobe ו- RIM.

 

אנו שמחים לראות שהמאמצים נשאו פרי ולפני כשבועיים סוף סוף שוחררה גרסת PhoneGap 1.3 אשר הכילה תמיכה בפיתוח אפליקציות Windows Phone. 

 

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

PhoneGap-Table_47D43464

מלבד הפונקציות הבסיסיות המתוארות מעלה, מפתחים יכולים להנות ממגוון פלאגינים והרחבות המאפשרים תמיכה ברשתות חברתיות – Facebook, LinkedIn, Twitter, Windows Live, וכמובן אינטגרציה הדוקה עם Visual Studio גם בגרסאותיו החינמיות.

פיתחנו אף עוד הרחבות אשר מאפשרות למפתחי HTML5 להנות מהפיצ’רים היחודיים של Windows Phone כגון Live Tile Update וחיפוש מפות Bing.

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

להדגמת פיתוח קצרה באמצעות Visual Studio ו- PhoneGap על איך מפתחים אפליקציית מצלמה המותאמת ל- Windows Phone 7 ואנדרויד ב-3 דקות!.. הסתכלו בסרטון הזה. הקוד ניתן להורדה מכאן והפלאגינים שנעשה בהם שימוש נמצאים כאן.

 

, ,