Backend pro mobilní zařízení

7. 5. 2014

Pro mobilní aplikace často potřebujete vytvořit backend pro ukládání dat, přihlašování nebo push notifikace. S tím vám může pomoci Windows Azure Mobile Services.

Windows Azure Mobile Service (WAMS) je služba určená pro vytváření backendu pro mobilní aplikace. Služba využívá architekturu REST, což znamená, že je nezávislá na platformě. Aby byl vývoj aplikací co jednodušší, je k dispozici celá řada knihoven pro různé platformy, které zjednodušují vytváření klientské aplikace.

Není bez zajímavosti, že služba WAMS je postavena na Node.js.

Ukládání dat

Data jsou ukládána do standardní Azure SQL databáze, kterou WAMS zpřístupní přes REST rozhraní. U databáze stačí jen vytvořit tabulku, a o vytvoření struktury se automaticky postará služba. Struktura tabulky se vytváří podle objektů, které se do tabulky pokusíte uložit. Automatické generování struktury tabulky lze samozřejmě vypnout.

public class TodoItem

{

      public string Id;

      public string Text;

      public bool Complete;

}

Všimněte si, že název třídy odpovídá názvu tabulky a pro každou veřejnou vlastnost třídy je vytvořeno pole tabulky se stejným názvem.

Ukázka uložení záznamu do tabulky (Android):

import com.microsoft.windowsazure­.mobileservices.*;

private MobileServiceClient mClient;

mClient = new MobileServiceClient(

        „https://stepanb-unicorn.azure-mobile.net/“,

         „gpwatozYphLSRxbIwSHUZB3cOGZils70“,

         this

);

TodoItem item = new TodoItem();

item.Text = „Awesome item“;

mClient.getTable(Item.clas­s).insert(item, new TableOperationCallback<Item>() {

       public void onCompleted(Item entity, Exception exception, ServiceFilterResponse response) {

            if (exception == null) {

                  // Insert succeeded

         } else {

              // Insert failed

         }

     }

});

Autorizace

Pro autorizaci můžete využít různé různé služby jako je Twitter, Facebook, Google, Microsoft Account nebo Active Directory.

Po nastavení WAMS stačí jen přidat kód pro vynucení autorizace v aplikaci.
import com.microsoft.windowsazure­.mobileservices.MobileSer­viceUser;
import com.microsoft.windowsazure­.mobileservices.MobileSer­viceAuthenticationProvider;
import com.microsoft.windowsazure­.mobileservices.UserAuthen­ticationCallback;
private void authenticate() {

  // Login using the Google provider.
  mClient.login(MobileServi­ceAuthenticationProvider.Go­ogle,
        new UserAuthenticationCallback() {
             @Override
            public void onCompleted(MobileServiceUser user,
                   Exception exception, ServiceFilterResponse response) {

                if (exception == null) {
                   createAndShowDialog(String.format(
                             „You are now logged in – %1$2s“,
                             user.getUserId()), „Success“);
                   createTable();
               } else {
                   createAndShowDialog(„You must log in. Login Required“, „Error“);
                   }
                }
          });
}

U tabulky pak můžete nastavit přístupová práva.

Push notifikace

Podporovány jsou opět všechny hlavní platformy.

Z výše uvedeného je zřejmé, že pomocí Windows Azure Mobile Services můžete velmi snadno vytvořit univerzální backend pro různé mobilní platformy. V případě, že by vás zajímalo více informací k tomuto tématu, najdete je v dokumentaci, nebo se můžete podívat na záznam přednášky o této službě.

Štěpán Bechynský

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Podnikatel.cz: Insolvence LevneElektro.cz? Začíná boj o peníze

Insolvence LevneElektro.cz? Začíná boj o peníze

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Inspekce našla nelegální sklad v SAPĚ. Zase

Inspekce našla nelegální sklad v SAPĚ. Zase

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Podnikatel.cz: Instalatér, malíř a elektrikář. "Vymřou"?

Instalatér, malíř a elektrikář. "Vymřou"?

Vitalia.cz: 5 důvodů, proč jet na výlov rybníka

5 důvodů, proč jet na výlov rybníka

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

DigiZone.cz: Funbox 4K v DVB-T2 má ostrý provoz

Funbox 4K v DVB-T2 má ostrý provoz

DigiZone.cz: Ginx TV: pořad o počítačových hráčích

Ginx TV: pořad o počítačových hráčích

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

Podnikatel.cz: Dva měsíce na EET. Budou stačit?

Dva měsíce na EET. Budou stačit?

Lupa.cz: Aukro.cz mění majitele. Vrací se do českých rukou

Aukro.cz mění majitele. Vrací se do českých rukou

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

Podnikatel.cz: Kalousek chce odklad EET. Předvolební tah?

Kalousek chce odklad EET. Předvolební tah?