Argumentace výběru tématu   Téma a název tohoto textu je velmi blízké tématu mé diplomové práce „Porovnání vývojeaplikací ...
Porovnání vývoje aplikací pro HTML5 a Android   Svět mobilních platforem, internetu a hlavně technologií, které díky exist...
Aspekty   V následujících řádcích porovnáme důležité aspekty, týkající se vývoje aplikace pro oběplatformy. Pomocí aktuáln...
Graf a závěr                           0%    20%         40%         60%         80%        100%      Multiplatformnost   ...
ad [3] – kvalitní a vysvětlující návody a dokumentace; příklady a ukázky hotových aplikací;možnost hledat potřebné funkce ...
Upcoming SlideShare
Loading in …5
×

Zaverecny ukol

569 views
524 views

Published on

HTML5 vs Android

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
569
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Zaverecny ukol

  1. 1. Argumentace výběru tématu Téma a název tohoto textu je velmi blízké tématu mé diplomové práce „Porovnání vývojeaplikací pro Android a HTML5“, kterou momentálně píšu, a je možné, že poslouží jakoněkterá její část. Tyto technologie mají do budoucna velký potenciál a speciálně HTML5v poslední době prochází značnými inovacemi. Obě technologie mají také vysoké uplatněnív moderním webu a tvorbě revolučních aplikací.Anotace Text představuje krátký úvod do problematiky dvou odlišných programovacích metodik,kde se proti sobě stavějí webově orientovaná HTML5 technologie a nativní Android. Oběmají, nejen z pohledu vývojáře, své výhody i nevýhody, které jsou v textu dále rozvedeny aporovnány. Jsou zde uvedeny aspekty, které je nutné před samotným vývojem zvážit tak,aby aplikace nebyla už od samotného začátku vyvíjena špatným způsobem a bylo možné ji iv budoucnu podporovat a aktualizovat.Klíčová slova HTML5, Android, platforma, nativní aplikace, webová aplikace
  2. 2. Porovnání vývoje aplikací pro HTML5 a Android Svět mobilních platforem, internetu a hlavně technologií, které díky existenci těchto dvouplatforem vznikají, se neustále vyvíjí mílovými kroky kupředu. Díky této rychlosti a neustálese měnících požadavků uživatelů však není vždy jisté, kdy, a zda vůbec, se některé z těchtorozličných technologií uchytí. V následujícím textu jsem se zaměřil na dvě technologie,pomocí kterých se dají vytvářet rozličné aplikace a hry.Webová platforma HTML5 Velmi dynamický vývoj můžeme sledovat u této relativně mladé nadstavby značkovacíhojazyka HTML, její podpory, inovace a standardizace [1]. Většina funkcí a schopností HTML5se neustále vylepšuje a každá další aktualizace některého z internetových prohlížečů jejpodporuje o něco více a přispívá tak k jeho pomalému rozšiřování mezi veřejnost. Hlavnízastánci HTML5, v čele se společností Google, rádi vytvářejí dojem, že HTML5 už "je tu" [2]a je připraven ovládnout web a mobilní internet. V praxi je to téměř plnohodnotná technologiea její nasazení je již v současné době výhodné z mnoha důvodů, avšak jakási realizace austálení standardů ze strany vývojářů postupuje pomaleji a věci, které HTML5 dnes neumí,mohou být implementovány třeba do měsíce. Celý vývoj tak působí dojmem jakési rozdělanépráce a veřejnost její „kouzla“ objevuje postupně a v malých dávkách.Nativní platforma Android Situace ve světě nativních1 aplikací je přesně opačná. Ať už se jedná o jakoukolivplatformu (iOS, Android, Windows Mobile), společnost, která ji zaštiťuje, vydává poměrnéčasté aktualizace. Tyto bývají většinou uváděny na trh spolu s nějakými novými výrobky, jakojsou například chytré mobilní telefony, na kterých jsou nové funkce rovnou prezentovány.Sada aktualizovaných vývojářských nástrojů bývá často vypuštěna na internet přímo poskončení těchto prezentačních akcí (například v případě společnosti Apple známé jako„keynotes“). Dokumentace k jednotlivým platformám bývají většinou velmi dobře zpracované,dostupné na internetu [3] a případné problémy a nejasnosti jsou řešeny v internetovýchdiskusích. Neexistuje zde tedy pocit rozdělané práce a standardizace ze strany autorůplatforem a jsou zde jasně dány limity toho, co naprogramovat lze a co naopak není anipodporováno.1 Nativní aplikace označuje software, který je plně přizpůsoben zařízení, na kterém je nainstalován adokáže bez výrazných komplikací a programů třetích stran využívat všechny jeho funkce
  3. 3. Aspekty V následujících řádcích porovnáme důležité aspekty, týkající se vývoje aplikace pro oběplatformy. Pomocí aktuálních poznatků z praxe dojdeme u každého z těchto aspektůk závěru, pro kterou platformu je lepší a na konci porovnáme výhody a nevýhody obouplatforem pomocí grafu.Multiplatformnost Nejhůře na tom, z hlediska přenosnosti aplikace mezi různými platformami, jsou aplikacea hry, vyvíjené pro nativní platformu. Pokud totiž chtějí vývojáři svůj výsledek prezentovatširšímu publiku, nevyhnou se přepisování aplikace na ostatní platformy, kde v současnéchvíli figurují iOS, Android a několik platforem společnosti Microsoft. Lépe na tom jsou vývojáři, kteří vytvářejí aplikaci webovou. Ta totiž bude fungovat navšech platformách, neboť k jejímu spuštění stačí, aby zařízení disponovalo internetovýmprohlížečem. Pokud je ale aplikaci náročná na výkon, například nějaká webová hra, pak anizde kvůli výkonnostním limitům současných internetových prohlížečů nejsou možnostineomezené.Výkon Nativní aplikace nemají z hlediska výkonu sebemenší problém, protože běží „blízkohardwaru“ a využívají technologie jako GPU akcelerace nebo běh aplikací na více jádrech(multithreading). Programování her a náročných aplikací pro nativní platformu, spíše nežjako webových aplikací, se tak jeví jako logické. Grafický výkon webových prohlížečů se však v poslední době také zvýšil, a to hlavně díkyV8 JavaScript Enginu2, hardwarové akceleraci a jiným optimizačním technikám.Cena vývoje a aktualizace Vývoj nativní aplikace, a to především pro více než jednu platformu, se může projevit jakovelmi nákladné řešení. Cena, společně s programátorskou kapacitou, hraje klíčovou roliběhem celého vývoje aplikace i po něm, protože s rostoucími potřebami uživatelů musí růst iaplikace. Je proto potřeba, aby byl tým programátorů připraven i po uvedení aplikace na trhprogramovat a vydávat aktualizace, opět na více platforem najednou. Naopak při tvorbě webové aplikace se případné updaty projevují téměř okamžitě poaktualizaci souborů na serveru a na počet platforem nemusí být brán zřetel. Rovněž zdeodpadá nutná administrativa, která je přítomna u nativních aplikací v podobě jejichpodepisování a umisťování na Google Play Store, App Store a jiné obchody.Programovací jazyky Programovací jazyky jako Java, C a C++, používané při vývoji nativních aplikací, jsoukoncipovány pro vývoj komplexních aplikací [4] a jsou velmi robustní, kdežto jazyky HTML aCSS3 mají jednoduchý syntax a snadněji se učí. Pokud například vyvíjíme nativní aplikaciv jazyce Java, k jejímu zprovoznění na iPhone OS (nebo na jiné platformě) je nutné počítats přepsáním aplikace do jiného jazyka, v tomto případě objektového C. Webovou aplikacivytvoříme jen jednou, a ta pak pojede na všech platformách. [5]2 V8 JavaScript Engine je open source engine, vyvíjený společností Google, které je součástíprohlížeče Google Chrome.
  4. 4. Graf a závěr 0% 20% 40% 60% 80% 100% Multiplatformnost 90% 10% Výkon 33% 67% HTML5 Android Cena a aktualizace 68% 32% Programovací jazyky 61% 39%Pozn: větší číslo je lepší Ve srovnávacím grafu obou platforem je vidět, že obě barvy zabírají téměř stejně velkouplochu, ale že zároveň každá z nich dominuje na jiném poli. Obě mají své výhody anevýhody a často velmi záleží na charakteru vyvíjené aplikace. Ve většině případů lzedoporučit vývoj obou typu aplikací najednou, případně nejdříve zvolit cestu webové aplikace,která se takto dostane širšímu publiku a poté se až zaměřit na vývoji její nativní verze.Zdroje[1] WHATWG. HTML: The Living Standard: WEB APPLICATION APIS [online]. 2012 [cit. 14.12.2012]. Dostupné z: http://developers.whatwg.org/webappapis.html#webappapis[2] Google I/O 2011: HTML5 versus Android: Apps or Web for Mobile Development?. MILLER, Michael. YOUTUBE.COM. YouTube [online]. 2011, 12.05 [cit. 2012-12-14]. Dostupné z: http://www.youtube.com/watch?v=4f2Zky_YyyQ[3] GOOGLE. Developers: Training [online]. 2012 [cit. 2012-12-14]. Dostupné z: http://developer.android.com/training/index.html[4] HASHIMI, Sayed Y a Satya KOMATINENI. Pro Android. Berkeley: Apress, c2009, xxiii, 437 s. Experts voice in open source. ISBN 978-143-0215-967.[5] RAMIREZ, Enrique. Coding An HTML 5 Layout From Scratch. In: Smashing Magazine [online]. 4.8.2009 [cit. 2012-12-14]. Dostupné z: http://coding.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/ad [1] – pro někoho možná „suchá“ specifikace, pro jiné aktuální zdroj informací k danéproblematice; ze specifikace čerpá mnoho vývojářů, a také ji zpětně formují; podobné webypoužívám i pro svou diplomovou práci.ad [2] – přednášející jsou odborníci přímo ze společnosti Google; názorné ukázky přímo z„programátorské kuchyně“; rychlé srovnání obou platforem na místě a vyvozený závěr.
  5. 5. ad [3] – kvalitní a vysvětlující návody a dokumentace; příklady a ukázky hotových aplikací;možnost hledat potřebné funkce v poli „hledat“; možnost stažení aplikací i vývojářskýchnástrojů; spousta materiálu, o kterém lze psát a za pomocí kterého lze tvořit nové věci.ad [4] – detailní a neotřelé postupy; skvělé články o nových technologiích; moderní témata;ad [5] – Vynikající kniha dvou zkušených programátorů; praktické ukázky a detailní postupy;průvodce platformou Android; základy mých aplkací pocházejí právě z této knihy.

×