לפתח באופן אישי - לא.
אבל עד לאחרונה עבדתי די הרבה שנים בחברה שמתמחה בפיתוח יישומים למובייל, עוד מימי Windows Mobile העליזים.
 
השתמשתי בכמה אפליקציות שפותחו עם PhoneGap ודומיו, והאיכות שלהן פשוט היית ירודה.
גם בעיצוב, גם בביצועים, וכמובן בצריכת זיכרון.
 
שקלנו בזמנו לאמץ כלי כזה או אחר, אבל די מהר הגענו למסקנה שזה בזבוז זמן וכסף - אם רוצים לתת מוצר איכותי ומקצועי ללקוח, אין תחליף ללהושיב מפתח שמתמחה בפלטפורמה ולפתח גרסאות במקביל.
 
נכון - זה עולה יותר, אבל שווה את ההוצאה, במיוחד בשוק אכזרי מוצף באפליקציות, שבו קל מאוד להידחף לחלק האחורי של החנות, וכשזה קורה, זה כאילו אתה לא קיים.
 
אני יכול לתת לך כמה דוגמאות ספציפיות לבעיות שאני לא בטוח איך אם בכלל הכלים האלה פותרים:
 
1. ניווט בתוך מסכי אפליקציה שונה בין iOS ל-Android.
ב-Android יש כפתור "אחורה" קבוע, והמשתמשים מצפים שהאפליקציה תגיב ללחיצה עליו בחזרה למסך הקודם או יציאה.
 
ב-iOS כמובן אין שום כפתור כזה, והמתכנת אחראי לשים כפתורים שיבצעו ניווט בין המסכים מה שלרוב יוצר חיווית ניווט שונה ופחות אחידה באפליקציות שונות.
 
עבור משתמש iOS כפתור "אחורה" בחלק העליון של חלון היישום הוא טבעי ביותר, עבור משתמש Android הוא דבר זר ומיותר.
 
ראיתי את זה עצל משתמשי Android שלקחו iPhone פעם ראשונה - הם פותחים משהו, ואז אינסטנקטיבית האצבע הולכת למטה לחפש כפתור לצאת מזה.
אבל הוא לא שם, וצריך לצוד איפה בממשק כן יש משהו שמאפשר לנווט לאן שרוצים.
 
בסוף מתרגלים, אבל זה לוקח זמן.
 
2. תקשורת בין יישומים ותגובת יישום לבקשות מבחוץ:
לא יודע עד כמה אתה מכיר פיתוח ל-Android, אבל תודות לשיטת ה-Manifest וה-Intent שלהם, כל אפליקציה יכולה להכריז באלו פעולות היא תומכת - דברים כמו "פתח תמונה", ואז כל אפליקציה אחרת שתנסה לבצע את הפעולה הזו בצורה סטנדרטית תופנה ע"י המערכת לאפליקציה שיודעת לעשות את הפעולה.
 
אם יש כמה, המשתמש יכול לבחור, ויכול גם לקבוע ברירת מחדל.
 
ב-iOS, הדבר נכנס רק בגרסה 8 ובצורה מאוד מוגבלת.
אם מפתח תוכנה רוצה שלמשתמש תהיה בחירה, הוא צריך לבקש את הפעולה בצורה מיוחדת, בעוד שצורה מערכתית סטנדרטית תביא אותו לאפליקציית ברירת מחדל שנקבעת ע"י יצרן המכשיר ולא מהשתמש!
 
אאל"ט, עד היום, אין אפשרות לפתוח קישורים מתוך תוכנת דוא"ל מובנית ב-iOS בדפדפן שאינו ספרי (אלא עם מעתיקים את הקישור במקום ללחוץ עליו).
 
3. שמירת קבצים.
אם היישום שלך שומר ופותח מסמכים, או קבצי משתמש מסוג כלשהו, כל ההתנהלות ב-Android ו-iOS שונה.
לא רק מבחינת "איך זה עובדת מתחת למכסה" - כי את זה הכלים יכולים להסתיר ממך בלי בעיה, אלא מבחינת יכולות המשתמש.
 
למשל, ב-iOS אין אזור אחסון משותף דרכו יישומים יכולים לשתף קבצים בלי להכיר אחד את השני.
 
4. פיתחנו כמה וכמה יישומים שעובדים עם BLE - כל מיני התקנים כמו צמידי כושר, שעונים חכמים (לא בהכרח Android Ware) ועוד גאדג'טים.
 
העבודה עם זה ב-iOS שונה מאוד מאשר ב-Android, וגם די עקומה.
והשוני מתבטא ביכולות, וכלן לא ניתן להסתיר אותו ע"י אבסטרקציה של framework.
 
5. מראה - זו נקודת התורפה הכי גדולה של האפליקציות האלה.
אולי קרה בחודשים האחרונים משהו שלא שמעתי עליו, איזה פיתוח מהפכני ואני לא מעודכן.
 
אבל, למיטב ידיעתי, לאפליקציות ההיברידיות פשוט אין יכולת לקבל מראה טבעי למערכת!
עיצוב שתואם לערכת הנושא שלה.
 
ב-iOS זה עוד חצי צרה כי כל המכשירים נראים אותו דבר אז אולי ניתן לזייף את המראה, אבל ב-Android יש הרבה ערכות נושא שהמשתמש גם יכול להחליף.
 
איך תתכוונן לזה עם HTML ו-CSS?
 
הנה בשלוף 5 דוגמאות שחלקן יוצרות בעיה אפילו לאפליקציה פשוטה שמקבלת כמה שדות ומתקשרת עם שרת.
הרי אם האפליקציה שלך נראית מכוער - כאילו היא לא במקום המכשיר, הדבר הראשון שהלקוח יחשוב זה שהיא לא מקצועית.
 
בכל אופן, אם בכל זאת יצא לך לעשות איזה פרויקט עם אחד הכלים שדיברת עליהם, אשמח לקרוא רשמים טריים.
אולי משהו השתנה, בטוח שדברים התחדשו - כלים כאלה מפותחים מהר.
אני לא שולל הפתעות, אם כי אני גם לא אופטימי.
 
בכל מקרה, בהצלחה בפרויקט!