איך לאפשר לאפליקציית המובייל שלכם לעבוד Offline תוך כדי שמירה על סנכרון עם הענן

7 בינואר 2015

תגיות: ,
אין תגובות

שירות Microsoft Azure Mobile Services מאפשר למפתחים להנות מתשתית ענן חזקה בקלות ליישומי המובייל או ה- Windows 8 שהם מפתחים. לא משנה אם אתם מפתחים אפליקציית Windows 8, Windows Phone 8, iOS ועוד פלטפורמות – אתם יכולים להנות מתשתית ענן בקלות ואלמנטים כגון אחסון, זיהוי משתמשים באמצעות פייסבוק למשל, נוטיפיקציות ועוד.

המוטו של שירות Azure Mobile Services הוא Add a cloud backend to your app in minutes ובהתאם לכך הוא משתכלל ומוסיף כל הזמן יכולות חדשות.

מבין הפיצ’רים הקיימים ניתן למנות:

  • הקמת תשתית API בקלות לאפליקציה שלכם בין אם זה .NET  או Node.js כמובן כולל ניטור וניהול 24/7  (לדעת מי,מתי ואיך משתמש ב- API שלכם)
  • ביצוע אימות והזדהות single sign-on באמצעות חשבון מיקרוסופט,פייסבוק, active directory, טוויטר וגוגל.
  • נוטיפיקציות Push למשתמש בודד או לסגמנט שלם
  • שמירת נתונים ב- SQL, Data Storage או MongoDB
  • גישה למשאבים on-premise, אופיס 365, SharePoint.
  • SDK לאפליקציות Windows 8, Windows Phone 8, אנדרואיד ו- iOS.
  • מתזמן משימות
  • תמיכה בפריסה ל- Datacenters חדשים ברחבי העולם

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

אפליקציית מובייל עם תמיכה בענן שעובדת גם אופליין

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

שירות Microsoft Azure Mobile Services מאפשר לכם לממש מנגנון סנכרון native,  שעובד על כל פלטפורמות המובייל – iOS, Android  ו-windows apps.
הפיצ'ר זמין גם על JavaScript וגם על .NET backends , ותומך בclients  הבאים: Windows Universal, iOS, Xamarin iOS, Xamarin Android, Android.

כעת שוחרר גם ה – offline managed client SDK אשר תומך כעת ב- Windows and Xamarin (תמיכה ב-IOS ואנדרואיד תגיע בקרוב).

ה-  Offline sync  מאפשר:

  1. שיפור בזמני התגובה של האפליקציה על ידי שימוש ב- caching serve לוקאלי על המכשיר.
  2. יצירה של אפליקציות רובסטיות אשר נשארות שימשות גם כאשר יש בעיות רשת.
  3. אפשרות למשתמשי קצה ליצור ולעדכן מידע אפילו כאשר אין רשת , כך שיש תמיכה בתסריטים של חוסר תקשורת או תקשורת מועטה. ושהאפליקציה חוזרת להיות מקושרת לרשת סנכרון המידע בעזרת Mobile Services backend.
  4. סנכרון מידע על פני כמה מכשירים וזיהוי קונפליקטים כאשר אותה רשומה מעודכנת על ידי שני מכשירים.
  5. הגבלה על שימוש ברשת של האפליקציה כאשר היוזר אינו על תוכנית בלתי מוגבלת של מידע. 

אם אתם כבר משתמשים ב- Mobile Services זה פשוט לעשות את האפליקציה שלכם offline – enabled  .

הוסיפו את ה- NuGet package – WindowsAzure.MobileServices.SQLiteStore..

והצעד הבא הוא כאשר אתם מתחברים ל- mobile service תשמשו במתודה GetSyncTable במקום GetTable

·

IMobileServiceSyncTable todoTable = App.MobileService.GetSyncTable(); // offline access

ניתן להשתמש בקוד הבא :

if (!App.MobileService.SyncContext.IsInitialized){    var store = new MobileServiceSQLiteStore("localsync.db");    store.DefineTable<TodoItem>();    await App.MobileService.SyncContext.    InitializeAsync(store, new MobileServiceSyncHandler());}

על האפליקציה שלכם להשתמש ב IMobileServiceSyncTable במקום IMobileServiceTable עבור פעולות CRUD.

וכך ישמרו שינויים ב-DB הלוקאלי (כמו גם לוגים)

כאשר האפליקציה תהיה מוכנה לסנכרן את השינויים עם ה-mobile service  השתמשו במתודה PushAsync and PullAsync

await App.MobileService.SyncContext.PushAsync(); await todoTable.PullAsync("queryID", myQuery);

המתודה PullAsync משתמשת ב- query ID כפרמטר הראשון אשר מזהה את ה- query באפליקציה שלך והוא משמש גם כ incremental sync ומאחסן את נקודת הזמן האחרונה שבה משכנו נתונים.

 

לעוד מידע מציעה לכם לקרוא ב-

· Tutorials: Windows, Xamarin iOS, Xamarin Android, iOS, and Android.

· Videos: Azure Friday video on Offline Sync, Cloud Cover episode on offline sync

· Xamarin samples: iOS, Android, Xamarin Forms

· Solution accelerator – Field Engineer (Windows Store)

 

 

noa franko-ohanaהפוסט נכתב על ידי נועה פרנקו-אוחנה,  Technical Evangelist של מיקרוסופט ישראל בנושא אפליקציות Windows Phone ו- Windows Store.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *