Hlavní navigace

Úskalí vývoje aplikací pro smartphony

 Autor:
Firma chce dostat svůj software do rukou stovek milionů uživatelů smartphonů po celém světě, protože její šéf začal klást velký důraz na mobilitu - možná se obává, že mohou být zvěsti o brzkém konci éry klasických počítačů pravdivé.
Peter Wayner 26. 5. 2011

Sdílet

Proprietární nekompatibilní programovací systémy a přílišná kontrola nad obchodováním s mobilními aplikacemi však mohou způsobit příliš vysokou náročnost vývoje těchto programů – je tedy čas vyzkoušet následující alternativy orientované na jazyk HTML.

Nezáleží na tom, proč firma potřebuje vyvíjet mobilní aplikace. Problémem je naopak to, že jde stále o dost obtížný proces. Platforma iPhone a iPad od společnosti Apple vyžaduje psaní kódu v jazyce Objective-C a ten je poměrně málo známý. Navíc jakmile vývojář dokončí kódování, existuje nesporné riziko, že mu z nějakého neznámého důvodu pracovníci Applu přibouchnou dveře do App Storu přímo před nosem.

Smartphony postavené na operačním systému Android využívají mnohem populárnější jazyk Java a obchod s aplikacemi není regulovaný, ale jsou, co se týče popularity koncových uživatelů, až na druhém místě, minimálně v celosvětovém měřítku tržního podílu.

Telefony BlackBerry také využívají jazyk Java, ale pracují se zcela jiným rozhraním Java API, takže pro ně bude potřeba nový kód. Společnost Microsoft nedávno oznámila platformu Windows Phone 7, která zase pro vznik programů využívá prostředí Silverlight a .Net.

Aby toho nebylo málo, nemají chytré telefony dostatek paměti a neustále ukončují běžící služby, aby prodloužily výdrž na baterii. Programování pro ně zahrnuje finty, které v oblasti aplikací pro stolní počítače nejsou příliš často používány.

Vývoj mobilních aplikací je díky výše uvedeným skutečnostem nakonec jistým utrpením. Existuje však jiná cesta, než použít specifické jazyky a vývojové nástroje jednotlivých mobilních platforem: aplikace HTML spouštěné ve webových prohlížečích smartphonů. Chytré telefony iPhone a Android jsou dodávány s prohlížeči založenými na open source projektu WebKit stejně jako platforma Symbian, za níž stojí společnost Nokia, a Palm WebOS.

Operační systém BlackBerry OS 6, použitý v modelu Torch, také užívá prohlížeč vycházející z projektu WebKit. Z uvedeného důvodu bude web navržený pro libovolné toto zařízení vypadat a bude se chovat velmi podobně i na ostatních. (Výjimkou jsou zařízení Windows Phone 7 a starší verze systému BlackBerry OS, jejichž prohlížeče jsou založeny na omezenějších proprietárních technologiích.)

Vytvoření webové HTML aplikace vyladěné pro chytré telefony namísto vytváření plně nativní aplikace má několik výhod:

•    Přirozeně pracuje na více platformách.
•    I když je malá obrazovka pro návrháře oříškem, je obvykle možné využít část kódu z webů pro stolní počítače.
•    Existuje mnohem více programátorů v jazycích HTML a JavaScript než expertů pro platformy Objective-C a Silverlight.
•    Aktualizace probíhají podle vašeho plánu, a ne podle obchodu s aplikacemi. Také neexistují žádná despotická pravidla, která by bránila vaší webové stránce v šíření mezi uživatele.
•    Často je relativně snadnější přeprogramovat vrstvu zobrazování webu s cílem vytvořit optimalizovaný kód HTML pro mobilní platformy. V některých případech se jedná jen o použití nového souboru CSS.

Kód HTML může být přenesen do chytrých telefonů dvěma způsoby. Nejjednodušší je uložit jej na webovém serveru, který detekuje prohlížeč a návštěvníkům poskytne speciální verzi pro smartphony. Při tomto způsobu se tedy jedná o řešení zahrnující web a zároveň i aplikaci – postup je podporován operačními systémy.

Existují však také způsoby zabalení kódu HTML do samostatné aplikace, která sídlí v mobilním zařízení a je obklopena tenkou vrstvou nativního kódu. Ať již vyberete kterýkoli způsob, zůstávají logika a grafická podoba stejné. (A s částmi konceptu specifikace HTML5, které si hledají své cesty do mobilních prohlížečů, může mobilní aplikace založená na HTML pracovat podobně jako tradiční aplikace – tedy jako při využití výhod možností off-line úložiště a tzv. specifikace canvas jazyku HTML5.)

Existuje však několik velkých tříd řešení, které s aplikacemi HTML nepracují dobře. Některé hardwarové části chytrých telefonů, jako například kamera, jsou totiž obtížně dostupné a někdy je k nim přístup dokonce zcela blokován. Programátoři her ihned zjistí, že rychlost odezvy je často výrazně nižší. I vydavatelé zvažující zabalit knihu do podoby aplikace zjistí, že některé reakce mohou být pomalé u obsahu, kterým je nutno listovat a má se pohybovat podobně jako herní objekty.

Přesto však může být v jazyce HTML úspěšně napsáno mnoho aplikací – například weby, které zobrazují informace z databází. Nebo aplikace s formátem dat jako z Facebooku a Yelpu pro snadnější sledování, které nevyžaduje rychlé pohyblivé objekty nebo okamžité reakce. I když mnoho nejprodávanějších programů pro mobilní systémy jsou hry jako Angry Birds, řada z nich – včetně aplikací pro předpověď počasí, služby Netflix nebo elektronických knih – lze snadno poskytovat pomocí čistého kódu HTML.