Successfully reported this slideshow.

Connected & Disconnected Apps with Xamarin

1

Share

Upcoming SlideShare
Xamarin Forms
Xamarin Forms
Loading in …3
×
1 of 26
1 of 26

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Connected & Disconnected Apps with Xamarin

  1. 1. #XamarinDevDays
  2. 2. We Apps! 189M downloads a day 200mins on phone 127mins in apps
  3. 3. The average app user has 36 apps installed on his or her phone.
  4. 4. Only 1/4 are used daily:
  5. 5. 1/4 of apps are never used!
  6. 6. http://opensignal.com/coverage-maps
  7. 7. Shared C# codebase • 100% native API access • High performance iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile C# Server Linux/Mono CoreCLRAzure Shared C# Client/Server
  8. 8. RESTAPI Offline sync Facebook Twitter Microsoft Google Azure Active Directory Azure Mobile Apps WindowsAndroid Chrome iOS OSX In-AppKindle Backend code SQL MongoTables O365 API Apps Offline Sync
  9. 9. Create a Mobile Service MobileService = new MobileServiceClient( "https://myapp.azurewebsites.net");
  10. 10. Create Tables IMobileServiceSyncTable<Store> table; public async Task Init() { const string path = "syncstore.db"; var db = new MobileServiceSQLiteStore(path); db.DefineTable<Store>(); } var handler = new MobileServiceSyncHandler(); await MobileService.SyncContext.InitializeAsync(db, h); table = MobileService.GetSyncTable<Store>();
  11. 11. Get and Modify Data public async Task<IEnumerable<Store>> GetStoresAsync() { await table.PullAsync("allStores", table.CreateQuery()); return await table.ToEnumerableAsync(); } public async Task<Store> AddStoreAsync (Store store) { await table.InsertAsync (store); await table.PullAsync("allStores", table.CreateQuery()); await MobileService.SyncContext.PushAsync(); return store; }
  12. 12. Let’s add a backend
  13. 13. So Much More
  14. 14. Shared C# codebase • 100% native API access • High performance iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile C# Server Linux/Mono CoreCLRAzure Shared C# Client/Server
  15. 15. Lunch! Rui Marinho Software Engineer - Xamarin Forms rumar@microsoft.com github.com/rmarinho @ruiespinho

Editor's Notes

  • Give evolve example app – always connected
  • Huge emerging markets.. People someites connect
  • There’s a lot of backend services

  • More nodes thatn awes and azure combined
    Th only to have notes in china Extremely powerful
    You can do almost anything your backend would ever need to do with Azure. Data storage, authentication/authorization, push notifications, custom APIs, blob storage, etc.
    Flexible
    Need something lightweight? Azure is there.
    Need something robust and powerful? Azure is there.
    C# clients
    I’m a frontend developer, I care a lot about how easy this makes MY job (selfish)
    Many C# clients are written by Java developers, etc.
    Easy to use C# client
    Abstracts away much of pain of using a RESTful API
    C# Features
    Async / Await / TPL
    Uses C# idioms
    Properties, Fluent API
    Seems obvious, but not always true (first class citizen)

  • With Xamarin it just isn’t your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!
  • With Xamarin it just isn’t your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!
  • What if a GetAll should only return favorites for that user.
  • SO Hard!
    Azure makes it easy
    Huge value in having this integrated with data... you can just say fire a push IF
  • ×