gå ned i vægt med azure mobile services

Post on 27-Jun-2015

194 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Oplæg holdt på Microsoft Campus Days 2013, 10. oktober 2013. Gennemgang af Azure Mobile Services platformen. Case: Fitbit Weight windows phone app.

TRANSCRIPT

Azure

Christian Dalager

Gå ned i vægt medAzure Mobile Services

Softwareudvikler mmEksponent ApS

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

Christian Dalager

Softwareudvikler @ Eksponent.com

Sproghistorie:

Perl > PHP > Java > .NET > Ruby > Javascript

Case: Fitbit Weight

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!”

Install flow

Op på vægten...

Efter 25 sek

Hvorfor vælge Mobile Services?

• Push• Data• API• Let/gratis at komme igang med

Azure Mobile Services

Features i Mobile Services

• Data• API• Scheduler• Push• Identity• Scale

Connected client APIs

• Windows Phone 7/8

• Windows Store• Android• iOS• REST (to bind

them all)

Tooling

• In-browser editing (javascript editor)• Git• Logging• Command Line Interface (npm install azure –

g)

Demo 1Opret en mobile service

Data og ”tables”

• Alle har brug for data• Dynamisk skema (document-style)• Permissions• Scripts• Kan tilgås m API’er eller REST

interface.

Demo 2AMSClient – 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

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.

Demo 3AMSClient – udvidelse med authentication

Authentication, kommentarer

• Microsoft Account Authentication burde kende dig når du authenticater på windows phone

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

Demo 4Git source control deployment

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:

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.*)

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

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)); }});

Demo 5AMSClient – udvidelse med Push

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

Demo 6Custom API: indsæt data fra API.Desuden: NPM og Shared code

Custom API, kommentarer

• NPM understøtter ikke package.json formatet (svarende til NuGet Package Restore)

Scheduler

En task scheduler.

Ikke noget fancy, men handy.

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.

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!

Farvel og tak

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

top related