Multiplatformní vývoj v HTML5

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

Download "Multiplatformní vývoj v HTML5"

Transkript

1 MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Multiplatformní vývoj v HTML5 BAKALÁŘSKÁ PRÁCE Michal Škoula Brno, jaro 2014

2 Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Poděkování Chtěl bych poděkovat mému vedoucímu RNDr. Bc. Jonáši Ševčíkovi za jeho podporu a cenné rady při psaní této práce. Dále také rodině a přátelům za podporu při studiu. Licence Dílo podléhá licenci Creative Commons Michal Škoula 3.0 Česká republika Vedoucí práce: RNDr. Bc. Jonáš Ševčík

3 Shrnutí Cílem práce je shrnout možnosti multiplatformního vývoje a navrhnout a vytvořit multiplatformní hybridní aplikaci - hru s pomocí technologie HTML5 a Javascriptu. K vývoji byl použit framework Apache Cordova. Hra je dostupná na mobilních platformách Android a Windows Phone, stejně tak v běžném prohlížeči s potenciální možností expanze na další platformy. Hra funguje jak v online režimu s možností přihlášení uživatelů, tak i offline bez připojení na internet.

4 Klíčová slova HTML5, multiplatformní vývoj, hybridní vývoj, Javascript, tvorba her, Android

5 Obsah 1. Úvod Vývoj multiplatformních aplikací Nativní vývoj Webový HTML5 vývoj Hybridní vývoj Dostupné frameworky pro hybridní HTML5 vývoj Apache Cordova (Adobe PhoneGap) Appcelerator Titanium Telerik AppBuilder Využitelné novinky jazyka HTML Plátno Audio, Video Strukturální elementy Nové formulářové elementy Lokální úložiště Ukázková aplikace hra Funkční požadavky hry Uživatelské rozhraní Zvolené technologie Použití frameworku Cordova Instalace a vytvoření projektu SDK platforem... 18

6 3.4.3 Zásuvné moduly Použití API Příprava projektů platforem Klientská část hry Základní stránka hry a načítání Použité Javascriptové knihovny Multimediální soubory Vlastní objekty Serverová část hry Modely Controllery Distribuce hry Distribuce hry skrz oficiální obchody platforem Alternativní metody distribuce aplikací Monetizace Závěr Literatura... 32

7 1. Úvod Cílem práce je popsat možnosti tvorby a praktické vytvoření jednoduché hry pomocí webových technologií tak, aby fungovala na různých platformách, zejména na mobilních telefonech a tabletech s operačním systémem Android, Windows Phone, Windows 8 a Windows desktop. Stejným způsobem by se daly obsáhnout další platformy podporující webový a hybridní vývoj ios, Ubuntu, Tizen atd. Vývoj pomocí webových technologií znamená zejména použití HTML5, CSS a hlavně Javascriptu. Touto kombinací se dá docílit velké míry multiplatformnosti díky široké podpoře webových standardů na všech moderních platformách. Naopak při nativním vývoji by bylo nutné použití primárních jazyků daných platforem pro vývoj celé aplikace nebo minimálně její grafické nadstavby, pokud bychom jádro naprogramovali např. v jazyku C. To by znamenalo opakované programování jedné aplikace pro každou platformu zvlášť, včetně následných úprav a aktualizací. Dalším cílem práce je popis aspektů průběhu tvorby multiplatformní hry herního mechanismu, návrhu uživatelského rozhraní, její serverové části a také distribuce her napříč platformami. 1

8 2. Vývoj multiplatformních aplikací V této kapitole se zaměříme na srovnání možností vývoje aplikací, s důrazem na mobilní platformy. Shrneme tři hlavní způsoby - nativní, webový a hybridní. 2.1 Nativní vývoj Při nativním vývoji se aplikace tvoří zejména v primárním programovacím jazyce daného systému. U Androidu je to Java, u ios Objective-C a na Windows Phone se vyvíjí hlavně v jazyce C#. Rozdílné jsou nejen programovací jazyky, ale i struktura projektů, přístup k funkcím zařízení pomocí API a také platform guidelines 1, které by měl vývojář dané platformy dodržovat. Další charakteristikou nativních aplikací je jejich distribuce v internetových obchodech jednotlivých platforem. Každá platforma má svůj obchod, který je primárním zdrojem, někdy i jediným oficiálním, ze kterého si uživatel může stahovat a instalovat aplikace do svého zařízení. V operačním systému Android je to většinou Google Play, v případě ios je to App Store a Windows Phone má obchod s názvem Windows Phone Store. Přítomnost aplikace v takovém obchodě je jednou z největších výhod nativního vývoje oproti webovému, ať už pro šíření aplikace nebo pro její monetizaci. Uživatelé jsou navyklí na stahování aplikací právě z obchodů a na jednoduchý způsob platby. Výhodou nativního vývoje je vyšší výkon oproti webovému nebo hybridnímu. V roce 2012 Mark Zuckerberg uvedl, že největší chybou Facebooku byla sázka na mobilní webovou aplikaci namísto nativní. Do té doby byla Facebook aplikace hybridní s HTML jádrem; v roce 2012 byla nahrazena skutečně nativní aplikací. 2 (1) Relativně 1 Principy designu a uživatelského rozhraní dané platformy. 2 In 2012 Mark Zuckerberg declared that Facebook s biggest mistake had been betting on the mobile web and not going native. Up to that point, the Facebook app had been a hybrid app with an HTML core; in 2012 it was replaced with a truly native app. 2

9 vysokého výkonu nativních aplikací je dosaženo absencí běhového prostředí Javascriptu, nejsou spouštěny skrz jádro webového prohlížeče, ale přímo v systému. Existují projekty, které umožňují psát aplikace nativně v jednom jazyce a přesto je spouštět na vícero platformách. Zástupcem je např. Xamarin 3, který umožňuje psát aplikace nativně v C# a spouštět je na operačních systémech Android, ios, Mac OS X, Windows Phone a Windows. 2.2 Webový HTML5 vývoj Webový vývoj naopak poskytuje přenositelnost mezi platformami. Aplikace je, stejně jako webová stránka, naprogramována pouze jednou a případně je přizpůsobena tak, aby fungovala na všech požadovaných platformách. Aplikace se vyvíjí jako běžné webové stránky s využitím HTML5, CSS a Javascriptu a uživatel k nim přistupuje přes webový prohlížeč svého zařízení. Ke svému fungování tedy potřebují internetové připojení 4. Výhodou webových aplikací je nenáročnost na prostor, aplikace včetně dat je uložena na vzdáleném serveru, na kterém navíc mohou probíhat i některé výpočty. To znamená také jednoduché řešení aktualizací - stačí pouze nahrát novou verzi aplikace na server. Nevýhodou tohoto způsobu je absence přístupu k systémovému API a s tím spojené omezené využití funkcí zařízení, jako je fotoaparát, GPS senzor apod. 5 Další nevýhodou je možná nekonzistence uživatelského rozhraní v porovnání s nativními aplikacemi, případně náročnější přizpůsobení rozhraní nativnímu vzoru. 3 Xamarin < 4 Aplikace mohou díky HTML5 fungovat i offline, pokud se nejprve uloží do cache prohlížeče. 5 Některé nejnovější prohlížeče tyto funkce již podporují, ale v omezenější míře než nabízí plnohodnotné systémové API a v běžném použití se na ně nelze spoléhat. 3

10 2.3 Hybridní vývoj Hybridní vývoj spojuje oba přístupy, nativní i webový. Aplikace se skládá z nativního rámce, ve kterém se nachází webview 6 s webovou aplikací. Ta je součástí aplikace, případně se může načítat vzdáleně přes internet. Klady a zápory hybridních aplikací plynou z povahy obou přístupů, které hybridní vývoj spojuje. Výhodou hybridních aplikací oproti webovým je možnost publikace v oficiálních obchodech platforem. Uživatel je instaluje a spouští vedle klasických nativních aplikací. Další klíčovou výhodou oproti klasickým webovým aplikacím je možnost využití frameworků, které zajistí propojení webové aplikace běžící ve webview se systémem. Můžeme tak využívat systémové API a přistupovat k němu přímo z Javascriptu. Toto API je navíc stejné pro všechny platformy, které framework podporuje, liší se pouze množstvím funkcí, které nám na dané platformě povoluje vykonávat. Nevýhodou hybridních aplikací je z principu menší výkon oproti nativním, protože fungují, stejně jako webové aplikace, na základě webového jádra. Další nevýhodou je nutnost optimalizace rozhraní pro každou platformu zvlášť. To platí zejména u aplikací, ale v menší míře také u her, minimálně v oblasti přizpůsobení velikosti a poměru stran obrazovky. 2.4 Dostupné frameworky pro hybridní HTML5 vývoj Frameworků, které se dají použít pro hybridní HTML vývoj, existuje celá řada. Liší se přístupem k vývoji, možnostmi, které poskytují, cenovou politikou a dalšími parametry. Tato oblast informatiky je velmi mladá a probíhá v ní rychlý vývoj, tudíž se často objevují frameworky nové a ty stávající mění své principy. Obsahem této kapitoly je srovnání tří nejpopulárnějších frameworků Apache Cordova, 6 Nativní komponenta schopná zobrazit webovou stránku. 4

11 Appcelerator Titanium a Telerik Appbuilder, z nichž každý reprezentuje odlišný přístup k vývoji Apache Cordova (Adobe PhoneGap) Apache Cordova je open source projekt určený pro hybridní vývoj aplikací pomocí HTML5, CSS a Javascriptu. Jeho součástí není IDE, ale jen nástroj pro kompilaci. Nabízí jednotné API pro podporované systémy (Android, ios, Windows Phone, Windows 7 a 8, BlackBerry, Tizen, Ubuntu a Firefox OS). Podpora dílčích API se liší a pomalu se rozšiřuje. Obrázek 1: podpora API u jednotlivých platforem (2). Instalace probíhá z příkazové řádky skrz NPM balíčkovací systém, který funguje na serveru Node.js 7 a který zajistí i správu pluginů a budoucí aktualizace. Cordova 7 Javascriptová platforma používaná jako server založený na Chrome JavaScript runtime. 5

12 reprezentuje klasický přístup hybridního vývoje, kdy se použije webview pro zobrazení webové aplikace. Programátor má k dispozici několik rozhraní, pomocí kterých může komunikovat s operačním systémem z Javascriptu. Mezi tyto rozhraní patří hlavně přístup k akcelerometru, fotoaparát, kontakty uživatele, souborový systém, GPS senzor, přehrávání audia a videa a notifikace. PhoneGap je derivátem Cordovy, který zastřešuje společnost Adobe. Oproti Cordově nabízí kompilaci aplikací v cloudu pomocí služby PhoneGap Build, která je v omezené míře zdarma a také další napojení na cloudové služby Adobe. Vývojář tak nemusí mít nainstalované SDK na svém počítači, ale build aplikace provede vzdáleně přes server. Takovým způsobem se lze vyhnout například nutnosti vlastnit počítač Apple s operačním systémem OS X. Jádro mají oba projekty prakticky totožné, stejně tak jako dokumentaci. Jakým způsobem se budou nadále odlišovat, ukáže až čas Appcelerator Titanium Titanium je, stejně jako Cordova, open source aplikační framework určený pro hybridní vývoj aplikací. Podporuje mobilní operační systémy ios, Android, Windows Phone, BlackBerry a Tizen. Hlavním rozdílem oproti frameworku Cordova je přístup k vývoji. Aplikace v Titaniu jsou primárně aplikace nativní, které se ale píší v Javascriptu a s nativními komponentami komunikují skrze API. HTML a CSS se tak pro stavbu uživatelského rozhraní používat nemusí, můžeme použít i nativní komponenty. Přístup Titania tak můžeme charakterizovat jako spojení nativního a hybridního vývoje. Nejsou to tedy nutně webové aplikace zobrazované ve webview, i když i takový přístup je možný. Základem frameworku je Titanium SDK, sada nástrojů pro kompilaci zdrojových kódů z Javascriptu do nativních projektů jednotlivých platforem. K vývoji může programátor použít Titanium Studio, proprietární IDE založené na open source projektu Eclipse. Titanium Studio má již integrované moduly pro práci s SDK a 6

13 verzovací systém Git, případně můžeme využít konzolové rozhraní a libovolné IDE či textový editor. Další součástí Titania je Alloy, MVC 8 framework, který může vývojář použít pro lepší organizaci a znovupoužití zdrojových kódů aplikace. Framework Alloy je plně implementován do Titanium Studia Telerik AppBuilder AppBuilder, framework dříve známý jako Icenium, je součástí cloudové platformy Telerik, ale může být používán i samostatně. Přístup k systémovému API je realizován pomocí frameworku Apache Cordova. Pro vývoj aplikací může vývojář použít nativní aplikaci pro Windows, online webové IDE přímo v prohlížeči, plugin pro Visual Studio nebo přímo příkazovou řádku. AppBuilder je dostupný ve verzi zdarma s omezením na dva projekty, případně za měsíční nebo roční poplatek ve vyšších verzích. Z cloudové povahy AppBuilderu vyplívá, že vývojář si nemusí instalovat SDK všech platforem, které chce pokrýt, ale kompilace probíhá na vzdálených serverech. Výhodou AppBuilderu je možnost publikování hotových aplikací do jednotlivých obchodů platforem přímo z vývojového prostředí. Součástí je, stejně jako v případě Titania, verzovací systém založený na nástroji Git. 2.5 Využitelné novinky jazyka HTML5 HTML5 je posledním standardem HTML. Minulá verze HTML 4.01 byla vydána v roce 1999 a internet se od té doby značně proměnil. HTML5 bylo speciálně navrženo, aby zajistilo bohatý obsah bez potřeby dalších doplňků. 9 (3) 8 Model View Controler je architektonický vzor softwarového inženýrství, který odděluje datovou, prezentační a řídící logiku aplikace. 9 HTML5 is the latest standard for HTML. The previous version of HTML, HTML 4.01, came in 1999, and the internet has changed significantly since then. It was specially designed to deliver rich content without the need for additional plugins. 7

14 Při webovém a hybridním vývoji aplikací nebo her je vhodné využít některé nové elementy, které nabízí jazyk HTML5. Kromě strukturálních elementů, které se zatím v praxi příliš nerozšířily, je možno použít zejména elementy plátno (canvas), audio a video. Tyto elementy nám zjednoduší nebo přímo umožní dodat aplikaci bohatý obsah v podobě dynamického kreslení na plátno nebo přehrávání videí, zvuků a hudby. Nemusíme přitom využívat cizí doplňky prohlížečů 10, ale můžeme se spolehnout přímo na jádro prohlížeče, případně využít doplňky jako alternativní metodu, pokud prohlížeč nepodporuje HTML5 verzi. K těmto elementům poté přistupujeme a ovládáme je pomocí Javascriptu a metod k tomu určených Plátno Plátno neboli také canvas je element HTML5, který umožňuje vykreslování objektů a manipulaci s bitmapami na nízké úrovni. Na element plátna je možné nahlížet jako na dynamický element obrázku. 11 (4 str. 20) Plátno se chová jako běžný HTML element, můžeme jej stylovat pomocí CSS a manipulovat s ním pomocí DOM 12. Element plátno vypadá v základní podobě v HTML5 dokumentu následovně: <canvas id="canvas" width="100" height="100"> Text, který se použije v případě, že prohlížeč tento element nepodporuje. </canvas> Atributy width a height nevyjadřují nutně skutečnou velikost elementu na webové stránce (ta se dá změnit pomocí CSS). Vyjadřují počet bodů, které můžeme využít při kreslení na plátno. Pokud elementu změníme velikost pomocí CSS, obrázek se stane pravděpodobně rozmazaným. 10 Například Flash nebo Silverlight. 11 Canvas is an HTML5 element that provides drawing shapes and bitmap manipulation functions in low level. We can imagine the Canvas element as a dynamic image tag. 12 Document Object Model Objektově orientovaná reprezentace XML nebo HTML dokumentu. DOM je API umožňující přístup či modifikaci obsahu, struktury nebo stylu dokumentu či jeho částí. (6 str. 237) 8

15 Na plátno můžeme kreslit pomocí několika metod. Pro kreslení ale nepoužijeme přímo element plátno, ale jeho atribut, 2D context. Ten získáme následujícím způsobem: var canvas = document.getelementbyid("canvas"); var context = canvas.getcontext("2d"); Mezi metody pro práci s plátnem patří např. drawimage(image,x1,y1,x2,y2) pro kreslení obrázku, metoda fillrect(x1,y1,x2,y2), která vykreslí obdélník s výplní, filltext(text,x,y) pro kreslení zadaného textu a clearrect(x1,y1,x2,y2), která slouží pro vymazání dané části plátna. Pozor si musíme dát na metodu drawimage, která může mít tři až devět parametrů 13. Pokud chceme kreslit obrázek na plátno, musí být již načtený. V opačném případě se nic nevykreslí. Načítání obrázků se dále věnujeme v kapitole Základní stránka hry a načítání Audio, Video HTML5 nám umožňuje vložit do stránky elementy audio a video, které zajišťují přehrávání zvuků a videí přímo ve stránce. Kód audio elementu vypadá následovně, atribut controls značí zobrazení ovládacích prvků přehrávače. Pokud bychom tento atribut neuvedli, přehrávač by se v prohlížeči graficky nezobrazil a byl by přístupný jen skrze Javascript. <audio controls> <source src="zvuk.mp3" type="audio/mpeg"> <source src="zvuk.ogg" type="audio/ogg"> Text, který se použije v případě, že prohlížeč tento element nepodporuje. </audio> V současné době se užití těchto elementů liší v závislosti na podporovaných formátech multimediálních souborů webovými prohlížeči. Ty se liší i v grafickém znázornění ovládacích prvků přehrávačů, pokud je chceme zobrazit. Tabulka 1 ukazuje podporu formátů zvuků v nejpoužívanějších prohlížečích, Obrázek 2 pak grafické znázornění elementu v prohlížeči Chrome. Jak lze vidět, v praxi musíme použít formáty zvuku 13 Podrobný popis metody drawimage < 9

16 minimálně dva, abychom pokryli všechny možnosti. Použije se první uvedený v seznamu elementů source, který je podporován daným prohlížečem. PROHLÍŽEČ OGG MP3 WAV FIREFOX 3.6+ Ano - Ano SAFARI 5+ - Ano Ano CHROME Ano Ano - OPERA Ano - Ano INTERNET EXPLORER - Ano Ano Tabulka 1: Podpora formátu zvuků v prohlížečích (4). Obrázek 2: Ovládací prvek elementu audio v prohlížeči Google Chrome Strukturální elementy Strukturální elementy jako header, footer, article, section, nav a další mají sémantický význam, protože prezentují logickou stavbu dokumentu. Neříkají nic o své přesné pozici nebo vzhledu. Jejich využití při vývoji hybridních aplikací je sporné, žádný přímý přínos oproti použití klasických elementů jako div, stylovaných pomocí CSS, nenastane. Své využití najdou zejména na webu, díky svému sémantickému významu. Tělo (body) zjednodušeného HTML5 dokumentu využívajícího strukturální elementy může vypadat následovně: <body> <header> <h1>nadpis</h1> </header> <nav> <ul> <li><a href="">domů</a></li> <li><a href="">kontakty</a></li> </ul> </nav> 10

17 <section> <article>článek 1</article> <article>článek 2</article> </section> <header> <h1>nadpis</h1> </header> </body> Nové formulářové elementy Při vývoji webových a hybridních aplikací HTML5 nabízí nové formulářové prvky přizpůsobené konkrétním potřebám. Podpora v současných prohlížečích je různá a nemůžeme se na ni všeobecně spoléhat. Mezi nové HTML5 prvky patří formulářový element pro zadávání barvy. Například v prohlížeči Chrome se po kliknutí zobrazí standardní dialogové okno Windows pro výběr barvy. Dalším použitelným elementem je výběr data skrz kalendář, element pro validaci u, jezdec 14 nebo speciální pole pro zadání čísla. Na mobilních telefonech můžeme například docílit toho, aby se při zadávání telefonního čísla upravilo rozložení klávesnice. Každý prohlížeč ale tyto elementy interpretuje a zobrazuje jinak, případně vůbec. Ukázka několika takových HTML5 elementů následuje. Jsou to klasické elementy input s odlišným atributem type. Pokud prohlížeč daný typ elementu nepodporuje, zobrazí se textové pole (použije se defaultní type="text"). <input type="color" name="barva"> <input type="date" name="datum"> <input type=" " name=" "> <input type="range" name="hodnota" min="1" max="10"> <input type="tel" name="telefon"> Lokální úložiště Lokální úložiště je další z řady nových funkcí HTML5. Umožňuje webům ukládat data do lokálního prohlížeče a později k nim opět přistupovat. 15 (4 str. 205) 14 Ang. slider, reprezentovaný elementem range. 15 Local storage is a new specification from HTML5. It allows a website to store information in the browser locally and access the stored data later. 11

18 Před příchodem HTML5 bylo prakticky jedinou možností, jak ukládat na webové stránce data o uživateli, využití omezených cookies. Lokální úložiště v HTML5 oproti cookies dovoluje ukládat větší objem dat (5MB oproti 4KB 16 ) a data se také nepřenášejí na server s každým http dotazem. Lokální úložiště funguje jako pár klíč hodnota, z nichž obě části jsou vždy řetězce. Ukládání a načítání dat funguje pomocí dvou metod, setitem a getitem: localstorage.setitem("key", "value"); localstorage.getitem("key"); Existují další způsoby, jak přistupovat k lokálnímu úložišti. Jeden z nich je přístup k údajům jako k asociativnímu poli a druhý z nich jako k atributům objektu. Tyto zápisy jsou kratší, příklad ukládání dat: localstorage["key"] = "value"; localstorage.key = "value"; 16 HTML5 Web Storage < 12

19 3. Ukázková aplikace hra Cílem praktické části této práce je popis vývoje multiplatformní hry v HTML5. Nejprve je nutné ujasnit si požadavky na to, jak má hra vypadat a fungovat. Následně provedeme návrh uživatelského rozhraní a vybereme vhodné technologie a až poté můžeme aplikaci realizovat. Všechny zdrojové kódy hry jsou ke stažení na GitHubu Funkční požadavky hry Bude se jednat o tzv. plošinovku. Hra se bude ovládat pouze dotykem prstu/klikem myši kamkoliv mimo ovládací prvky menu. Po tomto kliku hlavní hrdina vyskočí. Pohyb dopředu, respektive z leva doprava je realizován automaticky a s herním průběhem se postupně hra zrychluje, jedná se o tzv. autorunner hru. Ve hře bude několik objektů, které můžeme rozdělit na objekty s interakcí a bez interakce. Jejich strukturu znázorňuje následující seznam: Objekty s interakcí o Nepřátelé při kontaktu s hráčem mu odebírají zdraví. Jsou čtyři druhy nepřátel a generují se podle předem vytvořených vzorů, z nichž se vybírá náhodně. o Mince hráč je může sbírat a později si za ně kupovat vylepšení. Při použití vylepšení double coins se jejich hodnota zdvojnásobí. Generují se náhodně. o Lahve mléka při kontaktu s hráčem mu přidávají zdraví. Při použití vylepšení milky way se jejich výskyt zdvojnásobuje. Generují se náhodně. Objekty bez interakce o Pozadí pohybuje se zprava doleva a v čase se náhodně mění. o Oblaka generují se náhodně a plynou s pozadím. 13

20 Uživatel bude mít možnost, ne však povinnost registrace a přihlášení, po kterém se zpřístupní sdílení skóre na internet a obchod s vylepšeními. To zároveň poskytuje do budoucna další, sociální možnosti zapojení uživatelů do herního ekosystému. 3.2 Uživatelské rozhraní Při návrhu uživatelského rozhraní se nemusíme řídit guidelines jednotlivých platforem, protože vytváříme hru a u těch je jejich návrh a grafické ztvárnění plně v rukou tvůrců. Díky tomu nám stačí vytvořit jednotný návrh pro všechny platformy a zařízení, který se bude ve finále jen přizpůsobovat aktuálnímu rozlišení. Návrh uživatelského rozhraní počítá s menu, které je fixně umístěno do dolní části obrazovky a je viditelné kdykoliv při běhu aplikace. Toto menu se mění v závislosti na tom, zda je uživatel přihlášen či nikoli. Obrázek 3 ukazuje stav po přihlášení, který navíc obsahuje tlačítko Market pro vstup do herního obchodu, který je přístupný pouze přihlášeným uživatelům. Kočka znázorňuje postavu hráče, psi jsou nepřátelé, kterým je třeba se vyhnout. Obrázek 3: návrh uživatelského rozhraní v programu Balsamiq Online nástroj pro tvorbu uživatelského rozhraní Balsamiq < 14

21 Kromě menu hra neobsahuje žádné další ovládací prvky. Hra se odvíjí sama a postupně zrychluje, úlohou hráče je tedy pomocí skoků uhýbat nepřátelům. Díky absenci jiných ovládacích prvků můžeme předpokládat, že herní princip je srozumitelný, snadno pochopitelný a nepotřebuje dalších vysvětlení. Role tlačítek v menu je intuitivní, tlačítko Start zahajuje hru od začátku. Po kliknutí na tlačítko Score hra nabídne lightbox 18 přes celou stránku, jehož obsahem bude vzdáleně načítané skóre, rozdělené na tři sekce skóre hráče, globální skóre platformy a globální skóre všech platforem. Options nabízí volby pro vypnutí a zapnutí zvuku, vibrací a efektů. Volba About zobrazí stručné informace o hře, jejím příběhu, autorovi a herních elementech. Konečně tlačítko Market nabídne uživateli zakoupení jednorázových vylepšení, které si může zakoupit za virtuální měnu, kterou ve hře sbírá. Mezi tyto vylepšení patří zdvojnásobení hodnoty sesbíraných mincí, nesmrtelnost, zrychlení pro prvních 10 vteřin hry a zdvojnásobení počtů lékárniček ve hře. Tyto vylepšení se aktivují automaticky při dalším startu hry. 3.3 Zvolené technologie Abychom mohli hru publikovat na různých platformách, bude mít hybridní charakter, využívající výhody nativního i webového vývoje. V kapitole 2.4 jsme představili tři frameworky Apache Cordova, Appcelerator Titanium a Telerik AppBuilder. Využijeme frameworku Apache Cordova, protože se k vývoji aplikací oproti Titaniu používá primárně HTML5, takže můžeme hru distribuovat i jako webovou aplikaci bez nutnosti instalace. Dalším důvodem je skutečnost, že i třetí jmenovaný AppBuilder, je na Cordově založen. Další výhodou Cordovy je relativně snadné použití API k přístupu k nativním funkcím. Cordovu použijeme pro zpřístupnění API k funkcím systému a k přípravě projektů pro jednotlivá vývojová prostředí platforem, ze kterých ve finále zkompilujeme instalační balíčky. Je to jeden z možných způsobů 18 Lightbox je obecné označení Javascriptové knihovny, která plní funkci výrazného dialogového okna. Lightbox draws the user's attention to a dialog box, error message, or other design element in the middle of the screen by dimming the rest of the screen (7). 15

22 vývoje, stejného výsledku bychom ale dosáhli použitím i jiných frameworků. Více o praktickém použití frameworku Cordova pojednáme v následující kapitole 3.4 Použití frameworku Cordova. Uživatelské rozhraní a vzhled bude definován v HTML5 a CSS. Pro zápis kaskádových stylů použijeme preprocesor LESS 19. Ten nám umožní efektivnější zápis stylů, obohacený o proměnné (využitelné pro definici a opakované použití barev), pojmenované sady pravidel tzv. mixins, vnořená pravidla, vkládání dalších LESS souborů apod. Samotná hra bude využívat ve větší míře Javascriptový framework jquery 20 a několik dalších Javascriptových knihoven, které jsou popsány v dalších podkapitolách, přímo při jejich použití. Hra bude mít Javascriptový frontend, vložený do webview aplikace, který bude komunikovat skrz AJAX 21 a formát JSON 22 se serverovým backendem, sloužícím pro registraci do hry, přihlášení a ukládání skóre hráče. Pro serverovou část zvolíme open source server Apache 23, jako skriptovací jazyk pak PHP a framework Code Igniter 24. Data budeme ukládat na open source databázovém serveru MySQL. Obojí jsme zvolili kvůli jednoduché implementaci a obecnému rozšíření. Herní logika hry bude uložena v Javascriptových entitách neboli objektech. Javascript nemá sám o sobě třídy, můžeme je ale pro náš účel napodobit připravenými konstruktory objektů. 19 CSS preprocesor LESS: < 20 jquery: < 21 AJAX - Asynchronous JavaScript and XML obecná technologie pro asynchronní komunikaci. 22 JSON - JavaScript Object Notation, formát souboru pro přenášení dat. 23 Apache: < 24 Code Igniter: < 16

23 3.4 Použití frameworku Cordova Jako stěžejní technologii jsme vybrali framework Cordova pro rozhraní mezi hrou v Javascriptu a systémem. V této části popíšeme jeho praktické použití včetně instalace, využití zásuvných modulů, přípravy projektu Instalace a vytvoření projektu Před použitím frameworku Cordova je potřeba nainstalovat open source server Node.js, který již obsahuje oficiální balíčkovací systém pro tuto platformu, NPM. Node.js je k dispozici jak pro systémy Windows, tak i Mac OS X, Linux a Sun OS. Instalaci Cordovy 25 pak provedeme následujícím příkazem v terminálu: $ npm install -g cordova Následně se přesuneme do adresáře, kde chceme vytvořit náš projekt a zavoláme další příkaz, který vytvoří projekt a jeho adresářovou strukturu. Důležitý je podadresář www, ve kterém bude uložena naše webová aplikace, tedy HTML, CSS, Javascript atd. První parametr hello je název projektu, následuje nepovinný identifikátor v obráceném doménovém pořadí 26 a za ním opět nepovinný parametr s titulkem naší aplikace. Všechny tři parametry se dají později změnit v konfiguračních souborech. $ cordova create hello com.example.hello HelloWorld V dalším kroku je nutno přidat platformy, pro které chceme vyvíjet. Vytvoří se jako podadresáře v adresáři platforms. Jejich nabídka se liší v závislosti na operačním systému, na kterém pracujeme. Zatímco platformy Android, Amazon FireOS, Blackberry 10 a Firefox OS můžeme přidat do projektu na Windows i Mac OS X, u ostatních jsme omezeni. Na Mac OS X tedy můžeme navíc přidat platformu ios a na Windows můžeme logicky přidat Windows 8 a Windows Phone 7 a 8. Příkaz pro přidání platformy Android: $ cordova platform add android 25 Instalace je podrobně popsána v dokumentaci: < 26 Reverse domain-style identifier, způsob pojmenování balíčků, např. v Javě. 17

24 3.4.2 SDK platforem Před přidáním platforem do našeho projektu je potřeba mít nainstalované SKD 27 pro každou platformu, kterou chceme přidat. SDK pak bude sloužit pro přípravu projektů a na konci nám, jako součást vývojového prostředí, umožní hru vyexportovat jako instalační balíček. Pro operační systém Android je k dispozici oficiální multiplatformní Android SDK 28, open source vývojové prostředí založené na Eclipse a také Android Studio 29, založené na IntelliJ Idea, které obsahuje i SDK a emulátor a umožňuje dodatečné stažení různých verzí Androidu pro účely testování. Pro vývoj aplikací na platformách Windows 7, 8 a Windows Phone existuje Microsoft Visual Studio 30 v různých edicích. Visual Studio je kompatibilní jen se systémem Windows. Vývoj pro ios a Mac OS X probíhá ve vývojovém prostředí XCode 31, které je opět dostupné jen v operačním systému OS X Zásuvné moduly K tomu abychom mohli používat jednu z klíčových vlastností frameworku Cordova, přístup k systémovému API, je nutné si do projektu přidat odpovídající zásuvné moduly, tzv. pluginy. Tyto moduly zajišťují základní integraci a je možné si naprogramovat své vlastní, které by zajistili individuální požadavky na propojení Javascriptové aplikace se systémem. Moduly se do projektu přidávají následujícím příkazem. V příkladu konkrétně se přidá modul pro zpřístupnění fotoaparátu, pokud jím zařízení disponuje. $ cordova plugin add org.apache.cordova.camera 27 Software Development Kit, definice: < 28 Android SDK Bundle < 29 Android Studio < 30 Visual Studio < 31 XCode < 18

25 Mezi další dostupné zásuvné moduly patří např. modul pro práci s vibracemi, přehrávačem médií, kontakty, informacemi o zařízení, akcelerometrem, systémovými dialogy, paměťovým zařízením a další. Každý zásuvný modul ale zpomaluje celou aplikaci, což může být znatelné zejména na slabších a starších mobilních zařízeních, proto je vhodné používat jen nezbytně nutné moduly. Stačí ve výše uvedeném příkazu změnit klíčové slovo add za remove: $ cordova plugin remove org.apache.cordova.camera Použití API Jako příklad přístupu k nativním systémovým funkcím skrze API frameworku Cordova si ukážeme použití vibrací (Vibration API). Vibraci spustíme příkazem: navigator.notification.vibrate(time); Přičemž parametr time je délka vibrace v milisekundách. Tento parametr je ignorován v systému ios. Globální objekt navigator je ustanoven po připojení Cordovy k zařízení metodou ondeviceready a využívá se i v dalších API Příprava projektů platforem Vývoj hybridních aplikací probíhá z větší části podobně jako u webových stránek nebo aplikací. Náš kód hry bude uložen v projektovém podadresáři www. Hru můžeme z časových důvodů průběžně testovat v některém z prohlížečů s podporou HTML5, je ale nutné ji otestovat i na reálném zařízení nebo alespoň v emulátoru, abychom odhalili chyby způsobené rozdílností prohlížečů na různých platformách a otestovali přístup k API platforem. K tomu musíme změny, které proběhly v adresáři www, promítnout i do adresářů s projekty platforem. To provedeme příkazem: $ cordova prepare android Tento příkaz aktualizuje projektové soubory projektu pro Android verzi naší hry. Stačí změnit poslední parametr například na wp8 a připraví se nám projekt pro Windows Phone. Při aktualizaci se ale nahradí všechny soubory naší hry, takže případné úpravy v projektových souborech by byly ztraceny. Toto řeší adresář merge, který je podobně 19

26 jako adresář platforms rozdělen dle zvolených platforem. Pokud do tohoto adresáře umístíme nějaký soubor, bude mít větší prioritu než zrcadlový soubor v pracovním adresáři www. Tímto způsobem se dají vyřešit odlišnosti mezi platformami. Příkladem využití může být jiný konfigurační soubor pro každou platformu. Dále máme dvě možnosti. První z nich je otevření projektu ve vývojovém prostředí (například v Android Developer Tools v případě Androidu nebo ve Visual Studiu v případě Windows Phone atd.) a spuštění v emulátoru, v lepším případě na reálném zařízení. Druhým způsobem je spuštění dvojice příkazů, z nichž první projekt zkompiluje a druhý aplikaci spustí v emulátoru: $ cordova compile android $ cordova emulate android Z vývojových prostředí pak digitálně podepíšeme a vyexportujeme instalační balíček, který můžeme nahrát do obchodů nebo dále distribuovat jinými cestami. 3.5 Klientská část hry Naše hra se skládá ze dvou částí, klientské a serverové. Klientská část hry je klíčová, probíhá v ní herní logika. V této kapitole popíšeme klíčové prvky její tvorby Základní stránka hry a načítání Základní stránka, index.html, má strukturu běžného HTML5 dokumentu. Element <head> obsahuje načítání CSS a Javascriptových souborů. Důležitým prvkem je <meta> element viewport, který zakazuje uživatelské přibližování a oddalování stránky na mobilních telefonech. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximumscale=1.0, minimum-scale=1.0, user-scalable=no" /> Element <body> pak obsahuje definici viditelných elementů na stránce, zejména plátna, na které se vykresluje celá hra a tlačítek menu ve spodní části. Soubor js/init.js obsahuje jquery metodu $(document).ready, která se zavolá po načtení kompletního dokumentu, včetně CSS a Javascriptových souborů. V této metodě probíhají přípravné 20

27 procedury, jako například definice globálních proměnných (_game, _cat, _images, _sounds, _math) a načtení herních obrázků a zvukových souborů. Seznam obrázků a zvuků je obsažen v souboru config/files.json. U obrázků je uveden název souboru a jeho velikosti v pixelech. U zvukových souborů je to název MP3 a OGG souboru. Načítání obrázků do globálního pole _images můžeme realizovat následovně: var filescount = 0; _images = new Object(); $.each(jsonfiles.images, function(index, value){ _images[index] = new Image(); _images[index].onload = function() { filescount++; }; _images[index].src = "img/" + value.url; _images[index].originalwidth = parseint(value.width); _images[index].originalheight = parseint(value.height); }); Nakonec se ještě přesvědčíme, že jsou všechny obrázky načteny. V intervalu 500 milisekund testujeme, zda se proměnná filescount rovná počtu obrázků v souboru config/files.json. Pokud je tato podmínka splněna, vytvoří se nový herní objekt _game, obraz se přizpůsobí velikosti obrazovky, inicializuje se hráč, vykreslí se hlavní menu a vše je připraveno na hráčovy pokyny Použité Javascriptové knihovny Pro usnadnění a urychlení vývoje použijeme již připravené, volně dostupné Javascriptové knihovny. Ty nám poskytnou potřebnou rozšiřující funkcionalitu. Popis těch nejdůležitějších následuje. Audio5js 32 je knihovna pro práci s HTML5 Audiem. Podrobněji o použití této knihovny v kapitole Hudba. Alertify.js 33 umožňuje zobrazování dialogových oken jako přizpůsobitelnou náhradu za nativní Javascriptové metody alert a confirm. Další výhodou je stejný vzhled napříč platformami. 32 Audio5js < 33 Alertify.js < 21

28 Fastclick 34 je drobný ale u hry klíčový doplněk, který řeší problém s opožděným rozpoznáváním dotyků u zařízení s dotykovou obrazovkou. Toto opoždění je způsobeno účelovým vyčkáváním, zda uživatel neprovede dvojdotek. jquery je framework poskytující metody pro zjednodušení práce s DOM a provázání HTML dokumentu s Javascriptem. Tinybox.js 35 je knihovna umožňující zobrazování lightboxů. Ve hře ji využijeme pro zobrazení dalších obrazovek kromě herní, například pro zobrazení skóre nebo nastavení Multimediální soubory Hra bude obsahovat kromě zdrojových kódu a knihoven také multimediální soubory. Jsou to obrázky, hudba a lze mezi ně zařadit i písma. S každým médiem se v HTML5 pracuje odlišně Obrázky Obrázky budeme ve hře zobrazovat dvěma způsoby. Prvním, v našem případě častějším a preferovaným způsobem, je vykreslení obrázku na plátno, druhým je zobrazení pomocí klasického HTML elementu img. Práci s plátnem jsme popsali v kapitole Plátno. U některých obrázků lze dosáhnout animovaného efektu jednoduchým způsobem. Do souboru uložíme obrázek dvakrát, vedle sebe a na jedné straně ho mírně upravíme. Vytvoříme tak vlastně sprite sheet o dvou snímcích. V případě hlavního hrdiny, kočky (Obrázek 4.), na jedné straně posuneme jazyk a překreslíme uši. 34 Fastclick < 35 Tinybox.js < 22

29 Obrázek 4: Herní obrázek kočky uzpůsobený pro dosažení animovaného efektu. Při vykreslování pak střídavě vykreslujeme levou a pravou polovinu obrázku. Docílíme tím jednoduché a efektní animace Hudba Přehrávání hudby a zvuků pomocí HTML5 jsme popsali již v kapitole Audio, Video. Tímto způsobem bychom ale museli pro každý zvuk vytvořit zvláštní audio element. Lepším způsobem je využití některé z open source knihoven určených pro přehrávání zvuků na webových stránkách, např. Howler.js 36, který ve výchozím nastavení používá modernější Web Audio API a až pokud toto selže, použije se HTML5 Audio. Další možností je knihovna Audio5js 37, které spoléhá přímo na HTML5 Audio, případně se zkusí přepnout do Flash režimu. Pro naše účely jednoduchého přehrávání hudby a zvuků se jeví jako výhodnější řešení použití knihovny Audio5js. Tato knihovna disponuje základními metodami, jako je load, play, pause, volume a seek. Přehrávat můžeme soubory různých formátů, např. MP3, OGG Vorbis, Opus, WebM nebo MP4. V praxi stačí použít ztrátové formáty MP3 a OGG Vorbis pro zajištění přehrávání ve všech prohlížečích. Vzhledem k velikosti hry je vhodné použít menší kvalitu zvuku pro mobilní zařízení. Můžeme použít adresář merge, popsaný v kapitole Příprava projektů platforem. Příklad načtení zvuku, definice více souborů s různými kodeky a jeho okamžité přehrání: var audio = new Audio5js({ codecs: ['vorbis', 'mp3'], ready: function () { 36 Howler.js < 37 Audio5js < 23

30 }); } var url; switch (player.codec) { case 'vorbis': url = 'audio.ogg'; break; default: url = 'audio.mp3'; break; } this.load(url); this.play(); Situace je však problematická u mobilních telefonů, kde je podpora HTML5 Audia nejistá. Např. Windows Phone 8 nepodporuje přehrávání více než jedné zvukové stopy současně, takže si musíme na této platformě vybrat, zda dáme přednost herní hudbě nebo zvukům. Upřednostníme první verzi. V různých verzích Androidu HTML5 Audio funguje také nespolehlivě. Samotnou hudbu a zvuky můžeme získat ze specializovaných stránek, např. z Open Game Art 38, která se zaměřuje na sbírání obrázků, hudby a zvuků pro volné užití v hrách. Vždy je nutné dát si pozor na licenci, pod kterou jsou dané soubory uvolněny. Ve většině případů stačí kontaktovat autora, případně ho zmínit v sekci autorů Písma Abychom se nemuseli omezit pouze na běžná písma, která jsou dostupná ve všech systémech, použijeme písmo Renegade Master Font 39, deklarované skrze CSS. Písmo je na webu dostupné zdarma ke stažení ve formátu True Type (TTF), který však nepodporují všechny prohlížeče. Je nutné deklaraci doplnit o další formáty, jako je Embedded OpenType (EOT), Web Open Font Format (WOFF) a také písmo ve formátu Scalable Vector Graphics (SVG). 38 Open Game Art < 39 Renegade Master Font < 24

31 Obrázek 5: Písmo Renegade Master Font. Konverzi mezi formáty můžeme provést online např. pomocí služby Font Squirrel 40, kde nahrajeme již zmíněné písmo Renegade Master Font a získáme písma v dalších alternativních formátech, které zajistí zvýšení kompatibility a přímo i CSS zápis jejich { font-family: 'renegade_masternormal'; src: url('../fonts/renegade_master-webfont.eot'); src: url('../fonts/renegade_master-webfont.eot?#iefix') format('embeddedopentype'), url('../fonts/renegade_master-webfont.woff') format('woff'), url('../fonts/renegade_master-webfont.ttf') format('truetype'), url('../fonts/renegade_master-webfont.svg#renegade_masternormal') format('svg'); font-weight: normal; font-style: normal; } Další možností, jak se vyhnout omezení na běžná systémová písma, která se navíc liší na každé platformě, je využití online služeb, díky kterým můžeme načítat písma vzdáleně. Jednou z takových služeb je Google Fonts 41. Jeho použití je jednodušší, než v případě konverze písem a jejich místního uložení. Pro offline hraní je ale nutné mít písma uložená lokálně, navíc tím docílíme rychlejšího načítání Vlastní objekty V Javascriptu neexistují třídy, tento mechanismus se v něm nahrazuje prototypováním. Vytvoříme si několik definic objektů - konstruktorů, které budou jejich roli simulovat. Jejich stručný popis následuje. gameobject reprezentuje instanci hry. Obsahuje metody sloužící pro start, přerušení a konec hry, přizpůsobení herního plátna rozlišení obrazovky, dále 40 Font Squirrel Webfont Generator < 41 Google Fonts < 25

32 zobrazení lightboxu se skóre, přihlášením, registrací a nastavením, zobrazení a práci s obchodem. Důležitou metodou je tick, která se volá periodicky z hlavního herního cyklu a spouští stejnojmenné metody v prakticky všech objektech, které se starají o pohyb a vykreslování. catobject objekt hráče, obsahuje metody draw pro vykreslení, jump pro skok, deleteitem, která odstraňuje vylepšení z hráčova inventáře a metodu tick. Ta zjišťuje a řeší, mimo jiné, kolize hráče s nepřáteli nebo jinými interaktivními objekty. enemyobject interaktivní objekt nepřátel. Definuje chování a podobu různých typů nepřátel, obsahuje metody draw a tick. backgroundobject neinteraktivní objekt obsahující metody draw a tick. Zajišťuje posun a náhodné střídání pozadí. cloudobject neinteraktivní objekt s metodami move, draw a tick. emitorobject ve hře reprezentovaný jako jetpack nebo komín lokomotivy. Emituje částice particleobject. Obsahuje metody pro zapnutí a vypnutí emitace, draw pro volání vykreslení pole částic, emit pro vytvoření nové částice a tick pro odstranění, pohyb a přidávání částic. particleobject - objekt částice, obsahující metody draw a move, volané z emitorobject. coinobject interaktivní objekt mince s metodami draw a tick. milkobject prakticky identický jako coinobject, reprezentuje láhev mléka. 3.6 Serverová část hry Serverová část hry se bude skládat ze dvou hlavních částí. Jednou z nich je registrace a přihlašování uživatelů, druhou je práce se skóre. Uživatel bude mít možnost registrace, tím se mu vytvoří v databázovém serveru záznam, který bude držet informace o hráčově přezdívce, heslu, u, o sumě herních peněz a o vylepšeních, které má aktuálně zakoupeny. 26

33 Jako databázový server zvolíme open source server MySQL. Entity-relationship diagram databázového schématu se skládá ze čtyř entit. Entita user reprezentuje uživatele, k němu mohou existovat záznamy s jeho skóre v entitě score a také seznam vylepšení, reprezentovaný entitou item2user propojují uživatele s vylepšeními z tabulky item. Obrázek 6: ER diagram schéma databáze. Aplikační logika bude vytvořena v programovacím jazyku PHP s využitím frameworku Code Igniter. Tento framework využívá softwarové architektury MVC 42. Vzhledem k tomu, že nám serverová část bude sloužit jen pro komunikaci s hrou skrz AJAX, prezentační vrstvu naše aplikace nebude potřebovat a vystačíme si s modelem 42 Model View Controller je architektonický vzor oddělující logiku aplikace od její prezentační a datové vrstvy. 27

34 a controllerem. Pokud budeme chtít využít instanci Code Igniteru nejen pro serverovou komunikaci s klientskou hrou, ale i např. pro vytvoření webových stránek hry, můžeme si vytvořit další controllery a k nim prezentační views. Tím se ale v této práci zabývat nebudeme Modely Práci s databází bude naše aplikace provádět skrz tři modely User_model, který bude obstarávat registraci uživatele, jeho přihlašování a nákup vylepšení z obchodu, dále Score_model pro přidávání a vracení skóre a Market_model pro načítání obsahu obchodu. Tyto modely budou přistupovat k databázovému serveru MySQL skrz jazyk SQL, případně přes jeho aplikační nadstavbu Active Record Class 43, pokud to bude výhodné, která je přítomna přímo v Code Igniteru Controllery Jak jsme naznačili v kapitole 3.5. Klientská část hry, se serverem budeme komunikovat skrze http požadavky GET. K tomu účelu vytvoříme tři controllery. Prvním z nich bude Auth zajišťující registraci a přihlašování. Bude obsahovat metody signin pro přihlášení pomocí přezdívky a hesla, signup pro přihlášení pomocí přezdívky, hesla a nepovinného u. Další metoda signinbytoken zajistí přihlášení pomocí id hráče a tokenu, který bude uložen v HTML5 úložišti. Tímto způsobem bude hráč ušetřen nutnosti opakovaně se přihlašovat pokaždé, když zapne hru. Druhým důležitým controllerem bude Cat s metodou gameover, která se zavolá po konci hry. Má na starost publikování skóre a aktualizaci hráčových peněz. Dalšími metodami jsou buyitem a sellitem, které zajišťují kupování a prodávání vylepšení v obchodě. Metoda useitem jednoduše vymaže vylepšení z hráčova záznamu. Volá se hned po začátku hry, ve které se vylepšení použije. 43 Využití objektového přístupu k databázi na úkor psaní SQL příkazů. 28

35 Dalšími controllery jsou Market, který načítá informace o dostupných vylepšeních a Score, které vrací požadované skóre buď hráče, nebo globální skóre, případně skóre rozdělené dle platforem, na kterých bylo nahráno. 3.7 Distribuce hry Distribuce hry skrz oficiální obchody platforem Nejvíc přímočarým způsobem šíření aplikací a her na moderních, zejména mobilních platformách, je publikace skrz oficiální obchody daného systému. V těch můžeme publikovat aplikace nativní a hybridní, které se šíří klasickou cestou instalačních balíčků. Výhodou je, kromě jednoduché distribuce, snadná aktualizace, která může probíhat automaticky nebo s uživatelskou kontrolou. Nejprve si vývojář musí vytvořit vývojářský účet. V případě Google Play 44, obchodu pro Android je nutné zaplatit jednorázový registrační poplatek $25. U Windows Phone Store 45 tento poplatek činí $19 a platí se ročně. Vývojářský účet je pak společný i pro Windows 8. Studenti jsou od tohoto poplatku osvobozeni, firmy naopak platí ročně $99. Vývojáři aplikací pro ios 46 musí platit ročně $99. Tyto poplatky jsou primárně určeny pro omezení výskytu nekvalitních aplikací a spamu, když zvětšují bariéru nutnou pro publikaci. Jednotlivé obchody se liší i schvalovacím procesem. Zatímco v Google Play se aplikace schvalují automaticky, v případě Windows Store a App Store aplikace procházejí manuální kontrolou. 44 Google Play Developer Console: < 45 Windows Phone Dev Center: < 46 ios Developer Center: < 29

36 3.7.2 Alternativní metody distribuce aplikací Aplikace můžeme, zejména v případě desktopových Windows a Androidu, distribuovat také jinými, klasickými cestami. Jednou z nich je distribuce stahovatelných instalačních balíčků, které publikujeme na relevantních serverech. Další možností je využití alternativních obchodů a služeb typu Steam 47. Steam je platforma společnosti Valve Corporation určená k digitální distribuci her a softwaru a zajištění multiplayerového a komunikačního zázemí pro hráče. (5) Publikovat hru ve službě Steam může každý vývojář, hra ale nejprve musí projít schvalovacím procesem na stránkách Steam Greenlight 48, na kterých uživatelé a fanoušci rozhodují svými hlasy o hrách, které se dostanou přímo do Steamu. Jinou cestou je obvyklé vydání aplikace nebo hry v krabicové verzi na fyzickém médiu. Je to finančně nejnáročnější záležitost vhodná pouze pro velké projekty, které mají zastřešení a finanční podporu vydavatele Monetizace Aplikaci můžeme nabídnout buď zdarma, nebo za poplatek. Oficiální obchody si za zprostředkování prodeje ponechají určité procento z ceny, obecně je to 30 % 49. Dalším způsobem monetizace jsou vnitřní mikroplatby, kdy si může uživatel dokupovat součásti aplikace nebo herní předměty přímo v ní. A poslední cestou jsou vhodně umístěné reklamy. Reklamy se dále mohou spojit i s mikroplatbami, třeba způsobem, kdy se uživateli po zaplacení určité částky reklamy skryjí a dále jej neruší. 47 Steam: < 48 Steam Greenlight: < 49 Google Play Transaction Fees: < 30

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. 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

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

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. Ú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

Obsah. SEZNÁMENÍ S HRAMI V HTML5...19 Nové funkce HTML5... 20. Nové funkce CSS3... 23

Obsah. SEZNÁMENÍ S HRAMI V HTML5...19 Nové funkce HTML5... 20. Nové funkce CSS3... 23 ÚVOD.................................................13 Co v této knize najdete................................... 13 Co budete v této knize potřebovat.......................... 14 Pro koho je tato kniha

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

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

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ ÚVOD Technologie elastické konformní transformace rastrových obrazů je realizována v rámci webové aplikace NKT. Tato webová aplikace provádí

Více

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

KIV/PIA 2012 Ing. Jan Tichava

KIV/PIA 2012 Ing. Jan Tichava KIV/PIA 2012 Ing. Jan Tichava Opera Mini Zobrazených stránek za měsíc 90 G 80 G 70 G 60 G 50 G 40 G 30 G 20 G 10 G 0 G January 2011 May 2011 September 2011 January 2012 May 2012 September 2012 State of

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

MODERNÍ WEB SNADNO A RYCHLE

MODERNÍ WEB SNADNO A RYCHLE SNADNO A RYCHLE Marek Lučný Pavoučí síť přes celý svět Co prohlížeče (ne)skrývají Tajemný kód HTML Všechno má svůj styl Interaktivní je IN Na obrazovce i na mobilu Začni podle šablony Informace jsou základ

Více

Moderní techniky vývoje webových aplikací

Moderní techniky vývoje webových aplikací ZVYŠOVÁNÍ ODBORNÝCH KOMPETENCÍ AKADEMICKÝCH PRACOVNÍKŮ OSTRAVSKÉ UNIVERZITY V OSTRAVĚ A SLEZSKÉ UNIVERZITY V OPAVĚ Moderní techniky vývoje webových aplikací Bogdan Walek ÚVOD DO PROBLEMATIKY V oblasti

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

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

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

Ú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

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

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod:

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod: Internetový prohlížeč CHROME Pro správné fungování veškerých funkcionalit, které nám nástroje společnosti Google nabízí, je dobré používat prohlížeč Chrome. Jeho instalaci je možné provést z webové adresy:

Více

ELEKTRONICKÉ PODÁNÍ OBČANA

ELEKTRONICKÉ PODÁNÍ OBČANA Strana č. 1 ELEKTRONICKÉ PODÁNÍ OBČANA NÁVOD NA VYPLŇOVÁNÍ A ODESLÁNÍ FORMULÁŘŮ IČ: 63078236, DIČ: CZ63078236, OR: MS v Praze, oddíl B, vložka 3044 Strana 1 / 13 Strana č. 2 1 Obsah 1 Obsah... 2 2 Úvod...

Více

Vývoj Internetových Aplikací

Vývoj Internetových Aplikací 4 Vývoj Internetových Aplikací HTML5 Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky Co je HTML5? - HTML5 je směr, kam se ubírá web budoucnost webových aplikací a vývoje - HTML5 je multiplatformní - HTML5

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

Vývoj Internetových Aplikací

Vývoj Internetových Aplikací 4 Vývoj Internetových Aplikací HTML5 Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky Co je HTML5? - HTML5 je směr, kam se ubírá web budoucnost webových aplikací a vývoje - HTML5 je multiplatformní - HTML5

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

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

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

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

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 KAPITOLA 1 Co budeme potřebovat 11 Co knihovna jquery nabízí 11 Editor zdrojového kódu 12 Webový server 12 Software pro ladění

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

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Nastavení provozního prostředí webového prohlížeče pro aplikaci Nastavení provozního prostředí webového prohlížeče pro aplikaci IS DP Informační systém o datový prvcích verze 2.00.00 pro uživatele vypracovala společnost ASD Software, s.r.o. dokument ze dne 23. 06.

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

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

Videoprezentace pomocí HTML5 jako modul LMS Moodle

Videoprezentace pomocí HTML5 jako modul LMS Moodle Nakonec si ještě řekněme, že jsme v tomto článku představili jakousi hru s rovinou T 2, ale ona to zase jenom tak úplně hra nebyla, protože umožnila hlubší pohled na základní planimetrické pojmy a konstrukce.

Více

Nastavení klientských stanic pro webové aplikace PilsCom s.r.o.

Nastavení klientských stanic pro webové aplikace PilsCom s.r.o. Nastavení klientských stanic pro webové aplikace PilsCom s.r.o. Obsah 1. Obecné informace...1 2. Internetový prohlížeč...1 3. Nastavení kompatibilního zobrazení...1 4. Nastavení důvěryhodných serverů...2

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

Software602 FormApps Server

Software602 FormApps Server Software602 FormApps Server Instalace pluginů pro elektronické formuláře Aktualizováno: 13. 1. 2017 Software602 a.s. Hornokrčská 15 140 00 Praha 4 tel: 222 011 602 web: www.602.cz e-mail: info@602.cz ID

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

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

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části)

1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské části) PŘÍLOHA Č. 1 ZADÁVACÍ DOKUMENTACE TECHNICKÁ SPECIFIKACE ZÁKAZNÍKA 1 Vytvoření oboustranné informační platformy MČ občan (mobilní aplikace + rozhraní API pro přenos informací do webových stránek městské

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

Instalace pluginů pro formuláře na eportálu ČSSZ

Instalace pluginů pro formuláře na eportálu ČSSZ Instalace pluginů pro formuláře na eportálu ČSSZ Uživatelská příručka Aktualizováno: 10. 8. 2017 Obsah Instalace pluginů pro formuláře na eportálu ČSSZ... 1 Obsah... 2 1 Přehled změn v tomto dokumentu...

Více

TACHOTel manuál 2015 AURIS CZ

TACHOTel manuál 2015 AURIS CZ TACHOTel manuál 2 TACHOTel Obsah Foreword I Úvod 0 3 1 Popis systému... 3 2 Systémové... požadavky 4 3 Přihlášení... do aplikace 5 II Nastavení aplikace 6 1 Instalace... a konfigurace služby ATR 6 2 Vytvoření...

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

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

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

CZ.1.07/1.5.00/34.0527

CZ.1.07/1.5.00/34.0527 Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Předpoklady správného fungování formulářů

Předpoklady správného fungování formulářů Předpoklady správného fungování formulářů Uživatelská příručka Aktualizováno: 19. 2. 2018 Obsah 1 Úvod... 3 2 Systémové požadavky... 3 3 Práce s přílohami... 3 4 MS Internet Explorer... 3 4.1 Instalace

Více

Návod k ovládání aplikace

Návod k ovládání aplikace Návod k ovládání aplikace Tento návod se zabývá ovládáním aplikace PDF Annotation 1, která je založena na aplikaci AVP PDF Viewer a umožňuje nejen PDF dokumenty prohlížet, ale také do těchto dokumentů

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

Nastavení klientských stanic pro webové aplikace PilsCom s.r.o.

Nastavení klientských stanic pro webové aplikace PilsCom s.r.o. Nastavení klientských stanic pro webové aplikace PilsCom s.r.o. Obsah 1. Obecné informace... 1 2. Internetový prohlížeč... 1 3. Nastavení kompatibilního zobrazení... 1 4. Nastavení důvěryhodných serverů...

Více

Měření nativních mobilních aplikací v rámci NetMonitoru

Měření nativních mobilních aplikací v rámci NetMonitoru Měření nativních mobilních aplikací v rámci NetMonitoru www.gemius.com Úvod do měření nativních mobilních aplikací Měření nativních mobilních aplikací je modul měření návštěvnosti v rámci projektu NetMonitor,

Více

NÁVOD K POUŽITÍ. IP kamerový systém.

NÁVOD K POUŽITÍ. IP kamerový systém. NÁVOD K POUŽITÍ IP kamerový systém www.slkamery.cz 1 1. Práce se systémem CMS 1. Instalace aplikace Aplikaci CMS nainstalujeme z přiloženého CD. Pokud není CD součástí balení, stáhneme instalační soubory

Více

Postup instalace umožňující el. podpis v IS KP14+ pro webové prohlížeče Google Chrome a Firefox.

Postup instalace umožňující el. podpis v IS KP14+ pro webové prohlížeče Google Chrome a Firefox. Pořízení aplikace MS2014+ a zajištění jejího provozu a rozvoje Registrační číslo projektu: CZ.1.08/2.1.00/12.00147 Postup instalace umožňující el. podpis v IS KP14+ pro webové prohlížeče Google Chrome

Více

Aplikace GoGEN Smart Center

Aplikace GoGEN Smart Center Aplikace GoGEN Smart Center Návod na použití aplikace Úvod Aplikace GoGEN Smart Center pro maximální využití Smart TV GoGEN, spojuje vyspělou technologii a zábavu v pohodlí domova. SMART ovládání ovládání

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

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE profesionální verze 1 Obsah Požadavky... 3 Instalace... 3 Proměnná CLASSPATH... 3 Zpřístupnění licenčního klíče... 3 Ověřování komponent OKS. 3 Spouštíme aplikaci

Více

Windows a real-time. Windows Embedded

Windows a real-time. Windows Embedded Windows a real-time Windows Embedded Windows pro Embedded zařízení Současnost (2008): Windows Embedded WINDOWS EMBEDDED Windows Embedded CE Windows XP Embedded Windows Embedded for Point of Service Minulé

Více

HTML - Úvod. Zpracoval: Petr Lasák

HTML - Úvod. Zpracoval: Petr Lasák HTML - Úvod Zpracoval: Petr Lasák Je značkovací jazyk, popisující obsah HTML stránek Je z rodiny SGML jazyků, jako např. XML, DOCX, XLSX Nejedná se o programovací ale značkovací jazyk Dynamičnost dodávají

Více

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace Obsah HLEDEJCENY.mobi Mezi Vodami 1952/9 e-mail: info@hledejceny.cz HLEDEJCENY.mobi... 1 Mobilní verze e-shopu... 1 Důvody instalace... 1 Výhody... 2 Co je k mobilní verzi potřeba... 2 Objednávka služby...

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

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

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 24.4.2015 Webové aplikace Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 24.4.2015 Webové aplikace Návrh webové stránky responsivní design strana 2 WEB Dříve: místo pro prezentaci a umístění dat prohlížeče pouze na PC Nyní: platforma

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

Extrémně silné zabezpečení mobilního přístupu do sítě.

Extrémně silné zabezpečení mobilního přístupu do sítě. Extrémně silné zabezpečení mobilního přístupu do sítě. ESET Secure Authentication (ESA) poskytuje silné ověření oprávnění přístupu do firemní sítě a k jejímu obsahu. Jedná se o mobilní řešení, které používá

Více

Uživatelská příručka T UC-One pro windows

Uživatelská příručka T UC-One pro windows Co je to T UC-One? T UC-One poskytuje koncovým uživatelům jednotnou komunikaci (UC) skrz všední mobily (tablety a mobilní telefony) a počítačové platformy (počítače a notebooky) včetně Windows, Mac, ios

Více

APS Administrator.OP

APS Administrator.OP APS Administrator.OP Rozšiřující webový modul pro APS Administrator Přehled přítomnosti osob v oblastech a místnostech Instalační a uživatelská příručka 2004 2013,TECH FASS s.r.o., Věštínská 1611/19, Praha,

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

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éma 1: Práce s Desktop. Téma 1: Práce s Desktop

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop Téma 1: Práce s Desktop 1 Teoretické znalosti V této kapitole zjistíte, co skrývají pojmy jako Desktop, GNOME, KDE, Metacity Window Manager, Nautilus a Konqueror. Desktop neboli pracovní plocha patří mezi

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

Další nutný soubor je laydiv.js, ve kterém jsou uloženy funkce pro zobrazování virů na ploše a funkce pro odkaz na Teachers Guide.

Další nutný soubor je laydiv.js, ve kterém jsou uloženy funkce pro zobrazování virů na ploše a funkce pro odkaz na Teachers Guide. ESCAPE OF VIRUSES Hra Escape of viruses je psána pomocí příkazů Javascriptu a standardních příkazů HTML. Hra se spouští tlačítkem Start game. Úkolem hráče je eliminovat viry na hrací ploše kliknutím kurzoru

Více

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

Bezpečná autentizace přístupu do firemní sítě

Bezpečná autentizace přístupu do firemní sítě Bezpečná autentizace přístupu do firemní sítě ESET Secure Authentication (ESA) poskytuje silné ověření oprávnění přístupu do firemní sítě a k jejímu obsahu. Jedná se o mobilní řešení, které používá dvoufaktorové

Více

Domino 10 nové komponenty a související témata (node.js, ES )

Domino 10 nové komponenty a související témata (node.js, ES ) Domino 10 nové komponenty a související témata (node.js, ES ) David Marko TCL DigiTrade - 19.4.2018 Domino 10 Use of OpenSource components ( Java Script, ) Great focus on integration of Mobiles and Chat

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

Redakční systém Joomla. Prokop Zelený

Redakční systém Joomla. Prokop Zelený Redakční systém Joomla Prokop Zelený 1 Co jsou to red. systémy? Redakční systémy (anglicky Content Management System - CMS) jsou webové aplikace používané pro snadnou správu obsahu stránek. Hlavním cílem

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

CTUGuide (XXX-KOS) D1

CTUGuide (XXX-KOS) D1 CTUGuide (XXX-KOS) D1 Verze: 1.0 Předmět: PDA Mentor: Zdeněk Míkovec Autor: Petr Tarant, Martin Štajner, Petr Husák Datum: 14. 02. 2013 Obsah CTUGUIDE verze 1.0 1. Úvod... 3 1.1. Úvod do problematiky...

Více

Instalační manuál aplikace

Instalační manuál aplikace Instalační manuál aplikace Informační systém WAK BCM je softwarovým produktem, jehož nástroje umožňují podporu procesního řízení. Systém je spolufinancován v rámci Programu bezpečnostního výzkumu České

Více

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Nové vývojové nástroje i5/os Rational Developer for System i V7.1 Nové vývojové nástroje i5/os Rational Developer for System i V7.1 Aleš Petr, IBM ČR Konference COMMON 18. 20. května 2008 ales_petr@cz.ibm.com Agenda Rational Application Developer for System i V7.1 Novinky

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

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

SUTOL Symposium 2014

SUTOL Symposium 2014 SUTOL Symposium 2014 24.dubna, GreenPoint Praha Partneři konference www.sutol.cz Otevřete Domino světu Ondřej Fuxa, YOUR SYSTEM, spol. s r.o. Jak řešíte načítání dat z IBM Domino aplikací do externích

Více

Jihočeská univerzita v Českých Budějovicích. Název bakalářské práce v ČJ Název bakalářské práce v AJ

Jihočeská univerzita v Českých Budějovicích. Název bakalářské práce v ČJ Název bakalářské práce v AJ Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta Katedra informatiky Název bakalářské práce v ČJ Název bakalářské práce v AJ Bakalářská práce Vypracoval: Jméno Příjmení Vedoucí práce: Vedoucí

Více

Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument

Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument Informatika pro moderní fyziky (8) Javascript, CSS - stylování dokumentů, SVG - tvorba obrázků, složitější interaktivní dokument František HAVLŮJ e-mail: haf@ujv.cz ÚJV Řež oddělení Reaktorové fyziky a

Více

MobileIron Demo. DATUM VYTVOŘENÍ: 8. srpna 2014. AUTOR: Daniel Vodrážka

MobileIron Demo. DATUM VYTVOŘENÍ: 8. srpna 2014. AUTOR: Daniel Vodrážka DATUM VYTVOŘENÍ: 8. srpna 2014 AUTOR: Daniel Vodrážka Obsah Obsah... 2 Úvod... 3 Co budete potřebovat... 3 Důležité upozornění... 3 Možnosti testování... 3 MobileIron Admin konzole... 4 Registrace ios

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

Úvod do tvorby internetových aplikací

Úvod do tvorby internetových aplikací CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

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

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

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta

Více

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na

Více

Bc. Martin Majer, AiP Beroun s.r.o.

Bc. Martin Majer, AiP Beroun s.r.o. REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam

Více

Nápověda k aplikaci EA Script Engine

Nápověda k aplikaci EA Script Engine Nápověda k aplikaci EA Script Engine Object Consulting s.r.o. 2006 Obsah Nápověda k aplikaci EA Script Engine...1 1. Co je EA Script Engine...2 2. Důležité upozornění pro uživatele aplikace EA Script Engine...3

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

Více