Gå ned i vægt med Azure Mobile Services
-
Upload
christian-dalager -
Category
Technology
-
view
194 -
download
0
description
Transcript of Gå ned i vægt med Azure Mobile Services
![Page 1: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/1.jpg)
![Page 2: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/2.jpg)
Azure
Christian Dalager
Gå ned i vægt medAzure Mobile Services
Softwareudvikler mmEksponent ApS
![Page 3: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/3.jpg)
Agenda
Gå ned i vægt med Azure Mobile Services
• Case: Fitbit Weight• Azure Mobile Services i overblik• Demonstration m WP8 app
• Data, • Auth, • API, • Git• Push
![Page 4: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/4.jpg)
Christian Dalager
Softwareudvikler @ Eksponent.com
Sproghistorie:
Perl > PHP > Java > .NET > Ruby > Javascript
![Page 5: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/5.jpg)
Case: Fitbit Weight
![Page 6: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/6.jpg)
Fitbit Weight What?!
Ekstern pitch
”Få din vægt kastet i hovedet. Hele tiden. Det motiverer dit til at opnå din ønskede vægt”
Krav• Live tile• Push• Bruger går aldrig ind i app’en
Intern pitch
”Den her vægt har et API!”
![Page 7: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/7.jpg)
Install flow
![Page 8: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/8.jpg)
Op på vægten...
Efter 25 sek
![Page 9: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/9.jpg)
Hvorfor vælge Mobile Services?
• Push• Data• API• Let/gratis at komme igang med
![Page 10: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/10.jpg)
![Page 11: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/11.jpg)
![Page 12: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/12.jpg)
Azure Mobile Services
![Page 13: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/13.jpg)
Features i Mobile Services
• Data• API• Scheduler• Push• Identity• Scale
![Page 14: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/14.jpg)
Connected client APIs
• Windows Phone 7/8
• Windows Store• Android• iOS• REST (to bind
them all)
![Page 15: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/15.jpg)
Tooling
• In-browser editing (javascript editor)• Git• Logging• Command Line Interface (npm install azure –
g)
![Page 16: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/16.jpg)
Demo 1Opret en mobile service
![Page 17: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/17.jpg)
Data og ”tables”
• Alle har brug for data• Dynamisk skema (document-style)• Permissions• Scripts• Kan tilgås m API’er eller REST
interface.
![Page 18: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/18.jpg)
Demo 2AMSClient – windows phone 8 app, der henter/gemmer data fra Azure Mobile Services.
![Page 19: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/19.jpg)
Restful interface med OData support
Query eksempler
[serviceurl]/tables/item?$top=2
[serviceurl]/tables/item?$filter=substringof(‘ting', Name) eq true
![Page 20: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/20.jpg)
Authentication
• Undgå at skriv dit eget authentication system. • Eller dit eget OAUTH signup flow.• Providers:• Microsoft Account• Twitter• Facebook• Google
• Du får kun en identifier, ikke access tokens.
![Page 21: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/21.jpg)
Demo 3AMSClient – udvidelse med authentication
![Page 22: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/22.jpg)
Authentication, kommentarer
• Microsoft Account Authentication burde kende dig når du authenticater på windows phone
![Page 23: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/23.jpg)
Git!
• Distribueret source control• Deployment (bruger kudu, samme som Azure Websites)• Git er for tiden den mest udbredte DVCS – og defacto standard for
OSS projekter• Github• Bitbucket• Team Foundation Services• Azure• Heruko• Appharbor
![Page 24: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/24.jpg)
Demo 4Git source control deployment
![Page 25: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/25.jpg)
Git, kommentarer
• SSH public/private keypair authentication ville være rart• Problemet løses med >git config credential.helper store
• Bedre author logging på portalen:
![Page 26: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/26.jpg)
Push
Man kan pushe fra
• Data scripts• API• Scheduler• Custom API
Man pusher platformsspecifikt
• Windows Phone (push.mpns.*)
• Windows Apps (push.wns.*)
• Android (push.gns.*)• iOS (push.apns.*)
![Page 27: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/27.jpg)
Push flow, WP8
1. Bed om en HttpNotificationChannel2. Åbn den3. Gem notification URI på serveren, så
man udefra ved, hvem man skal kalde4. Bind channel til Toast/Tile/Raw
![Page 28: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/28.jpg)
Item.insert.jspush.mpns.sendRaw(channel.uri, { payload: "This is very RAW" }, { success: function(pushResponse) { console.log("Sent push, result:", pushResponse); }, error: function(e) { console.log('ERRoR: ' + JSON.stringify(e)); }});
![Page 29: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/29.jpg)
Demo 5AMSClient – udvidelse med Push
![Page 30: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/30.jpg)
Custom API
• Custom APIs eksponeres på http://[service].azure-mobile.net/api/[api-navn]
• Et api endpoint er et NodeJs module• Baseret på Express (NodeJs web framework: http://expressjs.com/
)• Med nogle permissions sat på sig.• Mulighed for NPM og shared code
![Page 31: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/31.jpg)
Demo 6Custom API: indsæt data fra API.Desuden: NPM og Shared code
![Page 32: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/32.jpg)
Custom API, kommentarer
• NPM understøtter ikke package.json formatet (svarende til NuGet Package Restore)
![Page 33: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/33.jpg)
Scheduler
En task scheduler.
Ikke noget fancy, men handy.
![Page 34: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/34.jpg)
Overordnet indtryk?
Hell yeah.• Let tilgængeligt• Man kommer *meget* hurtigt i luften.• Mange features• Til mobile apps er det *rigtigt* smart at scaling
er tænkt med, hvis f.eks. det indiske marked opdager din app.
![Page 35: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/35.jpg)
Gotchas
• Data scripts fungerer kun gennem ”eksternt api”• Antallet af ”active devices” har loft på 500 devices på den
”gratis” plan. Så hvis du laver en app, der bliver populær, risikerer du selv at skulle finansiere denne popularitet. lav en forretningsplan!
![Page 36: Gå ned i vægt med Azure Mobile Services](https://reader036.fdocuments.in/reader036/viewer/2022062514/558e6a841a28ab78028b4581/html5/thumbnails/36.jpg)
Farvel og tak
Fang mig på
• eksponent.com
• Twitter: @dalager
• Mail: [email protected]
Kildekode
• WP8 AMSClient : https://bitbucket.org/dalager/amsclient
• Dalager01 Mobile Service source: https://bitbucket.org/dalager/cddk13-service