יום חמישי, 1 במרץ 2012

126 Android 2


פרק 126 – שיח עם רועי בן יוסף, מפתח Mobile ואוונגליסט לפיתוח באנדרויד ובקוד פתוח
נושא:  Android – שיחה שניה בנושא

-          קיבלנו מספר טיפים לפיתוח ב-Mobile הקשורים ל:
o       תגובתיות (2-3 שניות) אשר ניתן ליישם על ידי שימוש נכון ב-Multi-Threading  וב-UI Thread
o       טעינת מידע Just In Time או במקרים מסויימים Ahead of time ו/או שימוש חוזר במידע שנטען בעבר ולא אמור להשתנות, מתוך מטרה להמנע מ-Timeout שעלול להיווצר בזמן הניווט של המשתמש
o       כלים למדידת Response Time ולסימולציית פעולות של משתמש
o       שימת לב לניהול צריכת הסוללה וניצול מינימלי של חבילת הגלישה: מתי להשתמש באיכון מיקום ב- GPS או ב-WIFI (Network/Location Management), צמצום צריכת נתונים כשהמסך כבוי (המשתמש במילא לא רואה אותם...) ושימוש ב-BroadcastReceiver, זיהוי Pattern שימוש והתאמת אלגוריתם האפליקציה למצבים שחוזרים על עצמם (לדוגמא: במידה והמיקום חוזר על עצמו לא צריך תמיד לחפש את כל המסעדות בסביבה אלא אחת ל..., או לחלופין, לייצר Service אשר מספק חתימה לפיה ניתן לדעת אם הנתונים השתנו ומתי, וכך לאפשר לאפליקציה להחליט איך לפעול)
-          ניהלנו שיחה קצרה על בדיקות תוכנה באנדרויד והזכרנו את:
o       MonkeyRunner המאפשר לבצע מגוון פעולות UI.
o       הזכרנו את ACRA – ספריה המאפשרת שליחת Logs של UI FlowCrash Report ומידע אפליקטיבי נוסף ממכשירי קצה – ניתן להפיץ את התוכנה בשלב הבטא לצורכי Friendly User Trial בין חברים לפני שמפיצים את התוכנה ללא יכולות אלה לכלל הציבור (כדי להמנע מבעיות חוקיות). ייתרון נוסף של ACRA בשלב הבטא הוא שהיא מונעת את הדיווח לאנדרויד מרקט במקרה של קריסת אפליקציה, כך שלמעשה לא נאבד רייטינג בזמן הבדיקות.
o       הזכרנו את שירות TestFlight מעולם ה-iPhone Development אשר בשלב זה קיים באנרויד מרקט באופן מצומצם יותר וכנראה עדיין לא מספק
o       בנושא בדיקות אוטומטיות הזכרנו את Android Test Project החינמי אשר משתמש ב-JUnit ומאפשר ביצוע Unit Test ו-UI Test (כמובן שדורש ניתוח מערכת מתאים ופיתוח נוסף מראש כחלק מפרדיגמת ה-Test Oriented Programming או Test Driven Development).
-          הזכרנו מספר ספריות פיתוח שימושיות למפתחי אנדרויד:
o       הזכרנו את droid-fu, ספריית utility (ניתנת להורדה כאן) אשר נותנת מגוון כלים שימושיים ל-everyday needs.
o       הזכרנו ספריות לניתוח JSON  כגון Gson של גוגל ולעומתה Jackson אשר מציגה ביצועים טובים יותר וצורכת פחות זכרון (ראה כתבה בנושא כאן)
-          דיברנו על הדרך ל"שחרור" אפליקציות באיטרציות – האם זה אפשרי?
o       To make a long story short –the iteration model does not fit well to application development and it is different than service delivery, however, there are still some considerations that shall be taken
o       יש לקחת בחשבון את זמן ה-Review ולכן קשה מאוד לתכנן delivery בזמן הקצר מ-3-4 ימים וגם כאן תלויים בגורם חיצוני. תחת ההנחות הנ"ל ובייחוד לאור העובדה שמדובר באפליקציה (בשונה משירות Web אשר ניתן לעדכן ללא עירוב המשתמש הסופי), חשיבות התכנון מראש גדלה משמעותית.
o       צריך לקחת בחשבון שלא כל המשתמשים מעדכנים את התוכנה, למרות שהם מקבלים אינדיקציה על עדכון.
o       החל מהחצי שנה האחרונה, ניתן ליצור קשר ישיר עם הלקוחות דרך המרקט – פתח לתקשורת ישירה שבא ניתן לנסות לשכנע אותו להתקין את העדכון
o       החל מרגע העלאת העדכון למרקט, כל מי שהתקין את האפליקציה בעבר ייקבל חיווי על העדכון האחרון ברגע שיתחבר לרשת. חשוב לציין מה היו השינויים שגרמו לעדכון באופן מפורש – יותר מאשר "תיקוני באגים" אשר מעורר אנטגוניזם. בד"כ המשתמשים מעדכנים ברגע שהם מבינים במה מדובר ומקבלים את הרושם שכותב האפליקציה פועל באופן "שקוף" ומגיב מהר למשתמשים.
o       רצוי לא לשנות API. אם אין ברירה ועושים זאת, יש לשקול להפיץ את התוכנה כאפליקציה חדשה.

פינת המודעה הקטנה:
-          הצגת פינת הדרושים והפעם משרות פתוחות בחברת Matomy. דרושים מפתחים אשר אוהבים תוכנה וטכנולוגיה, בעלי יכולת יכולת להבין לעומק ולפתח בטכנולוגיות שונות תוך שימת לב להנדסת תוכנה נכונה ודגש על פיתוח איכותי ושחרור גרסאות ללקוחות קיימים ברזולוציה חודשית.
פרטים בסוף ה-Podcast או כאן או באימייל ל-ran.b@matomy.com

הקובץ נמצא כאן האזנה נעימה

תודה רבה לגל על העזרה בתקצור!

4 תגובות:

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

    השבמחק
  2. כל מי שהתקין את האפליקציה בעבר ייקבל חיווי על העדכון האחרון ברגע שיתחבר לרשת. חשוב לציין מה היו
    http://eastasiabc.org/

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

    השבמחק