2 כלים לניהול עדכוני אפליקציות שאתם פשוט חייבים להטמיע

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

צילום מסך: Google Play, App Store

צילום מסך: Google Play, App Store

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

בפוסט הנוכחי אדבר על 2 כלים בהם אנחנו משתמשים בגיקטיים כדי לנהל את הבילדים שלנו בחנויות האפליקציות השונות – Fastlane של טוויטר ו-CodePush של מיקרוסופט.

fastlane

צילום מסך, אתר Fastlane

Fastlane

״הנתיב המהיר״ הוא אחד הכלים המשמעותיים ביותר בו תוכלו להשתמש, ואף להתאים אותו בדיוק לצרכים שלכם. Fastlane נבנה בבסיסו כדי לסייע למפתחי iOS להתמודד עם הסיבוך שנקרא App Store, על כל הרישיונות ה-Provisioning Profiles שלו שהופכים את משימת שליחת ה-Builds למסובכת במיוחד.

Fastlane נבנתה על ידי מפתח בודד בשם Felix Krause (או בכינוי ה-GitHub שלו, KrauseFx) ונקנתה על ידי טוויטר באוקטובר 2015. היא יודעת להתממשק לחנות האפליקציות של אפל על ידי התחברות ל-Spaceship, ה-API הרשמי של אפל ל-iTunes Connect ול-Apple Developer Member Center, כמו גם לחנות האפליקציות של גוגל באמצעות ה-Google Play Developer API באמצעות סקריפטים מבוססי Ruby. העיקרון מבוסס על קובץ Fastfile שמגדיר Lanes, כל Lane כזה הוא בעצם סקריפט המריץ שורת פקודות. לדוגמא, הסניפט הבא מתאר שליחה ל-TestFlight לגירסאות אלפא ובטא:

desc "Submit a new Alpha Build to Apple TestFlight"
desc "This will also make sure the profile is up to date"
lane :alpha do  #Lane name
cert # Handles certificates
sigh(force: true) # Handles provisioning profiles
gym(scheme: 'MyApp’) # Builds the app by the selected scheme
pilot # Sends the app to TestFlight
end
desc "Submit a new Beta Build to Apple TestFlight"
desc "This will also make sure the profile is up to date"
lane :beta do
cert
sigh(force: true)
gym(scheme: 'MyApp’)
pilot(distribute_external)
end

לאחר שהגדרנו את ה-Lanes, כל מה שנשאר לעשות זה להריץ את הקוד מהתיקייה של הפרוייקט:

fastlane ios alpha או fastlane ios beta

וזהו. Fastlane תעשה עבורנו את כל השאר. הפונקציונליות הזו היא רק חלק קטן ממה ש-Fastlane מסוגלת לעשות; הכלי בעל יכולת אינטגרציה עם שירותים כגון Slack, OneSignal, Crashlytics Beta ואחרים, כך שתוכלו לנצל את מלוא הכוח של השירותים הללו לטובתכם.

אתם מוזמנים להיכנס לאתר הפרוייקט ולעמוד הפרוייקט ב-GitHub וללמוד כיצד להרים את הסביבה של Fastlane לפרוייקט שלכם, גם ב-iOS וגם באנדרואיד.

צילום מסך, אתר CodePush

צילום מסך, אתר CodePush

CodePush

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

לאחרונה, אפל הגמישה מעט את מדיניות עדכון האפליקציות שלה ונתנה בעצם אור ירוק לעדכן את האפליקציה מרחוק, כל עוד האפליקציה אינה משנה את המשמעות המרכזית שלה. מה זה אומר? זה אומר שאנחנו יכולים לשלוח עדכונים לאפליקציה, מבלי לעדכן את קובץ ה-Binary שנשלח ל-App Store, ובכך ״לעקוף״ את ה-App Review של אפל (שלוקח המון זמן).

בפלטפורמות הנתמכות (כרגע Cordova ו-React Native), כאשר האפליקציה שלכם מתקמפלת, היא בעצם עוברת שני שלבים: הראשון, קומפילציה של קבצי ה-Binary של האפליקציה, הכוללים את כל הספריות והרכיבים השונים המרכיבים אותה. השני – יצירת באנדל שכתוב ב-Javascript ומכיל את כל הלוגיקה של האפליקציה. אותו באנדל עובר תהליך של טרנספילציה (Transpilation), בדרך כלל על ידי babel ודומיה והתוצאה היא האפליקציה אותה בנינו.

העיקרון שעומד מאחורי CodePush הוא פשוט: את כל ה-Business Logic של האפליקציה (בדרך כלל קוד Javascript) תאחסנו אצלנו, בענן. כאשר האפליקציה שלכם רצה, במקום לבקש את הבאנדל שמכיל את הלוגיקה מהמכשיר עצמו, תבקשו אותה מהשרת בענן. CodePush מאפשרת לכם לאחסן את הקוד אצלה, ו״לדחוף״ Updates בצורה חלקה מבלי לעדכן את האפליקציה בחנות. מגניב, לא?

למידע נוסף והוראות כיצד לשלב את CodePush באפליקציה שלכם, iOS או אנדרואיד, תוכלו לבקר באתר הפרוייקט או בעמוד הפרוייקט ב-GitHub.

מכירים כלים נוספים? נשמח אם תשתפו אותנו

אבישי בר

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

הגב

4 Comments on "2 כלים לניהול עדכוני אפליקציות שאתם פשוט חייבים להטמיע"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
kavod
Guest

שווה לבדוק גם את https://rollout.io שמאפשרת לדחוף/לשנות קוד לאפליקציות iOS בפרודקשיין (objective C)

Avishay Bassa
Guest

תודה, מעניין איך הם עושים את זה…

מישהו
Guest

ה FastLane טוב גם עבור פעם ראשונה שמעלים אפליקציה ל App Store או רק לעדכונים ?

Avishay Bassa
Guest

גם בתור פעם ראשונה, למרות שלא הייתי מסתמך על אוטומציה לפעם הראשונה.
הייתי עושה את הכל בצורה ידנית, לאחר מכן FastLane יודע למשוך את כל המידע מהאפסטור ולאחסן אותו במחשב שלך, כולל כל התמונות, ה-Changelogs וכד׳.

wpDiscuz

תגיות לכתבה: