Eftersom jeg har bestemt, at styrdindiabetes.dk skal være en Single Page Application, har jeg brug for en backend, hvor det er nemt at implementere en API, der er nemt at kalde fra JavaScript.  Her er REST med JSON et naturligt valg.

I ASP.NET MVC 4 er det nemt at opbygge en HTTP REST-ish API.  Formålet med relanceringen af styrdindiabetes.dk er dog ikke at opbygge en backend med en relationel database og en API ovenpå.  Det har jeg gjort før, og jeg keder mig allerede bare ved at skrive om det. 

Nej, formålet er at lære noget nyt, og det gjorde jeg heldigvis, da jeg i juni var til TechEd i Madrid.  Her så jeg en (ret poppet) session, hvor Steven Sanderson på 75 minutter bankede en SPA sammen med online booking af taxaer med kort og live pushbacks.  Det gjorde han vha. Windows Azure Mobile Services.

Azure Mobile Services har nogle interessante features.  Server-delen er baseret på node.js.  Databasen er SQL Server, men det er ikke muligt at lave relationer imellem tabeller.  Det kan føles som lidt en skuffelse, men på den anden side er Azure Mobile Services ikke bygget til store databasetunge projekter.  Tabellerne i databasen er dynamiske.  Det betyder, at kolonner dannes automatisk ud fra properties på de objekter, man sender fra klienten (det skal slås fra i produktion!).

Azure Mobile Servies har client API’er til Windows Phone, Android, iOS og ikke mindst til JavaScript.  API’en inkluderer authentication via FaceBook, Twitter, Google og Microsoft, hvilket skal bruges til styrdindiabetes.dk.

Platformen indeholder også andre ting som udsending af mails, push notifications og scheduled tasks.  Det er ikke noget, jeg regner med at få brug for, men man skal aldrig sige aldrig.

Priserne findes på Azure.  Som det fremgår får man 10 tjenester gratis med 20 MB SQL Server.  Det er nok til at lige at komme i gang.

Kode

Efter man har lavet sig en Azure Mobile Service, får man et client application id, som man skal bruge i sin JavaScript:

    <script src="https://styrdindiabetes.azure-mobile.net/client/MobileServices.Web-1.0.0.min.js"></script>

    <script>
        var client = new WindowsAzure.MobileServiceClient(
            "https://styrdindiabetes.azure-mobile.net/",
            "<Indsæt application id her"
        );
    </script>

Igennem client objektet har man nu adgang til hele API’en fra sin Azure Mobile Service, og så er det bare at gå i gang.

Kommentarerne er lukkede