SlideShare a Scribd company logo
1 of 36
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
Christian Dalager
Softwareudvikler @ Eksponent.com
Sproghistorie:
Perl > PHP > Java > .NET > Ruby > Javascript
Case: Fitbit Weight
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!”
• Push
• Data
• API
• Let/gratis at komme igang med
Azure Mobile Services
• Data
• API
• Scheduler
• Push
• Identity
• Scale
• Windows Phone 7/8
• Windows Store
• Android
• iOS
• REST (to bind them
all)
• In-browser editing (javascript editor)
• Git
• Logging
• Command Line Interface (npm install azure –g)
Demo 1
Opret en mobile service
• Alle har brug for data
• Dynamisk skema (document-style)
• Permissions
• Scripts
• Kan tilgås m API’er eller REST interface.
Demo 2
AMSClient – windows phone 8 app, der henter/gemmer data fra Azure Mobile
Services.
Restful interface med OData
support
Query eksempler
[serviceurl]/tables/item?$top=2
[serviceurl]/tables/item?$filter=
substringof(‘ting', Name) eq true
• 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.
Demo 3
AMSClient – udvidelse med authentication
• Microsoft Account Authentication burde
kende dig når du authenticater på windows
phone
• 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
Demo 4
Git source control deployment
• SSH public/private keypair authentication ville være rart
• Problemet løses med >git config credential.helper store
• Bedre author logging på portalen:
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.*)
1. Bed om en HttpNotificationChannel
2. Åbn den
3. Gem notification URI på serveren, så man udefra
ved, hvem man skal kalde
4. Bind channel til Toast/Tile/Raw
Item.insert.js
push.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));
}
});
Demo 5
AMSClient – udvidelse med Push
• 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
Demo 6
Custom API: indsæt data fra API.
Desuden: NPM og Shared code
• NPM understøtter ikke package.json formatet (svarende til NuGet Package
Restore)
En task scheduler.
Ikke noget fancy, men handy.
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.
• 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!
Fang mig på
• eksponent.com
• Twitter: @dalager
• Mail: christian.dalager@eksponent.com
Kildekode
• WP8 AMSClient : https://bitbucket.org/dalager/amsclient
• Dalager01 Mobile Service source: https://bitbucket.org/dalager/cddk13-service

More Related Content

Similar to Gå ned i vægt med Azure Mobile Services

Azure Mobile Services (Danish)
Azure Mobile Services (Danish)Azure Mobile Services (Danish)
Azure Mobile Services (Danish)Christian Dalager
 
Fastlane introduktion (Let's talk Apple)
Fastlane introduktion (Let's talk Apple)Fastlane introduktion (Let's talk Apple)
Fastlane introduktion (Let's talk Apple)Martin Jensen
 
Cross Platform Apps (danish)
Cross Platform Apps (danish)Cross Platform Apps (danish)
Cross Platform Apps (danish)Mads Møller
 
Notes til XPage på 1 time
Notes til XPage på 1 timeNotes til XPage på 1 time
Notes til XPage på 1 timeJakob Majkilde
 
Nagios præsentation (på dansk)
Nagios præsentation (på dansk)Nagios præsentation (på dansk)
Nagios præsentation (på dansk)Christian Have
 
Clio online flow undervisning
Clio online flow undervisningClio online flow undervisning
Clio online flow undervisningJan-Erik Revsbech
 

Similar to Gå ned i vægt med Azure Mobile Services (6)

Azure Mobile Services (Danish)
Azure Mobile Services (Danish)Azure Mobile Services (Danish)
Azure Mobile Services (Danish)
 
Fastlane introduktion (Let's talk Apple)
Fastlane introduktion (Let's talk Apple)Fastlane introduktion (Let's talk Apple)
Fastlane introduktion (Let's talk Apple)
 
Cross Platform Apps (danish)
Cross Platform Apps (danish)Cross Platform Apps (danish)
Cross Platform Apps (danish)
 
Notes til XPage på 1 time
Notes til XPage på 1 timeNotes til XPage på 1 time
Notes til XPage på 1 time
 
Nagios præsentation (på dansk)
Nagios præsentation (på dansk)Nagios præsentation (på dansk)
Nagios præsentation (på dansk)
 
Clio online flow undervisning
Clio online flow undervisningClio online flow undervisning
Clio online flow undervisning
 

Gå ned i vægt med Azure Mobile Services

  • 1.
  • 2.
  • 3. 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
  • 4. Christian Dalager Softwareudvikler @ Eksponent.com Sproghistorie: Perl > PHP > Java > .NET > Ruby > Javascript
  • 6. 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!”
  • 7.
  • 8.
  • 9. • Push • Data • API • Let/gratis at komme igang med
  • 10.
  • 11.
  • 13. • Data • API • Scheduler • Push • Identity • Scale
  • 14. • Windows Phone 7/8 • Windows Store • Android • iOS • REST (to bind them all)
  • 15. • In-browser editing (javascript editor) • Git • Logging • Command Line Interface (npm install azure –g)
  • 16. Demo 1 Opret en mobile service
  • 17. • Alle har brug for data • Dynamisk skema (document-style) • Permissions • Scripts • Kan tilgås m API’er eller REST interface.
  • 18. Demo 2 AMSClient – windows phone 8 app, der henter/gemmer data fra Azure Mobile Services.
  • 19. Restful interface med OData support Query eksempler [serviceurl]/tables/item?$top=2 [serviceurl]/tables/item?$filter= substringof(‘ting', Name) eq true
  • 20. • 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.
  • 21. Demo 3 AMSClient – udvidelse med authentication
  • 22. • Microsoft Account Authentication burde kende dig når du authenticater på windows phone
  • 23. • 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
  • 24. Demo 4 Git source control deployment
  • 25. • SSH public/private keypair authentication ville være rart • Problemet løses med >git config credential.helper store • Bedre author logging på portalen:
  • 26. 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.*)
  • 27. 1. Bed om en HttpNotificationChannel 2. Åbn den 3. Gem notification URI på serveren, så man udefra ved, hvem man skal kalde 4. Bind channel til Toast/Tile/Raw
  • 28. Item.insert.js push.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)); } });
  • 29. Demo 5 AMSClient – udvidelse med Push
  • 30. • 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
  • 31. Demo 6 Custom API: indsæt data fra API. Desuden: NPM og Shared code
  • 32. • NPM understøtter ikke package.json formatet (svarende til NuGet Package Restore)
  • 33. En task scheduler. Ikke noget fancy, men handy.
  • 34. 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.
  • 35. • 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!
  • 36. Fang mig på • eksponent.com • Twitter: @dalager • Mail: christian.dalager@eksponent.com Kildekode • WP8 AMSClient : https://bitbucket.org/dalager/amsclient • Dalager01 Mobile Service source: https://bitbucket.org/dalager/cddk13-service

Editor's Notes

  1. This slide is mandatory
  2. This slide is mandatory
  3. This slide is optional
  4. This slide is optional
  5. This slide is mandatory if you are doing demos
  6. This slide is mandatory if you are doing demos
  7. http://msdn.microsoft.com/en-us/library/windowsazure/jj677199.aspx
  8. This slide is mandatory if you are doing demos
  9. This slide is mandatory if you are doing demos
  10. This slide is mandatory if you are doing demos
  11. This slide is mandatory if you are doing demos