Azure DevCamp Praha

PhoneGap pro Windows Phone

  • Comments 2

Jedna z možností jak vytvářet aplikace pro mobilní zařízení je využití HTML5 a spouštění aplikace přes webový prohlížeč. Takovéto řešení má své výhody, ale také své problémy:

Výhody:

  • Funguje na více typech zařízení
  • Lepší dostupnost vývojářů využívajících kombinaci HTML + CSS + Javascript

Nevýhody:

  • Zařízení musí být online
  • Veškerá data pro aplikaci musí pocházet ze stejného zdroje (domény) jako aplikace
  • Aplikace nemůže přistupovat na lokální zdroje telefonu
  • Takto vytvořenou aplikaci nemůžete publikovat na Marketplace

Nevýhody, které zdánlivě převyšují výhody, je však poměrně snadné odstranit díky jednoduchému triku. Stačí vytvořit nativní aplikaci, která v sobě obsahuje pouze komponentu webového prohlížeče WebBrowser a zajistit uložení webové aplikace do lokálního úložiště, tedy do IsolatedStorage. Webová aplikace, pak funguje i v případě, kdy zařízení není on-line, protože je uložena lokálně. V tomto případě je také možné přistupovat k informacím z různých domén, protože se neaplikují restrikce na cross-domain komunikaci.

Pokud potřebujete vyvolat z webové aplikace událost v nativní aplikaci, stačí zavolat Javascript funkci window.external.notify(<data>), která v ovládacím prvku WebBrowser, tedy v nativní aplikaci, vyvolá událost ScriptNotify. Pokud potřebuje nativní aplikace vyvolat akci ve webové aplikaci, tak stačí zavolat metodu InvokeScript ovládacího prvku WebBrowser a jako parametr předat jméno Javascript funkce ve webové aplikaci s případnými parametry.

Abyste nemuseli všechny tyto věci řešit sami, můžete využít projekt PhoneGap, který vše řeší za vás a je pro Windows Phone momentálně dostupný ve verzi Beta.

Postup instalace

  • Nainstalujte si Windows Phone SDK.
  • Stáhněte si zdrojové kódy PhoneGap WP7 z GitHub.
  • Zdrojové kódy se stáhnou jako zip archiv, který si rozbalte na libolné místo ve vašem počítači.
  • Ve staženém archivu je soubor GapAppStarter.zip.
  • Tento soubor (GapAppStarter.zip) zkopírujte do adresáře %userprofile%\Documents\Visual Studio 2010\Templates\ProjectTemplates.
  • Spusťte Visual Studio 2010.
  • Otevřete okno pro nový projekt (File – New – Project…).
  • Vyberte si Visual C# a najděte šablonu GapAppStarter. Můžete také využít pole pro hledání šablon.

clip_image002

  • Do nově vytvořeného Solution přidejte projekt WP7GapClassLib, který je součástí zdrojových kódu, které jste stáhli z GitHub.
  • Na tento projekt přidejte referenci z vašeho nového projektu GapAppStarter.

clip_image003

Vlastní aplikaci pak vyváříte jako webovou aplikaci v adresáři www, který najdete v projektu vytvořeném ze šablony GapAppStarter.

Další informace najdete v článku Announcing PhoneGap for Windows Phone Mango.

Štěpán

  • Není náhodou jedním z požadavků na umístění Marketplace "Nesmí jen otevírat webovou stránku."?

    Tohle mi to dost připomíná.

  • Ať hledám jak hledám omezení na to, že by Windows Phone aplikace nesměla otevírat webovku jsem nenašel. Kompletní podmínky jsou zde - skvělé čtení do postele před spaním ;) msdn.microsoft.com/.../hh184843(v=VS.92).aspx

    f.

Page 1 of 1 (2 items)
Leave a Comment
  • Please add 3 and 8 and type the answer here:
  • Post