Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informatiky a kvantitativních metod

Rozměr: px
Začít zobrazení ze stránky:

Download "Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informatiky a kvantitativních metod"

Transkript

1 Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informatiky a kvantitativních metod Mobilní platformy Softwarové technologie Bakalářská práce Autor: Milan Radoň Studijní obor: Aplikovaná informatika Vedoucí práce: doc. Ing. Filip Malý, Ph. D. Hradec Králové Září 2015

2 Prohlášení: Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a s použitím uvedené literatury. V Hradci Králové dne Milan Radoň

3 Poděkování: Děkuji vedoucímu doc. Ing. Filipu Malému, Ph. D. za odborné vedení bakalářské práce a za podporu při realizaci bakalářské práce.

4 Anotace Cílem teoretické části bakalářské práce je porovnat způsoby vývoje aplikační a vizuální vrstvy ve vybraných mobilních nativních i hybridních technologiích. Podrobněji seznámit čtenáře s vybranými zástupci pro vývoj na mobilní platformu Google Android. V praktické části je vytvořen rozšiřující výukový materiál k vybraným nativním i hybridním technologiím pro mobilní operační systém Google Android. Porovnán je vývoj aplikací s popsanými a implementovanými funkcemi pomocí nativního API s Android SDK a hybridního UI frameworku Ionic s aplikačním rámcem AngularJS. Bakalářská práce je zakončena prezentací výsledků výzkumu o mobilních platformách. Annotation Title: Mobile platforms Subtitle: Software technology Target of the theoretical part of the work is to compare the methods of application development and visual layers in selected mobile native and hybrid technologies. Readers more familiar with selected representatives for development on the mobile platform Google Android. The practical part is created by as expanding educational material to selected native and hybrid technologies for the mobile operating system Google Android. Bachelor thesis ends with the presentation of research results about mobile platforms.

5 Obsah 1 Úvod Historie Cíl a metodika práce Teoretická část Nativní technologie Google Android Hybridní technologie Ionic Porovnání Nativní technologie Hybridní technologie Praktická část Použité technologie Apache HTTP Server PHP Nette Framework MySQL HTML CSS Twitter Bootstrap ECMAScript AngularJS Ionic Java...46

6 XML Shrnutí výsledků Závěry a doporučení Seznam použité literatury Přílohy...52

7 Seznam obrázků Obr. 1 Architektura Google Android...18 Obr. 2 Struktura nativní aplikace Android...21 Obr. 3 Životní cyklus Aktivity...22 Obr. 4 Architektura Ionic / Cordova / Gulp...28 Obr. 5 Struktura UI frameworku Ionic s AngularJS...30 Obr. 6 Porovnání vzhledu ios / Android / BlackBerry / Windows Phone Obr. 7 Praktická část Mobilní nativní aplikace / Android / Ionic Obr. 8 Praktická část Webová výuková aplikace / Android / Ionic Seznam tabulek Tabulka 1 Historie Androidu - rozšiřování API...14 Tabulka 2 Porovnání nativních a hybridních technologií...32 Tabulka 3 Porovnání mobilních operačních systémů...35 Tabulka 4 Porovnání UI frameworků...39

8 1 Úvod Mobilní platformy jsou v současné době často diskutované téma. Se zařízeními, která jsou vybaveny moderním operačním systémem, se setkáváme na každém kroku, každý z nás má drahého pomocníka. Buď formou notebooku, mobilního telefonu či tabletu. Tvorba softwarových aplikací na mobilní platformy pro současné publikum je stále více přínosná. Máme-li docenit potenciál, který nabízejí aplikace pro mobilní zařízení, musíme si uvědomit, jaká je situace na obchodním trhu. Trh s chytrými zařízeními stále stoupá, díky stálé lepší cenové dostupnosti zařízení či mobilních internetových sítí od poskytovatele připojení. Mobilní zařízení mají perspektivní budoucnost. Dotykové zařízení přináší nový model používání, který je intuitivní a jednodušší. Mobilní zařízení je oproti klasickému stolnímu počítači pomalejší a nemá rozšířené funkce, bez kterých se zkušenější uživatel neobejde. Chytré zařízení je spíše pro prezentování obsahu, ale pro tvorbu obsahu je nedostačující. Mobilní platforma je kombinace hardwaru (fyzického zařízení) a softwaru (operačního systému). Výrobci dnešních fyzických zařízení staví nejčastěji na architektuře jádra procesoru x86 a ARM. Bakalářská práce se zabývá pouze softwarovými technikami architektury ARM. Současně nejperspektivnější mobilní operační systémy architektury ARM jsou Google Android, Apple ios a Microsoft Windows RT. Platformy se liší základními poskytovanými funkcemi ve formě aplikací, grafickým uživatelským prostředím, aplikacemi třetích stran a rozhraním operačního systému pro vývojáře mobilních aplikací. Bakalářská práce se zabývá mobilními platformami. Teoretická část práce prezentuje implementační metody návrhu aplikací na mobilní platformy. Seznámí se s mobilními operačními systémy pro vývoj uživatelského prostředí a aplikačních funkcí pro platformu Google Android. Vývoj aplikací a uživatelské prostředí je porovnán i z pohledu běžného uživatele, který pro mobilní platformy nikdy nevyvíjel. Vývoj aplikací je prezentován spíše pro zkušenějšího uživatele. Praktická část je zaměřena na využití technologií pro tvorbu aplikací s předchozími znalostmi programování na konkrétní platformu Google Android. Cílem praktické části je porovnání nativní technologie Google Android a hybridního UI frameworku Ionic. Hlouběji jsou rozebrány části o vývoji aplikací a porozumění konkrétním programovacím technologiím. 8

9 2 Historie Softwarové operační systémy pro mobilní hardwarové zařízení jsou zasazeny do naší minulosti, současnosti i budoucnosti. Kapitola Historie představuje nejdůležitější historické fakty mobilních systémů. V bakalářské práci nalezneme vlastní kapitolu o historii platformy Google Android a hybridního frameworku Ionic. Současné moderní technologie pro vývoj na platformy Windows, Apple a Google Android překonávají každé předchozí verze systému a konkurují si vzájemně mezi sebou. Pomyslnou historii chytrých softwarových mobilních platforem započal Microsoft a Psion. Microsoft představením první verze systému Windows Mobile CE 3. 0 začal historii moderních mobilních operačních systémů. S prvním hardwarovým zařízením Pocket PC 2000 si Microsoft 19. dubna 2000 vytvořil úspěšný mobilní operační systém pro kapesní počítače. Nokia vystoupila se šestou verzí systémů EPOC od firmy Psion s obchodním názvem SymbianOS v roce Firma Psion operační systém vyvíjela a využívala ve fyzických zařízeních od roku Platformu mobilních operačních systémů si široká veřejnost oblíbila natolik, že z podvědomí běžného uživatele vytlačila od jejího nástupu ostatní operační systémy. Na Evropském obchodním trhu po dobu 5let jsou nejčastějšími operačními systémy Google Android a Apple ios. Napomohly tomu historické fakty, že v roce 2007 se založila organizace OHA (Open Handset Alliance). Konsorciem byli vystaveny otevřené standardy pro vývoj fyzických zařízení. Tento rok vydali vývojáři i první verze operačních systémů ios a Android. Vývoj aplikací pro tyto systémy byl na začátku pouze pomocí nativních aplikačních rámců. Komunita vývojářů si vytvořila otevřené i placené hybridní technologie, pro vytváření aplikací na mobilní operační systémy. 9

10 3 Cíl a metodika práce Kapitoly popisují důležitá teoretická i praktická východiska softwarové realizace aplikací. V teoretické části bakalářské práce porovnáme a seznámíme se s dvěma principy vývoje aplikací pro mobilní architekturu ARM. Podrobněji rozebrány jsou části o grafickém uživatelském prostředí, vývojem aplikací, technologií a historií. Začínajícím i zkušeným programátorům aplikací je vytvořen ucelený materiál pro tvorbu mobilních aplikací. Zasvětit čtenáře do procesu vývoje aplikací pro tyto mladé operační systémy. Vytvořit analýzu potřeb a vlastností pro jednotlivé technologie. Seznámit se správnými postupy při návrhu uživatelského prostředí a se základními koncepty vybraných mobilních technologií. Základními předpoklady pro vstup do světa mobilních softwarových technologií je pochopení vlastností a závislostí v dané technologii. Všechny moderní mobilní operační systémy si řeší koncept jinak, dle použitých implementačních technologií. Vývojáři těchto systémů vytvořili vše tak, aby již struktura projektu vedla ke správnému návrhu aplikace. Teoretická část je zpracována za pomocí uvedené literatury. Byly zpracovány dvě kapitoly o Nativních a Hybridních technologiích pro tvorbu mobilních ARM aplikací. Vybrány byli právě dvě rozšířené a otevřené technologie pro tvorbu ARM aplikací. Vybrán byl mobilní otevřený operační systém Google Android a byla využita technologie přímá (nativní API) a hybridní UI framework Ionic pro tvorbu Android aplikací. Závěrem teoretické části bakalářské práce je porovnání hybridních a nativních technologií, porovnání vybraných mobilních operačních systémů a porovnání způsobu návrhu aplikace s hybridními aplikačními rámci. Cílem práce je seznámit čtenáře s vývojem pro mobilní operační systémy Praktická část bakalářské práce je zpracována za pomocí vybraných technologií pro tvorbu aplikací na mobilní platformu Google Android. Praktická část je rozšíření teoretických znalostí Android API a hybridního aplikačního rámce Ionic. Cílem praktické práce je ucelený výukový materiál. 10

11 4 Teoretická část Teoretickou část bakalářské práce je možno považovat jako vstupní bod k základním dovednostem a potřebné informovanosti budoucích vývojářů pro mobilní platformy. Dále se seznámíme se základními znalostmi aplikačního rozhraní, uživatelským prostředím a vývojem aplikací pro nativní a hybridní platformy. Aplikační rozhraní (API) je nejdůležitějším nástrojem pro vytváření nativních aplikací. Technologie mají API od vývojářů daného frameworku nebo mobilního operačního systému. V bakalářské práci jsou vybrány nativní a hybridní frameworky k reprezentaci mobilních technologií pro tvorbu aplikací. Závěrem teoretické části je porovnání vývoje aplikací. Nativní softwarové platformy jsou porovnány s hybridními technologiemi pro operační systémy. Dále porovnáme vývoj vybraných nativních a hybridních technologií. 11

12 4.1 Nativní technologie Nativní způsob vývoje aplikací je myšlena implementace zdrojových kódů v jazyce, ve kterém vývojáři daného mobilního operačního systému umožnili ostatním vývojářům (tzv. třetích stran) vytvářet. Konkrétní platforma má z pohledu vývojáře vlastní implementační jazyk, vývojářské prostředí, strukturu aplikace a aplikačního rozhraní (API). Vytváření nativních aplikací je časové náročnější, ale aplikace může být robustnější a mít přímou kompatibilitu se zařízeními, pro které je aplikace vyvíjena. Nativní aplikaci lze lépe optimalizovat a tak je šetrnější s paměťovou náročností a úspornější pro zdroj napájení. Nicméně udržovat několik zdrojových kódů pro jednu aplikaci podle počtu implementovaných platforem, není ideální u méně náročných aplikací, když na každou platformu je potřeba vytvořit vlastní aplikaci. Nativní aplikace jsou finančně náročné, ale s unikátními a robustními možnostmi řešení, různorodé pro každou platformu. V prvotních řešeních je nativní technologie složitější pro vytvoření mobilní aplikace. Studium jednotlivých nativních technologií je složité a časově náročné. Bez předchozích znalostí programování v Java, Objective-C, C#, C++ apod. se neobejdeme. Největší nevýhodou vytváření aplikací pomocí nativních technologií je implementování aplikací pro jednotlivé operační systémy zvlášť. Moderní aplikace pro reálného uživatele by měla být dostupná na více operačních systémech. 12

13 4.1.1 Google Android Android je rozsáhlý operační systém vytvořený převážně pro mobilní zařízení. Google Android najdeme v PDA, tabletech, mobilních telefonech, hodinkách, navigacích ale i v herních a výukových zařízeních. Operační systém Android je nejrychleji rostoucím a nejrozšířenější systémem na trhu s mobilními technologiemi. Nabízí se otázka, jakým způsobem tento mladý operační systém dosáhl svých výsledků. Hlavními výhodami systému Android je jeho nezávislost, dostupnost a rozsáhlost programovacích prostředků. Společnost Google vydala od základu operační systém Android pod open source licencí. Otevřený systém má volně dostupné všechny části systému ve formě zdrojových kódů. Rozšiřitelnost a přizpůsobení systému má velké výhody jak pro vývoj aplikací, tak i pro výrobce fyzických zařízení. Operační systém je navržen pro optimalizaci operační paměti a fyzických prostředků v mobilním prostředí. V této kapitole naleznete informace o historii, základní informace pro vývoj aplikací, vytváření uživatelského rozhraní a rozšířený vývoj inovativních mobilních aplikací pro platformu Google Android. 13

14 Historie Operační systém Android je jeden z nejmladších systémů v dnešní době. S vývojem tohoto mladého operační systému začala malá firma v Kalifornii v USA. Zakladatelé společnosti Andy Rubin, Rich Miner, Nick Sears a Chris White v roce 2003 založili společnost Android, Inc.[1][2] Společnost Google Inc. odkoupila v roce 2005 Android Inc. a získala zkušené programátory v oblasti mobilních technologií. Google odstartoval vlastní vývoj operačního systému na jádře operačního systému Linux v čele ze zakladatelem tehdejší společnosti Andy Rubinem. [1][3] Oficiální vydání první verze operačního systému Android proběhlo až v roce Tímto krokem společnost Google Inc. se dostává na trh s mobilními zařízeními. Android 1.0 je vystaven na jádře Linux 2.6 a od té doby přišlo mnoho aktualizací až na dnešní verzi Androidu 5. 2 s přepracovaným virtuálním Javoským strojem (JVM) a uživatelským prostředím.[2] Google jednotlivé verze Androidu pojmenoval podle názvu sladkých zákusků v abecedním pořadí kromě prvních dvou verzí. Více informací o funkcích a vývoji v Android API, najdete v přiložené tabulce Historie Androidu - rozšiřování API. Tabulka 1 Historie Androidu - rozšiřování API Android Verze API Datum vydání Rozšíření a vlastnosti systému Android Market - katalog aplikaci s aktualizacemi jednotlivých aplikací Google Kontakty možnost 1. 0 Alpha září 2008 synchronizace s aplikací Kontakty Google Kalendář možnost synchronizace s aplikací Kalendář Google Mapy s funkcí Lantitude (získání polohy z GPS souřadnic) a s funkcí Street View (Panoramatické 14

15 záběry v rozsahu 360 horizontálně a 290 vertikálně z ulic) Google Synchronizace aplikace pro synchronizaci aplikací Kalendář, Kontakty, atd. Google Talk komunikační služba Gmail ový klient Youtube přehrávač a Mediální přehrávač Bezdrátové sítě Wi-Fi a Bluetooth podpora bezdrátových sítí Vylepšené uživatelské prostředí Animace přechodů Implementace rotace aplikací a softwarové klávesnice Nahrávání videa a přehrávání 1. 5 Cupcake duben 2009 formátu MPEG- 4 a 3GP Nahrávání videa na portál Youtube a nahrávání fotek na Google Picasa Rychlejší získáváni polohy a zrychlení fotoaparátu Podpora Widgetů a podpora automatického Zdroj: Převzato a upraveno z [1] [4] (Zkráceno) 15

16 Některé verze systému se od sebe liší celkem významně a jiné jen opravou či dokončením menší funkcionality, ale i tímto každá nová verze napomáhá k rozšíření otevřeného systému a ke vzniku kvalitního mobilního operačního systému. Základními návyky pro vytvoření kvalitní mezinárodní aplikace je dobré mít přehled o vydaných a vydávaných verzích systému Google Android a přizpůsobit se novým způsobům vytváření aplikací. Nové grafické a funkcionální prvky ve starších verzích systému nejsou přidávány a tímto se zachovává konzistentní stav verzí pro vytváření uživatelských aplikací. Systém Google Android má mnoho verzí systému v mnoha fyzických zařízeních s různými způsoby nasazení. V reálném prostředí, kde aplikaci nasazujeme, je nutné analyzovat šíři rozsahu verzí, jak z pohledu výkonosti jednotlivých druhů fyzických zařízení tak i nasazené verze systému. Základní principy programování pro tento systém jsou postaveny na jazyku Java. Závislosti zpětné funkcionality ve zdrojovém kódu se mění dle verze jazyka Java a verzi SDK (Software Development Kit) vydanou vývojáři. 16

17 Technologie Vývoj softwaru pro tento operační systém probíhá v tzv. Host-Target vývojovém prostředí. Tím je míněn vývojový proces, ve kterém je aplikace vyvíjena za pomocí vývojového prostředí ve vyšším operačním systému MAC OS, LINUX nebo Windows. Výsledný proces je portován do mobilního zařízení.[1] Nativní aplikace na operační systém Android vytváříme za pomocí programovacího jazyka Android a Software Development Kit (SDK). Pro testování fyzického zařízení a emulování mobilního zařízení vývojáři uvolnili testovací nástroj pro vývojářské prostředí ADT (Android Development Tool). Pro vývoj Android aplikací a testování aplikací vytvořili vývojáři od Googlu vlastní vývojářské prostředí Android Studio.[2] Prvotní testování aplikace emulujeme pomocí virtualizace fyzického zařízení na operačním systému. Finální testování a ladění programu pro optimalizaci je prováděno na konkrétním fyzickém zařízení. Podle zdroje [1] stránky 25: Pro řadu vývojářů je emulátor základním testovacím zařízením a usnadňuje tak počáteční vývoj a ladění programu. Závěrečné zkoušky kompletní funkčnosti aplikace jsou již prováděny již na reálném zařízení.. Android vývojáři dále uvolnili nástroje pro analýzu, nástroje pro optimalizaci samotné vykreslení aplikace a hierarchie pohledů, pro analýzu paměti ve fyzickém zařízení, analýzu vytížení reálného zařízení na energickou spotřebu a analýzu vytížení a náročnosti úkonů procesoru.[2] Architekturu operačního systému Android lze rozdělit do 4 vrstev. V nejnižší vrstvě Linux Kernel se nachází jádro operačního systému. Podle [1] str. 19: Její základní funkcí je implementace abstrakce mezi použitým hardwarem a softwarem ve vyšší vrstvách.. Nejdůležitější vrstva systému, která je určena pro koordinaci všech hardwarových prostředků ve fyzickém zařízení. Představuje všechny softwarové ovladače pro zařízení. Ve druhé vrstvě operačního systému nad jádrem systému postavili knihovny rozhraní vývojářských API ve zdrojovém jazyce C samotného jádra systému. Dále tato vrstva je důležitá z pohledu vývojáře mobilních aplikací, protože obsahuje spouštěcí mechanismus aplikací se základními knihovnami Java. Spouštěná aplikace se kompiluje do bajtkódu pro virtuální stroj Javy. Zkompilovaný 17

18 kód je v následujícím kroku přeložen pro běhového prostředí Androidu dle verze operačního systému.[1][3] Další vrstva systému Application Framework otevírá vývojářům funkce vizuálního prostředí (View System), správu oznámení (Notification Manager), informace o aplikacích (Package Manager), správu externích zdrojů (Resource Manager), správa aktivit (Activity Manger) a rozhraní pro komunikaci s ostatními aplikacemi (Content Providers).[1][2] Nejvyšší vrstvou jsou uživatelské aplikace. Výrobci fyzických zařízení většinou přizpůsobují základní programovou sadu od vývojářů Googlu. Architektura Google Android je zobrazena na obrázku č. 1 Architektura mobilního systému Google Android. Obr. 1 Architektura Google Android Zdroj: převzato [25] 18

19 Uživatelské prostředí Kapitola může být považována jako vstupní bod do vývoje uživatelského prostředí v operačním systému Android. Podle [1] str. 74: Při návrhu uživatelského rozhraní je potřeba také myslet na zařízení, na kterém aplikace poběží, a to z hlediska rozlišení displeje, popř. z hlediska rotace aplikace při rotaci.. Autor citace vystihuje problém deformací obrazu fyzického zařízení při jeho rotaci. Problém nastává, když autor vizuální komponenty skládá přímo na obrazovku. Aplikace při rotaci, pokud není použita hierarchie uživatelského prostředí, deformuje vizuální komponenty. Prezentační vrstva v aplikaci pro Android reprezentuje vizuální komponentu aktivita (Activity). Reálná aplikace se skládá s aktivit, které na sebe navazují pomocí aplikačního systému LIFO (Last in First out). Tato technika umožňuje uživateli se vrátit zpět do předchozího stavu aplikace přímo v konkrétní aktivitě. Aplikace konstrukcí obsahuje jednu konkrétní aktivitu, která je hlavní a spouští se při inicializaci aplikace. Activity mají implementovaný model poskytující dialogové okno. [1] Hierarchie uživatelského prostředí se skládá ze základní jednotky pohledu (View) a jeho rodiče skupinu pohledu (ViewGroup). Uspořádání uživatelského prostředí lze docílit pomocí předdefinovaných komponent (tvz. Widgets) anebo pomocí vlastních komponent. [1][2] Pohledy v operačním systému Android se implementují pomocí zdrojového jazyka XML. Tento značkovací jazyk dává vývojářům svobodu při tvorbě rozvržení. Třídy pohledy a skupiny pohledů lze do sebe libovolně vkládat. Funkcionalita jednotlivých Widgetů se implementuje ve zdrojovém jazyce Java. Při vytvoření nové Aktivity v metodě oncreate() je možné nastavit konkrétní šablonu s hierarchií uživatelského prostředí.[2] V Android API naleznete několik standardních rozvržení (Layouts), které jsou rozšířením třídy ViewGroup. V API naleznete lineární, relativní, řádkové, tabulkové, rámové, mřížkové a absolutní rozvržení. V aplikaci lze reagovat na změnu orientace displeje, přizpůsobit vnitřní a vnější okraje, relativně volit pozice od ostatních objektů. Pro tvorbu rozhraní Android SDK obsahuje sadu vizuálních komponent 19

20 s předem přizpůsobitelnými atributy. Tyto standardní komponenty tvoří základní uživatelské prostředí. Vizuálním komponentám lze přizpůsobit grafický vzhled. [3] Základními vizuálními komponentami jsou textová pole, tlačítka, zaškrtávací pole, přepínače, obrázky, seznamy, záložky, dialogy atd. Principem se od sebe jednotlivé vizuální komponenty neliší. Prakticky se jedná o soubor s XML zdrojovým kódem tzv. šablonou. V předgenerovaném zdrojovém kódu Javy při prvním spuštění je aktivita vizuálně prázdná. Šablony s XML kódem se vkládají pomocí metody setcontentview(), která očekává parametr metody objekt typu View. Tato metoda je obvykle volána přímo ve vytváření jedince (instance) aktivity, již ve zmiňované metodě oncreate(). [1][2] Zdrojový kód aplikace přináší oživení aplikačních, prezentačních funkcí a obsluhu datových informací. V další kapitole se zaměříme právě na aplikační kód a konfiguraci aplikace. 20

21 Vývoj aplikací Pro pochopení logiky konstrukce nativních aplikací pro Android je nutné uvažovat, pro které aplikační funkce bude přizpůsobena. Konstrukce aplikace pro platformu jsou přizpůsobeny pro běh na pozadí a popředí. Typ aplikace běžící na popředí jsou vizuální aplikace pro reálného uživatele. Aplikace běžící na pozadí sledují aktuálnost všech prostředků pro aplikace. Základní strukturu projektu na platformu Android zobrazuje přiložený obrázek.[1] Obr. 2 Struktura nativní aplikace Android Zdroj: vlastní zpracování Anatomie aplikace Android se skládá z komponent Aktivit (Activity), Služeb (Servises), Poskytovatele obsahu (Content Providers), Záměry (Intents), Přijímače (Broadcast Receivers) a Oznámení (Notification). Aktivita (prezentační vrstva aplikace) je základní vizuální komponenta prezentující vizuální obsah aplikace. Konkrétněji byl vysvětlen pojem Activity v kapitole Uživatelské prostředí. V této kapitole si ukážeme Activity a všechny ostatní komponenty pro vývoj Android aplikací. [1] Aplikace se skládá z aktivit, které na sebe navazují pomocí systému LIFO (Last in First out). Tímto umožňuje uživateli vrátit se zpět do předchozí aplikace přímo ke konkrétní aktivitě. 21

22 Nad životním cyklem aplikací nemá systém Android žádnou kontrolu. Dle [1] str. 42: Ve výchozím stavu každá aplikace Android běží ve vlastním procesu, který je spuštěn samostatnou instancí virtuálního stroje Dalvik. Paměť a řízení procesů každé aplikace jsou řešeny výhradně za běhu.. Od verze 3.0 v Androidu implementovali vývojáři novou komponentu fragmenty (Fragments). Grafické komponenty Aktivity a Pohledy obalí vrstva Fragment a ten se přizpůsobí dané velikosti zařízení. Pro zpětnou podporu verzí vývojáři vydali knihovnu, která řeší použití ve starších verzích systému. Support Library k zaručení zpětné kompatibility stačí knihovnu připojit k projektu, ve kterém využíváte Fragmenty.[1] Obr. 3 Životní cyklus Aktivity Zdroj: převzato [24] Životní cyklus aktivity začíná metodou oncreate() při inicializaci aplikace. Pokračuje metodou onstart(), která vizuálně představuje první spuštění aplikace. Při změně aplikace je volána metoda onpause(). Při ukončení je volána metoda ondestroy().[1][2] 22

23 Služby v systému Android představují meziprocesorovou komunikaci. Služby aplikace běží na pozadí, kde provádějí operace. Služba je volána prostřednictvím komponent v perzistentním nebo neperzistentním stavu. [2] Poskytovatelé obsahu jsou kontejnery, kteří poskytují obsah ze zaregistrovaných aplikací. Pomocí třídy ContentProvider poskytovatel obsahu si zaregistruje vlastní kontejner (Content Provider). [1] Pomocí záměrů (Intents) je možné zasílat zprávy mezi komponentami (Activity). Přijímače slouží k naslouchání aplikací a obsluze činností.[1] Konfigurace aplikace na platformě Google Android je v XML souboru (AndroidManifest.xml). V souboru v kořenovém adresáři AndroidManifest.xml nalezneme název, verzi, vlastnosti, úrovně API, použité vlastní komponenty, systémová práva a ostatní knihovny. [3] Statické soubory na platformě naleznete ve složce res. Vývojáři implementovali statickou generovanou třídu R, která vytváří strukturu atributů. Na platformě Android nalezneme několik základních možností úložiště pro ukládání perzistentních dat. [1] Relační databáze SQLite je odlehčená verze databázových systémů s optimalizací pro výkon. Běží v jednom samostatném procesu a není náročná na fyzickou paměť. Práce s daty v relační databázi pomocí Android SDK ve třídě SQLiteDatabase nám poskytuje metody pro vyhledávání dat execsql(), query() a rawquery(). Pro správu dat nalezneme metody pro úpravu (update()), přidávání (insert()) a mazání (delete()) informací. [3] Preference je typ perzistentního úložiště pomocí vazby klíč -> hodnota. Ukládání probíhá do souboru XML. Ukládá se vybraná hodnota. Preference jsou spíše určeny pro nastavení aplikace nebo samotného operačního systému. Na platformě Google Android lze ukládat trvalá data také do datových souborů. Práce s datovými soubory je stejná jako v jiné programovací technologii. [1] V praktické části naleznete pokračování nativního vývoje aplikací pro Android. 23

24 4.2 Hybridní technologie Hybridní způsob vytváření aplikací je implementace zdrojových kódů v programovacích jazycích, ve kterých vývojáři vytvořili hybridní framework. Aplikace vytvořené hybridním frameworkem se řadí do mnoha typů dle následného upravení pro konkrétní mobilní operační systém. Vytváření hybridních aplikací může být časové méně náročné, ale nezaručuje přímou kompatibilitu s verzemi operačních systémů, s konkrétními zařízeními nebo aplikačními funkcemi. Nicméně udržovat jeden implementační kód anebo většinu zdrojových kódů pro jednu aplikaci je z časových omezení výhodné u méně či středně náročných aplikací. Nativní způsob je finančně náročné řešení s unikátními a robustními možnostmi řešení pro jednotlivé platformy díky předpřipraveným komponentám pro práci s fyzickými prostředky. Hybridní multiplatformní frameworky je možno rozdělit podle způsobu vytváření aplikace na Runtime, Compilers, Web-to-Native wrapper. [23] Web-to-Native wrapper je způsob vytváření aplikací pomocí webových technologií. Středně pokročilá technika pro vývoj mobilních aplikací je ideální pro vývojáře webových aplikací. Největšími zástupci jsou Apache Cordova/PhoneGap a Trigger.io. Architektura frameworků je vystavena na dvou vrstvách API. Pomocí prvního aplikačního API (většinou pomocí jazyku JavaScript) vytváříme webovou aplikaci a druhé rozhraní je využito při kompilaci pro konkrétní platformu, kdy se implementační kód zkompiluje do balíčku pomocínativního API, které pak lze nainstalovat ve fyzickém zařízení či publikovat v obchodě s aplikacemi. Web-to- Native Wrapper aplikace jsou zapouzdřeny pomocí rozhraní pro prohlížení webových stránek (WebView). Frameworky nabízejí pro komunikaci s fyzickými zařízeními přídavné komponenty (Plug-ins), které obsluhují funkce pro komunikaci s nativním API mobilního operačního systému. [9] Pro tvorbu uživatelského prostředí pro webové nativní aplikace je výhodné využit mobilní UI frameworky, které zaručují kompatibilitu s nativním vzhledem aplikace. Největšími zástupci IU rámců jsou Sencha Touch, PhoneJS, KendoUI a Ionic. 24

25 Typ aplikací Runtime má vlastní exekuční prostředí podobné WebView. Využívají podobného mostu jako Web-to-Native Wrapper mezi nativním API operačního systému. Představitelé Runtime hybridních frameworků jsou Appcelerator Titanium, RhoMobile, QT Mobile. [8][10] Architektura multiplatformního způsobu Runtime má napsané API pro uživatelské prostředí a programové API, ve kterém vývojář aplikace vytváří. Compilers je nejpokročilejší technika pro vývoj hybridních mobilních nativních aplikací, která využívá tzv. Mezikódu, který je kompilován do nativního jazyka nebo strojového kódu. Komplexní frameworky kombinují typy Runtime a Compilers pro vytváření multiplatformních aplikací. Největším zástupcem kombinující oba způsoby je MoSync a mezi významnější zástupci Compilers hybridních frameworků patří Xamarin a Marmalade.[9] V následujících kapitolách se budeme věnovat UI Frameworku Ionic využívající Web-to-Native frameworku Cordova Apache. 25

26 4.2.1 Ionic Představíme si UI framework pro tvorbu mobilních webových aplikací a mobilních nativních aplikací. Aplikační rámec Ionic využívá pro aplikační skripty jazyka JavaScript s frameworkem AngularJS. Vizuální stránku aplikace vývojář implementuje pomocí vlastních směrnic, kaskádových stylů CSS/Sass. Struktura šablon Ionic využívá webového značkovacího jazyka HTML5. [6] Velice přizpůsobitelný UI framework, který lze využít pro tvorbu aplikací s funkčním robustním UI rozhraním. Ionic vytváří aplikace pomocí mobilních aplikačních frameworků Web-to-Native Wrapper. Ionic lze využit s aplikačními rámci Apache Cordova/PhoneGap a Trigger.io pro obalení do mobilní nativní aplikace. [7] Framework obsahuje sadu přizpůsobených funkčních komponent pro vytváření robustního vizuálního prostředí pro mobilní webovou i mobilní nativní aplikaci. Aplikační rámec je primárně určen pro vytváření mobilních nativních aplikací. Ionic lze kombinovat i s jinými vizuálními a aplikačními frameworky. Ionic podporuje vytváření nativních aplikací na mobilní operační systémy Android a ios. Podporu ostatních platforem vývojáři Ionicu stále realizují. V následujících kapitolách o použitých technologiích, možnosti přizpůsobení a využití uživatelského rozhraní a o vývoji aplikací. 26

27 Historie UI framework Ionic je jeden z nejmladších aplikačních rámců pro vytváření interaktivního uživatelského prostředí pro mobilní aplikace. První veřejně dostupnou verzi Alfa vývojáři vypustili od společnosti Drifty Co. na konci listopadu Beta verze byla vydána v březnu [6] V minulosti společnost Drifty Co. vytvořila dva (Codiga a Jetstrap) komunitou oblíbené drag-and-drop editory (Application Builders) pro výstavbu mobilních interaktivních vizuálních designů za pomocí frameworků JQuery Mobile a Twitter Bootstrap. [6][7] První stabilní verze byla vydána v květnu 2015 pod MIT Licencí. Framework Ionic je perspektivní a jednoduchý UI framework, kterému se v komunitě vývojářů daří díky psaní mobilních aplikací pomocí webových technologií. Ionic podporuje nativní aplikace pro operační systémy Android a ios. [7] Podporu platforem Firefox OS a Windows Phone vývojáři Ionicu stále vyvíjejí. Podpora je zatím zaměřena na nejrozsáhlejší platformy Apple ios a Google Android. [7] 27

28 Technologie Základní struktura aplikace má podobu struktuře balíčku podle aplikačního rámce AngularJS, který ovládá Apache Cordova/PhoneGap API. AngularJS umožňuje v aplikaci použít architekturu MVC (Model-View-Controler) nebo architekturu MVVM (Model-View-ViewModel). [6] Implementace uživatelského rozhraní lze využít preprocesor SASS a kaskádových stylů CSS. Framework má předzpracované grafické komponenty, které lze jednoduše využit jen za pomocí strukturovaného jazyka HTML (Směrnice). [6] Ionic aplikace běží za pomocí JavaScriptového serveru Node.js. Ionic má vlastní konzolové CLI, ve kterém je možné ovládat sestavení externích zdrojů (Gulp) a sestavení nativní aplikace pomocí Web-to-Native frameworku Cordova/PhoneGap API. Obr. 4 Architektura Ionic / Cordova / Gulp Zdroj: převzato [23] Jádro Ionicu má implementovaný modul (ngmodul), který obsluhuje zdrojové kódy napsané v AngularJS, které oživují již vizuálně ztvárněné strukturované bloky HTML pomocí vygenerovaných CSS/SASS kaskádových stylů. Ovládání periferii Ionic řeší pomocí ovladače, který využívá Cordova/PhoneGap API. Pro animace v aplikaci si tvůrci frameworku vytvořili odlehčenou knihovnu jqlite z rodiny frameworku JQuery. [23] 28

29 Uživatelské prostředí Grafické rozhraní UI aplikačního rámce Ionic má robustní vzhled s ideálními a optimalizovanými řešeními pro mobilní nativní aplikace. Ostatní vývojáře vede ke správným principům pomocí předpřipravených vizuálních komponent. Vizuální komponenty se přizpůsobují grafickému rozhraní operačnímu systému. Oficiální podpora grafického prostředí je pro systém Android 4. 1 a ios 7. 0, nicméně hybridní aplikace běží jako instance třídy WebView (Android) a UIWebView (ios). To znamená, že aplikace je vykreslována za pomocí internetového klienta. [6] Grafická struktura je vykreslována pomocí JavaScriptového aplikačního rámce AngularJS, který vývojáři UI frameworku Ionic v hlavním modulu ngmodul využili pro předpřipravené komponenty, které zapouzdřili do dokumentu HTML pomocí vlastních HTML značek pro tvorbu struktury s grafickou vizualizací. [7] Pro tvorbu struktury dokumentu AngularJS má vlastní předpřipravené HTML značky tzv. směrnice (Directivites), které je možné využit i pro tvorbu vlastních směrnic uživatelského rozhraní. Pro efektivní tvorbu využili stylizování aplikace pomocí preprocesoru Sass. [7] Díky frameworku AngularJS se Ionic stal mocným nástrojem, pro vytvoření robustní aplikace. AngularJS staví své aplikace na MVVM architektuře. Model-View- ModelView architektura dokáže poslouchat změny díky řídícím kontrolérům a měnit data v závislosti na nich. Framework má vlastní systém pro tvorbu a předávání pohledů (View). [23] Využívá vlastní rozšířené logiky pro práci s vykreslováním dat a předáváním jich mezi aplikační a vizuální vrstvou aplikace. Pomocí řídící globální proměnné prostor ($scope), lze předávat a pracovat s informacemi pomocí klasických logických operací v aplikačním kódu i ve struktuře šablony. [23] 29

30 Vývoj aplikací Vývoj aplikací v UI frameworku Ionic je rychlý a jednoduchý za předpokladu, že si vystačíme pouze se základními funkcemi a s předem připravenými prvky uživatelského prostředí. Základní uživatelské prostředí se skládá z rozšířitelných Directivites, které lze v šabloně využit. Všechny realizované aplikace frameworkém AngularJS jsou většinou jednostránkové aplikace tzv. Singleton, ve kterém se mění pouze pomocí JavaScriptu jednotlivé šablony.[23] Struktura frameworku Ionic vychází z aplikačního rámce AngularJS, který je aplikačním motorem pro všechny úrovně struktury aplikace. Pro vývoj aplikací je nutné konfigurovat aplikaci, ve které se vytvářejí se pohledy, které mapují kontroléry k šabloně. [6] Obr. 5 Struktura UI frameworku Ionic s AngularJS Zdroj: vlastní zpracování AngularJS má velkou výhodu v přehlednosti ve vytváření modulů pro vnímatelný celek aplikace. V modulech nalezneme aplikační kontroléry, služby a továrny pro použití datových struktur. Kontroléry se využívají k seskupení aplikačních funkcí a předávání dat mezi vrstvami aplikace do pohledu. Pro předávání informací se využívá proměnné $scope pro předání dat do šablony.[23] Pohledy se vytvářejí pomocí Directivites z AngularJS s příponou ng- anebo pomocí Directivites Ionic (Ionic rozšířených HTML značek). Ionic má vlastní 30

31 vytvořené struktury HTML značek, se stylizováním pomocí CSS přizpůsobitelné ve formě Scss. Dynamika uživatelského prostředí je zastoupena pomocí logických operací a v předávání atributů z globální proměnné $scope.[6] AngularJS využívá továrny pro vytvoření služeb pomocí depedency injection (DI). Služby se vytvářejí, když jsou potřeba nebo pro konkrétní jednoúčelovou instanci.[23] Architektura frameworku AngulerJS využívá služby RESTFul Web Service pro komunikaci s webovým serverem na kterém web běží. Dotazování probíhá pomocí objektu $http, který zasílá požadavky typu GET, POST, PUT, HEAD, DELETE, PATCH, JSONP na webový server. [6] Informace získané od uživatele lze ukládat přímo do internetového klienta pomocí LocalStorage s 5MB limitem pro uložená data. Obsluhu lokálního úložiště vykonává JavaSriptový framework AngularJS pomocí JSONu. Ukládání trvalých dat lze mnoha způsoby, které se využívají za pomocí buď externích plug-inů anebo knihoven. Pro obsluhu relační databáze je výhodné využít v mobilním operačním systému plug-in Cordova SQLite Plugin. [23] Pro komunikaci s potřebným hardwarem telefonu je potřeba přidat daný plug-in k modulů Cordova. Ionic využívá upravené verzi ngcordova (Cordova + AngularJS). Bezpečnost aplikace softwarových i hardwarových prostředků závisí na konkrétní verzi internetového klienta.[7] 31

32 4.3 Porovnání Závěrečná kapitola obsahové části bakalářské práce pojednává o porovnání možných mobilních technologií pro vývoj aplikací a her. Kapitola je rozdělena na porovnání operačních systémů a hybridních technologií pro vývoj aplikací. V této kapitole rozebereme vývoj aplikací pomocí nástrojů budoucnosti i současnosti. Pokud uvážíme vývoj mobilního trhu, je důležité se správně rozhodnout, na které softwarové platformy budeme chtít vyvíjet a zároveň jakou softwarovou technologii pro vývoj využijeme. Tabulka 2 Porovnání nativních a hybridních technologií Nativní technologie Hybridní technologie Využitelnost zařízení Plně Plně Programovací jazyky Nativní Hybridní / Webové Rychlost Vyšší Střední / Nízká Spotřeba Nízká Střední / Střední Grafické operace Vyšší Střední / Nízké UI/UX Vyšší Střední / Nižší - Střední Náklady Vyšší Střední / Nízké Bezpečnost Komplexní Špatná / Závisí na prohlížeči Publikace Možná Možná Zdroj: Vlastní zpracování 32

33 Vývoj nativních aplikací je pomocí standardních SDK a jazyků, pro které se rozhodli vývojáři platforem použít. Největší výhodou nativních aplikací je výkon a neomezené využití API. Největší nevýhodou je realizace a následná údržba aplikací pro více mobilních softwarových operačních systémů. Ostatní výhody a nevýhody obou přístupů jsou porovnány v tabulce Porovnání nativních a hybridních technologií.[9] Výhody, které přináší vytváření nativních aplikací pomocí nativního API, např.: spolupracují plně s hardwarovými i softwarovými službami, mohou být využitelné i bez internetového připojení a poskytují přirozené rozhraní k operačnímu systému. Hlavní nevýhodou je vytváření aplikací pro každou platformu zvlášť. Hybridní technologie, které využívají webové technologie, mají výhodu v univerzálnosti produkčního prostředí a není nutno je aktualizovat. Ostatní hybridní technologie nejsou závislé na webovém prohlížeči a mají lepší přístupy k nativnímu API. Lze doporučit využití současných nejpopulárnějších nástrojů pro vývoj aplikací, které nebrání k vytvoření konkrétních aplikačních funkcí v aplikaci. 33

34 4.3.1 Nativní technologie Nativní technologie pro vývoj aplikací jsou robustnější a přizpůsobitelnější pro herní a klasické aplikace. Operační systémy srovnáme podle rozšířenosti, licencí, uživatelského grafického rozhraní, vývoji aplikací a her, použitých implementačních technologií, bohatství nativních SDK knihoven, dokumentace, nástrojů, možnosti zabezpečení a velikosti komunity. Tyto základní faktory ovlivňují vývojáře k uskutečnění vývoje pro konkrétní mobilní operační systém. Porovnáme operační systém od výrobců Google Inc., Apple Inc., Microsoft, Symbian Ltd., HP, Technical Steering Group (TSG), Research in Motion (RIM), Mozilla a Canonical Ltd. Představení operačního systému Android od firmy Google Inc., který má zdrojové aplikační kódy v implementačním jazyku Java a značkovacím rozšiřitelným jazyku XML pro vytváření šablon uživatelského rozhraní, se kterými se v práci rozebírají podrobněji, se tolik neliší s principy ostatních nativních SDK u jiných operačních systémů. Používají se předělané konstrukce jazyka C, které si vývojáři v technologii obohatili o návrhovou architekturu OOP (Object Orientation Programming), přenositelnost, robustnost, modernost a přehlednost. [2] V tabulce 3. Porovnání mobilních operačních systémů naleznete přehled těchto jazyků s porovnáním a hodnocením mobilního systému. Z tabulky výsledků je závěr zřejmý. Apple ios je odlehčenou verzí vyššího operačního systému Mac OS s podporou dotykového ovládání. V tabulce nejvíce bodů získal ios nad operačními systémy Google Android, Microsoft Windows Phone, HP Web OS (dříve PalmOS), Blackberry OS (dříve RIM), Mozzila Firefox OS, Canonical Ltd Ubuntu OS, TSG Tizen a Symbian Ltd. SymbianOS. Mobilní operační systém Apple ios má přednosti všech moderních technologií pro rozšíření systému a vývoji aplikací. Intuitivní, přehledné, jednoduché a inovativní grafické uživatelské prostředí, které se zásadně neliší od konkurence Google Android. Vývoj uživatelského rozhraní je vytříbený, robustní a jednodušší od ostatních platforem. Vývoj aplikací pro ios je realizováno v editoru Xcode pomocí jazyka 34

35 Objective-C a Swift s knihovnami Cocoa Touch, Media a Services, které obsahují všechny potřebné moduly pro tvorbu her a aplikací. [16] Tabulka 3 Porovnání mobilních operačních systémů ios Android Windows Phone BlackBerry Verze Programovací jazyky SWIFT, Objective-C, C Java, XML C++, C#, XAML, JavaScript C, C++, QML Vývojové prostředí Xcode Android Studio Visual Studio Momentics IDE Publikace Placená Neplacená Placená Neplacená Popularita 10/10 9/10 7/10 7/10 Bohatství SDK 9/10 9/10 8/10 7/10 UI 9/10 9/10 8/10 7/10 UX 9/10 7/10 5/10 6/10 Nástroje 10/10 9/10 10/10 8/10 Zabezpečení 10/10 8/10 10/10 10/10 Testování aplikace 10/10 6/10 9/10 8/10 Dokumentace 10/10 9/10 9/10 9/10 Trh 10/10 10/10 7/10 7/10 Komunita 9/10 10/10 9/10 7/10 Vyhodnocení 96/100 86/100 82/100 76/100 Zdroj: Vlastní zpracování (zkráceno) 35

36 Nové verze operačního systému Windows Phone se grafickým rozhraním odlišily od ostatních systémů svými přizpůsobitelnými dlaždicemi na jedné domovské obrazovce. Celková vizualizace mobilního operačního systému Windows Phone je přehledná a moderní, ale neintuitivní a nelíbivá pro běžné uživatele. [15] Reputaci Microsoft dohání pomocí více způsobů vývoje aplikací pro Windows Phone. Pro nové verze je zastoupena varianta psát implementační kód v jazyce C# s vizuálním systémem šablon XAML upraveného jazyka XML. Aplikace lze vytvářet i bez předchozích znalostí programování nebo pomocí JavaScriptu. [15] Google Android se systémem ios se od sebe vizuálním grafických rozhraním zásadně neliší. Oproti systému od firmy Apple Inc., Android pro běžného uživatele umožňuje větší přizpůsobení v samotném systému s vizuální bloky (Widgets). Obr. 6 Porovnání vzhledu ios / Android / BlackBerry / Windows Phone. Zdroj: převzato a upraveno [18][19][20] Mobilní operační systémy Google Android, Apple ios a Windows Phone jsou nejperspektivnější platformy pro vývoj klasických či herních aplikací. Ostatní rozšířené operační systémy pokulhávají na místě nebo se snaží změnit prohraný boj. S inovacemi v novém operačním systému BlackBerry OS nešetřili, ale zatím bez větších tržních výsledků. 36

37 Porovnání ostatních perspektivních mobilních operačních systémů naleznete v příloze. Souhrn znalostí z kapitoly pojednává o smyslu vytvářet aplikace pro reálné uživatele na fyzických zařízeních v konkrétních operačních systémech, které v současnosti jsou populární, rozmanité a na trhu dostupné. Lze doporučit využití současných nejpopulárnějších mobilních operačních systémů. 37

38 4.3.2 Hybridní technologie Hybridní technologie pro vývoj aplikací jsou méně robustní a přizpůsobitelnější pro herní i klasické aplikace. Hybridních technologií je mnoho, ve většině případů se od sebe významně neliší. Liší se zásadně v interpretaci aplikace v samotném operačním systému. V této kapitole si porovnáme přístupy k realizaci mobilních aplikací. Porovnáme principy implementace softwarových frameworků Appcelerator Titanium, Ionic, QT, Xamarin, RhoMobile, Corona a MoSync. Hybridní aplikační rámce nabízejí podobné možnosti a vlastnosti ke tvorbě multiplatformních aplikací. Nejvíce se odlišují principy implementace a běhu aplikace ve fyzickém zařízení. [8] Appcelerator Titanium, Xamarin a QT na rozdíl od konkurentů, příkladem je Ionic, kteří jsou založeny na technologii HTML, CSS a JavaScriptu, které pomocí Adobe Cordova/PhoneGap API se webová aplikace zabalí jako nativní aplikace, která při spouštění běží ve vizuálním komponentu grafického uživatelského prostředí pro zobrazení webových stránek. Aplikační frameworky, které vytvářejí aplikace multiplatformně pomocí vlastního API, které aplikací sestaví pomocí nativních API od vývojářů softwarových platforem. [9] Appcelerator Titanium využívá pouze JavaScriptové API s jazykem XML pro tvorbu šablon. Rozdílem mezi Titaniumem, Xamarin využívá jazyka C# pro tvorbu multiplatformních aplikací a framework QT využívá jazyk C++ a pro tvorbu šablon jazyk QML. Některé multiplatformní frameworky kombinují oba přístupy příkladem je MoSync. Tento aplikační rámec kombinuje přístupy pomocí HTML5 s JavaScriptem a vytváření aplikací pomocí C/C++. Hybridní technologie, na které vývojáři použili webové technologie pro tvorbu nativních aplikací, mají jedinou výhodu. Lze využít stejný implementační kód pro vytvoření webové stránky. Ostatní vlastnosti a využitelnost u aplikačních rámců, které sestavují aplikací pomocí nativních API, jsou pro mobilní aplikaci výhodnější a rozšiřitelnější. 38

39 Technologie porovnáme dle jejich možných nasazení a využitelnosti na konkrétních platformách. Porovnáme webové UI frameworky pro tvorbu mobilních vizuálních rozhraní v pohledu. Některé UI frameworky v novějších verzích si implementovali Web-to-Native Wrapper pro pohodlnější využívání při nasazování aplikace. Tabulka 4 Porovnání UI frameworků SenchaTouch PhoneJS KendoUI ios A A A Android A A A Windows RT A A A Ionic A A N Ostatní A A A A Licence (Ne)Placená (Ne)Placená Placená Bohatství API 4/5 4/5 3/5 UI 4/5 4/5 4/5 UX 4/5 3/5 4/5 Neplacená 3/5 4/5 3/5 Architektura MVVM MVVM Knockout MVVM MVW AngularJS Publikování A A A A Dokumentace 4/5 3/5 3/5 2/5 Komunita 4/5 4/5 4/5 2/5 Vyhodnocení 20/25 18/25 18/25 14/25 Zdroj: Vlastní zpracování 39

40 Pro vytváření aplikací pomocí hybridních UI frameworků vyšly nejlépe KendoUI a SenchaTouch, díky své univerzálnosti, vlastní architektuře MVVM a dostupné podpoře. KendoUI, PhoneJS a SenchaTouch nabízejí komerční podporu oproti UI frameworku Ionic. Frameworky lze využít spíše za účelem vytváření komerčních projektů. KendoUI, PhoneJS a SenchaTouch jsou frameworky, které staví jedinečný webový design pomocí vlastních grafických komponentů pro uživatele. Tento způsob je časové náročný a pro nekomerční účely je rychlejší využit aplikační rámec, který předepisuje základními bloky a prvky pro webové rozhraní (např.: Ionic, JQuery Mobile). Lze doporučit využití současných nejpopulárnějších řešení pro vývoj aplikací. Pro tvorbu mobilních aplikací pomocí hybridních technologií je důležité si předem vytvořit analýzu návrhu aplikace a vybrat ty nejvhodnější nástroje pro tvorbu uživatelského rozhraní a aplikačních funkcí. 40

41 5 Praktická část Praktickou část bakalářské práce je možno uvažovat jako rozšíření programátorských dovedností a rozšíření teoretické části, potřebné k budoucímu vývoji pro mobilní platformu Google Android. Pro podporu výuky bakalářské práce je vytvořena webová stránka o platformě Android. Seznámíme se se znalostmi vývojářských prostředí, programování grafických uživatelských intuitivních prostředí a s vývojem aplikací v konkrétních programovacích jazycích, které jsou pro tvorbu aplikací pro platformu Google Android zásadní. V praktické části se zaměříme na úvod do vytváření mobilních aplikací pro platformu Android s aplikačním rámcem od Googlu a porovnáme hybridní proces vývoje aplikace pomocí frameworku Ionic. Vytvářet nativní aplikace budeme pomocí programovacího jazyka Java se základní (standardní) knihovnou Java SE (Standardní edice). Java SE je udržována a spravována pod licencí GNU General Public License a Java Community Process. Programovací jazyk Java je multiplatformní, objektově orientovaný, multiparadigmatický, strukturální, imperativní a reflexivní jazyk, který má otevřený zdrojový kód. Programovací jazyk je ovlivněn i jinými jazyky, ale již několik let drží svou logiku uspořádání a vývoj se vydává vlastním směrem. Hlavní výhody tohoto typového jazyka jsou v jeho bezpečnosti a přenositelnosti mezi platformami. S tímto jazykem se na platformě Google Android setkáme hlavně při tvorbě logických a aplikačních částí mobilní aplikace. Programování aplikací na Android se využívá standardní knihovny Java prostřednictvím aplikačního rámce Application Framework s využitím knihoven Googlu. Grafické prostředí aplikací na platformě Google Android vytváří pomocí šablon jednotlivých pohledů v jazyku XML. Tento strukturální značkovací jazyk je uzpůsoben pro tuto platformu přidáním vlastních atributů s přizpůsobitelnými hodnotami. Jazyka XML využívá platforma i v konfiguraci aplikace. Google Android využívá vlastní principy pro vývoj aplikací. Základní princip tvorby aplikací naleznete na přiloženém mediu se zdrojovými kódy aplikací na platformu Google Android. [2] 41

42 Vytvářet hybridní aplikace budeme pomocí frameworku Ionic. Seznámíme se strukturou aplikace se základními principy vývoje aplikací pomocí přidruženého frameworku AngularJS, který je využíván v této technologii pro implementaci logických a aplikačních částí. Uživatelské prostředí využívá upraveného webového strukturálního jazyka HTML a kaskádových stylů s upraveným frameworkem Twitter Bootstrap. [6] Nalezneme konfiguraci prostředí pro vývoj aplikací pro platformu Google Android, pomocí jazyků Java, JavaScript, HTML a XML, základní principy aplikačních frameworků a práci s uživatelským grafickým prostředím. Webovou stránku k praktické části naleznete na přiloženém médiu. Závěrem praktické práce je porovnání vybraných hybridních i nativních platforem. V přiloženém médiu naleznete zdrojové kódy webové stránky a dvou mobilních aplikací. Obr. 7 Praktická část Mobilní nativní aplikace / Android / Ionic. Zdroj: vlastní zpracování 42

43 Výsledným produktem praktické části bakalářské práce je webová aplikace pro výuku programování v nativním SDK Google Android a v hybridním UI frameworku Ionic. V aplikaci je vytvořeno porovnání technologií a dvě mobilní nativní aplikace za pomocí zmíněných technologií. V přiloženém médiu nalezneme webovou stránku s praktickou částí bakalářské práce. Webová stránka je také publikována na Obr. 8 Praktická část Webová výuková aplikace / Android / Ionic. Zdroj: vlastní zpracování 43

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Efektivní vývoj mobilních aplikací na více platforem současně Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 KAPITOLA 1 Nové rysy Windows 8 a 8.1 15 Nové uživatelské rozhraní 15 Rychlý náběh po zapnutí 16 Informace v prvním sledu 16 Nové prezentační

Více

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23 Úvod 11 KAPITOLA 1 Nástroje pro vývoj 13 Co budete potřebovat 13 Instalace programovacího jazyka Java 13 Java 8 14 Vývojové prostředí Eclipse 15 Instalace a konfigurace Android SDK a doplňků ADT 15 Vytvoření

Více

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler

Více

Základní informace. Operační systém (OS)

Základní informace. Operační systém (OS) Základní informace Operační systém (OS) OS je základní program, který oživuje technické díly počítače (hardware) a poskytuje prostředí pro práci všech ostatních programů. Operační systém musí být naistalován

Více

Mobile application developent

Mobile application developent Mobile application developent Jiří Šebek b6b36nss Obsah Návrh softwaru Prototypování testování MVVM architektura - mobile aplikace 2 Návrh softwaru Strategie : top down, bottom up Nejen u navrhu sw, ale

Více

Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode

Nástroje na vývoj aplikací pro ios Trocha motivace na úvod Co budete potřebovat Co když nemáte k dispozici počítač s macos? Vývojové prostředí Xcode KAPITOLA 1 Nástroje na vývoj aplikací pro ios 11 Trocha motivace na úvod 11 Co budete potřebovat 11 Co když nemáte k dispozici počítač s macos? 12 Vývojové prostředí Xcode 14 Průběžná aktualizace 16 První

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13 Obsah Předmluva 11 O této knize 13 Konvence........................................................13 Inovace prostřednictvím otevřenosti 15 Ekosystém Symbianu.............................................16

Více

Česká zemědělská univerzita v Praze

Česká zemědělská univerzita v Praze Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Katedra informačních technologií Teze diplomové práce Operační systém Google Android Petr Koula 2011 ČZU v Praze Souhrn Diplomová práce zahrnuje

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

Úvod. Klíčové vlastnosti. Jednoduchá obsluha REQUESTOR DATASHEET Úvod Requestor Service Desk poskytuje kompletní řešení pro správu interních i externích požadavků, které přicházejí do organizace libovolnou cestou. Produkt je zaměřen na vytvoření

Více

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13 Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje

Více

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Trendy a móda EMBARCADERO TECHNOLOGIES Popularita a prodej mobilních zařízení roste Skoro každý má

Více

Android. Programujeme pro. Jiří Vávrů, Miroslav Ujbányai. DRUHÉ, rozší řené v ydání

Android. Programujeme pro. Jiří Vávrů, Miroslav Ujbányai. DRUHÉ, rozší řené v ydání Programujeme pro Android Jiří Vávrů, Miroslav Ujbányai DRUHÉ, rozší řené v ydání Vývoj nativních aplikací pro systém Android krok za krokem Instalace vývojových nástrojů a kon gurace prostředí Eclipse

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

Tvorba mobilních aplikací

Tvorba mobilních aplikací Tvorba mobilních aplikací multiplatformní mobilní vývoj Martin Trnečka Katedra informatiky Univerzita Palackého v Olomouci Martin Trnečka Multiplatformní mobilní vývoj KMI/TMA 1 / 16 Multiplatformní aplikace

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

Seznámení s prostředím dot.net Framework

Seznámení s prostředím dot.net Framework Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené

Více

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací. Přednáška 5 1. Stručný přehled vývoje html H T m l (HTML...XML... html5), (Web API, JSON, REST,AJAX) 2. Některé související IT IP adresa, doménová adresa, name servery JavaScritp, Jquery, Angular PHP vs

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ FACULTY OF MECHANICAL ENGINEERING ÚSTAV AUTOMATIZACE A INFORMATIKY INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra Symantec pcanywhere 12.0 Špičkové řešení vzdáleného ovládání pro odbornou pomoc a řešení problémů Co je Symantec pcanywhere 12.0? Symantec pcanywhere, přední světové řešení vzdáleného ovládání*, pomáhá

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

IB111 Programování a algoritmizace. Programovací jazyky

IB111 Programování a algoritmizace. Programovací jazyky IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím

Více

Programové vybavení počítačů operační systémy

Programové vybavení počítačů operační systémy Programové vybavení počítačů operační systémy Operační systém Základní program, který oživuje hardware a poskytuje prostředí pro ostatní programy Řídí využití procesoru, síťovou komunikaci, tisk, ovládá

Více

1.2 Operační systémy, aplikace

1.2 Operační systémy, aplikace Informační a komunikační technologie 1.2 Operační systémy, aplikace Studijní obor: Sociální činnost Ročník: 1 Programy (Software - SW) V informatice se takto označují všechny samospustitelné soubory které

Více

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE KAPITOLA 1 Vývojové prostředí a výběr frameworku 15 PhoneGap 15 jquery

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Identifikátor materiálu: ICT-1-17

Identifikátor materiálu: ICT-1-17 Identifikátor materiálu: ICT-1-17 Předmět Informační a komunikační technologie Téma materiálu Operační systémy Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí operační systémy. Druh učebního

Více

Apache Cordova (PhoneGap 3)

Apache Cordova (PhoneGap 3) Apache Cordova (PhoneGap 3) Nativní aplikace pro Android, ios, WP, TAMZ 1 Cvičení 10 Základy Apache Cordova Vývoj nativních mobilních aplikací v HTML5+JS+CSS3 Vytvořená webová aplikace se zabalí pomocí

Více

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody Obsah 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody 3) 4) Mantichora Mantichora je moderní aplikace, který

Více

Desigo Control Point řešení pro ovládání a monitorování budov siemens.cz/desigo

Desigo Control Point řešení pro ovládání a monitorování budov siemens.cz/desigo Jedna budova. Různí uživatelé. Desigo Control Point řešení pro ovládání a monitorování budov siemens.cz/desigo Desigo Control Point navržen pro zjednodušení správy technologií budov Budovy nejsou jen pouhé

Více

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk Anotace: Příspěvek se zabývá rozvojem informačních a komunikačních technologií se zaměřením na trendy technického a programového

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Vývoj OS Windows Mobile. Ing. Jiří Šilhán

Vývoj OS Windows Mobile. Ing. Jiří Šilhán Vývoj OS Windows Mobile Ing. Jiří Šilhán Počátky vývoje Windows Mobile (též označovaný jako Windows CE) začíná roku 1992. Hlavním cílem bylo vyvinout mobilní zařízení s operačním systémem Windows. Myšlenkou

Více

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková Ruby on Rails Bc. Tomáš Juřík Bc. Bára Huňková Co nás dnes čeká? Ruby (programovací jazyk) Ruby on Rails (webový framework) Praktická ukázka Ruby (programovací jazyk) Ruby (programovací jazyk) Skriptovací

Více

Programovací jazyky Přehled a vývoj

Programovací jazyky Přehled a vývoj Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování

Více

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.

Více

NÁVRH EFEKTIVNÍ STRATEGIE MOBILNÍHO BANKOVNICTVÍ: NALEZENÍ SPRÁVNÉHO OBCHODNÍHO MODELU Mobile tech 2014

NÁVRH EFEKTIVNÍ STRATEGIE MOBILNÍHO BANKOVNICTVÍ: NALEZENÍ SPRÁVNÉHO OBCHODNÍHO MODELU Mobile tech 2014 NÁVRH EFEKTIVNÍ STRATEGIE MOBILNÍHO BANKOVNICTVÍ: NALEZENÍ SPRÁVNÉHO OBCHODNÍHO MODELU Mobile tech 2014 Mojmír Prokop, Head of Direct Channels, Komerční banka, a.s. Praha 27.března 2012 Kdo jsme : Silná

Více

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

Více

Software Základní pojmy a rozdělení. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1123_Software Základní pojmy a rozdělení_pwp

Software Základní pojmy a rozdělení. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1123_Software Základní pojmy a rozdělení_pwp Základní pojmy a rozdělení Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1123_Software Základní pojmy a rozdělení_pwp Název školy: Číslo a název projektu: Číslo a název šablony klíčové aktivity:

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

CineStar Černý Most Praha 31. 10. 2012

CineStar Černý Most Praha 31. 10. 2012 CineStar Černý Most Praha 31. 10. 2012 Stejná aplikace na více zařízeních Michael Juřek Microsoft s.r.o. Potřebné ingredience 1. Portable libraries 2. Návrhový vzor MVVM 3. XAML 4. Abstrakce platformy

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_15 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Úvod strana 2 Vyučující Ing. Jiří Lýsek, Ph.D. Ing. Oldřich Faldík https://akela.mendelu.cz/~lysek/ https://akela.mendelu.cz/~xfaldik/wa/

Více

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka Anotace V rámci projektu FRVŠ jsme připravili webovou e-learningovou aplikaci, která je implementována v jazyce Java v rozšířené

Více

úvod Historie operačních systémů

úvod Historie operačních systémů Historie operačních systémů úvod Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav

Více

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3.1 Tenký a tlustý klient Klientské aplikace nad XML dokumenty v prostředí internetu se dají rozdělit na dvě skupiny: tenký klient a tlustý klient.

Více

VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender

VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender VY_32_INOVACE_INF.19 Inkscape, GIMP, Blender Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 INKSCAPE Inkscape je open source

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

Sem vložte zadání Vaší práce.

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Diplomová práce Nástroje pro multiplatformní programování mobilních

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda Proces vývoje HRIS Vema Vlastnosti HRIS (Human Resources Information System) HRIS Vema Proces vývoje HRIS Vema Vema, a. s. Přední

Více

Elektronické učebnice popis systému, základních funkcí a jejich cena

Elektronické učebnice popis systému, základních funkcí a jejich cena Elektronické učebnice popis systému, základních funkcí a jejich cena Vytvořil TEMEX, spol. s r. o. Obsah 1. Úvod... 2 Formáty... 2 Cena... 2 2. Systémové požadavky... 3 Interaktivní PDF verze... 3 HTML

Více

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23 5 Obsah O autorech 15 O odborných korektorech 15 Úvod 16 Rozdělení knihy 16 Komu je tato kniha určena? 18 Co potřebujete, abyste mohli pracovat s touto knihou? 18 Sdělte nám svůj názor 18 Zdrojové kódy

Více

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek Snadný vývoj webových aplikací s Nette Lukáš Jelínek Proč framework? ušetří spoustu práce (implementace, úpravy) vývoj = co udělat, ne jak to udělat bezpečnost štábní kultura prostředky pro ladění podpora

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

Více

Úvodem Seznámení s HTML Rozhraní Canvas... 47

Úvodem Seznámení s HTML Rozhraní Canvas... 47 Stručný obsah Úvodem... 17 1. Seznámení s HTML5... 21 2. Rozhraní Canvas... 47 3. Práce s audiem a videem v HTML5... 85 4. Geolokační rozhraní... 109 5. Komunikační rozhraní... 137 6. Rozhraní WebSocket...

Více

Kapitola 1 První kroky v tvorbě miniaplikací 11

Kapitola 1 První kroky v tvorbě miniaplikací 11 Obsah Úvodem 9 Komu je kniha určena 9 Kapitola 1 První kroky v tvorbě miniaplikací 11 Co je to Postranní panel systému Windows a jak funguje 12 Co je potřeba vědět před programováním miniaplikací 16 Vaše

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

Telekomunikační koncová zařízení

Telekomunikační koncová zařízení Telekomunikační koncová zařízení Projekt č.: 1 Datum: 6. 11. 2013 Název: Vypracoval: Bc. Lukáš Rygol login: ryg0007 1. Úvod Vnitřní struktura systému ios ios je mobilní operační systém vyvinutý firmou

Více

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009 Webové rozhraní pro datové úložiště Obhajoba bakalářské práce Radek Šipka, jaro 2009 Úvod Cílem práce bylo reimplementovat stávající webové rozhraní datového úložiště MU. Obsah prezentace Úložiště nasazené

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

Software programové vybavení. 1. část

Software programové vybavení. 1. část Software programové vybavení 1. část Software Vše co není HW je SW = pojem se někdy vztahuje jak na programy, tak na data Oživuje hardware (zdaleka ne jen počítače) Je-li přítomen procesor, musí být i

Více

Bakalářské práce realizované v.net/c# Bachelor thesis implemented in.net/c#

Bakalářské práce realizované v.net/c# Bachelor thesis implemented in.net/c# Bakalářské práce realizované v.net/c# Bachelor thesis implemented in.net/c# Ing. Marek Musil 1 Abstrakt Platforma.NET je používána k vytváření velmi efektivních a uživatelsky přívětivých aplikací. Nabízí

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

modrana: flexibilní navigační systém Martin Kolman http://www.modrana.org/openalt2014 modrana@gmail.com

modrana: flexibilní navigační systém Martin Kolman http://www.modrana.org/openalt2014 modrana@gmail.com modrana: flexibilní navigační systém Martin Kolman http://www.modrana.org/openalt2014 modrana@gmail.com 1 Nevýhody uzavřených navigací nemožnost modifikovat funkcionalitu co když výrobce přestane podporovat

Více

Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a

Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a Vývoj Internetu značně pokročil a surfování je dnes možné nejen prostřednictvím počítače, ale také prostřednictvím chytrých telefonů, tabletů a netbooků. Chytré telefony, nazývané také Smartphony, poskytují

Více

Karel Bittner bittner@humusoft.com. HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Karel Bittner bittner@humusoft.com. HUMUSOFT s.r.o. HUMUSOFT s.r.o. Karel Bittner bittner@humusoft.com COMSOL Multiphysics Co je COMSOL Multiphysics? - sw určený k simulaci fyzikálních modelů, na něž působí jeden nebo několik fyzikálních vlivů - sw úlohy řeší metodou konečných

Více

Magento se představuje

Magento se představuje Kapitola 1 Magento se představuje 1.1 Co je to vlastně Magento? Magento je nový profesionální open-source e-shop pro e-commerce 21. století. Nabízí nevídanou flexibilitu, funkčnost a ovládání. S tímto

Více

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA 5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA 5. 15. 1 Charakteristika předmětu A. Obsahové vymezení: IVT se na naší škole vyučuje od tercie, kdy je cílem zvládnutí základů hardwaru, softwaru a operačního systému,

Více

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow

Více

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)

Více

XERXES Portál informačních zdrojů. Ing. Lukáš Budínský PhDr. Ondřej Fabián

XERXES Portál informačních zdrojů. Ing. Lukáš Budínský PhDr. Ondřej Fabián XERXES Portál informačních zdrojů Ing. Lukáš Budínský PhDr. Ondřej Fabián Inforum Inforum 2011 2011 24. 24. května května 2011 2011 Obsah Východiska projektu Proč portál informačních zdrojů? Metavyhledávání

Více

Knihovny v mobilních zařízeních. Jan Pokorný Knihovny současnosti 2012

Knihovny v mobilních zařízeních. Jan Pokorný Knihovny současnosti 2012 Knihovny v mobilních zařízeních Jan Pokorný Knihovny současnosti 2012 Mobilita a komunikace Zánik lokálních služeb na úkor globálních => nutnost stále cestovat z místa na místo Díky technologiím nežijeme

Více

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky Google Web Toolkit Martin Šurkovský, SUR096 Vysoká škola Báňská - Technická univerzita Ostrava Katedra informatiky 29. března 2010 Martin Šurkovský, SUR096 (VŠB - TUO) Google Web Toolkit 29. března 2010

Více

MST - sběr dat pomocí mobilních terminálů on-line/off-line

MST - sběr dat pomocí mobilních terminálů on-line/off-line MST - sběr dat pomocí mobilních terminálů on-line/off-line Stručný přehled název: MST, software pro sběr dat mobilními terminály ve skladu (příjem, výdej, inventura) autor aplikace: FASK, spol. s r.o.,

Více

XD39NUR Semestrální práce Zimní semestr 2013/2014

XD39NUR Semestrální práce Zimní semestr 2013/2014 XD39NUR Semestrální práce Zimní semestr 2013/2014 Kamil Darebný darebkam@fel.cvut.cz Obsah Zadání... 1 Deliverable D4... 2 Vytvoření prototypu... 2 Použité technologie... 2 Popis prototypu... 2 Screenshoty

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 20 Název materiálu: Android vs ios Ročník: Identifikace materiálu: Jméno autora: Předmět:

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Název DUM: VY_32_INOVACE_2B_9_Software_-_základní_programové_vybavení_počítače

Název DUM: VY_32_INOVACE_2B_9_Software_-_základní_programové_vybavení_počítače Název školy: Základní škola a Mateřská škola Žalany Číslo projektu: CZ. 1.07/1.4.00/21.3210 Téma sady: Informatika pro sedmý až osmý ročník Název DUM: VY_32_INOVACE_2B_9_Software_-_základní_programové_vybavení_počítače

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

Aplikační programové vybavení

Aplikační programové vybavení Aplikační software Aplikační software Programy z nejrůznějších oblastí využití počítače. Dnes existují stovky programů a u každého druhu pak často desítky konkrétních programů, které s větším nebo menším

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka Nástroje pro vývoj a publikaci mobilní aplikace v Qt Martin Straka martin.straka@nic.cz 24. 11. 2017 Obsah Qt a mobilní aplikace Nástroje, překlad a publikace v obchodech Android ios Aplikace mobilní Datovka

Více

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka Nástroje pro vývoj a publikaci mobilní aplikace v Qt Martin Straka martin.straka@nic.cz 24. 11. 2017 Obsah Qt a mobilní aplikace Nástroje, překlad a publikace v obchodech Android ios Aplikace mobilní Datovka

Více

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 18.4.2017 Webové technologie RIA, SPA, AngularJS - šablony a controllery, služby $scope a $http strana 2 RIA - Rich Internet Application Chová se podobně jako desktopová

Více