Malá rešerše možností vývoje aplikací v HTML a JS pro mobilní telefony. 

Vítězem je .. PhoneGap .. má jednu obrovskou výhodu a tou je jeho křivka učení (podobná PHPčku). Kdo zná základy HTML a Javascriptu, může se směle pustit do díla a během víkendu má první hotovou aplikaci, kterou nasadí na všechny majoritní platformy. Na PhoneGap vsadilo Adobe (pro jistotu si ho koupilo), open source varianta se jmenuje Cordova. Není potřeba znát Javu (Android), nemusíte znát ObjectiveC (Apple), just HTML5 and JS.

 

 (finální výběr – jeho radosti a strasti přidám po dokončení aplikace .. dopsal jsem do poznámek "z praxe")

 

PhoneGap - převede javascript a html na mobilní aplikaci, která "vypadá" jako nativní aplikace dané platformy
  • http://phonegap.com/http://incubator.apache.org/cordova/ 
  • přidává speciální funkce na ovládání telefonu (např. GPS, Foto..atd.), seznam zde:  http://docs.phonegap.com/en/1.9.0/index.html 
  • když nějakou funkci nepodporuje, lze napsat plugin (nutno znát Javu (Android) nebo ObjectiveC (Apple) )
  • neřeší grafiku - tu je nutno naprogramovat, existují však knihovny, které to řeší, např. jQueryMobile ( http://wiki.phonegap.com/w/page/36868306/UI%20Development%20using%20jQueryMobile)
  • vývojové prostředí:
  • z praxe: instalace PhoneGap není obtížná, ale na poprvé chvilku zabere, na stránkách PhoneGap je srozumitelný návod jak postupovat krok po kroku. Nasadil jsem pouze na androidu - ale nevypadá to, že by měly nastat nějaké potíže na jiných platformách. 
    • nakonec se ukázalo, že největší brzdou vývoje je samotný JavaScript - nikdy jsem nepsal celou aplikaci v JS, proto chvilku trvalo, než jsem pochopil jak to ve světě JS chodí (zůstávám fanouškem C#, děsí mě myšlenka, že by se měl Javascript stát assemblerem webu (zaslechnuto na webexpo))
Co lze použít s PhoneGap:

 
jQueryMobile - rozšíření javascriptu a GUI
(4IT445..\1 letní semestr..\Sencha Touch vs. jQuery Mobile) .. rychlý úvod
  • řeší grafiku, tj. ovládací prvky - tlačítka, seznamy, formuláře, hlavičky, patičky ..atd.
  • není to jako jQuery (omezení?)
  • vhodné pro menší aplikace, jQuery je na konferencích často kritizované (@steida), ale ve skutečnosti hodně používané - je to takový otloukánek jako PHP, ale ve světě javascriptu
  • jednoduché na naučení, asi nejznámější
  • cena: zadarmo
  • z praxe: v aktuálním stavu  (červenec 2012) nepoužitelné .. pomalé i na mé Galaxy SIII, stačí přidat pár prvků na formulář a celá aplikace je najednou k uzoufání pomalá, nelezené triky na webu nepomohly, i samotná ukázková aplikace je peklo - takhle opravdu (pseudo) nativní aplikace nevypadají (i když .. pokud zkusíte originální Faceboook aplikaci ... ).
 
SenchaTouch - prostředí (kompletní řešení) pro robustní JavaScript aplikace
  • http://www.sencha.com
  • zajímavé .. náročnější na učení
  • Obsahuje vývojové prostředí (http://www.sencha.com/products/architect)
  • Obsahuje architekturu (založeno na MVC)
  • Obsahuje vlastní jazyk - založeno na ExtJS - rozšíření javascriptu (http://docs.sencha.com/ext-js/4-1/)
  • řeší tedy vše, včetně designu (desítky komponent), je to cesta k větším aplikacím
  • v čechách se moc nepoužívá, ale např.  http://www.kerio.cz/ na tom má postavené své mobilní řešení (prezentováno na WebExpo 2011)
  • cena: $329.00 za exJS + $400 za Sencha Architect (jestli to chápu dobře)
KendoUI - web i mobil
  • www.kendoui.com
  • postaveno na jQuery, lze používat i jQueryUI, podobné jqueryMobile (data-role a podobné), sada komponent
  • Telerik - velká, známá firma (i negativně)
  • pěkný úvod:  http://www.kendoui.com/blogs/teamblog/posts/12-02-22/building_your_first_kendo_ui_mobile_phonegap_application.aspx
  • na straně serveru podpora Microsoft .NET (MVC)
  • Cena: $200 pro mobil, $700 web i mobil, $1000 Kendo UI Complete for ASP.NET MVC (všechno) - ale to už by mohla být zajímavá kompletní sada komponent od Telerik za $1500 
  • z praxe: méně prvků a možností než JQueryMobile, ale za to funguje dostatečně rychle .. toto jsem zvolil, pro malé aplikace naprosto dostačující

XUI - podobné jako jQueryMobile
  • http://xuijs.com/
  • méně rozšířené, míň kompatibility
  • rychlejší, menší (asi ne podstatně)
 
UnifyJS
Web 2.0 Boom
 
Zepto (http://zeptojs.com/) - rychlejší jQuery (podobný syntax jQuery)
http://www.dhtmlx.com/ - nevypadá špatně
http://angularjs.org/ - js framework od Google
http://knockoutjs.com/ - js framework
http://cloud.mobify.com/   - úprava stránek pro mobily
 
Pod čarou (není PhoneGap):

Corona
 
Titanium Mobile - kompiluje js do nativních aplikací
 
 

 

 

 

Pomohlo?

Projekty

podívejte se na mé další
reference
Elephant Logo