}w!"#$%&'()+,-./012345<ya

Size: px
Start display at page:

Download "}w!"#$%&'()+,-./012345<ya"

Transcription

1 MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY w!"#$%&'()+,-./012345<ya Nativní vs. webový vývoj aplikací na mobilní platformy BAKALÁŘSKÁ PRÁCE Daniel Tokár Brno, jaro 2011

2 Prehlásenie Prehlasujem, že táto bakalářská práce je mojím pôvodným autorským dielom, ktoré som vypracoval samostatne. Všetky zdroje, pramene a literatúru, ktoré som pri vypracovaní používal alebo z nich čerpal, v práci riadne citujem s uvedením úplného odkazu na príslušný zdroj. Vedúci práce: RNDr. Jaroslav Škrabálek ii

3 Pod akovanie Na tomto mieste by som chcel pod akovat vedúcemu práce RNDr. Jaroslavovi Škrabálkovi za ochotu a cenné rady a najbližším za podporu a trpezlivost. iii

4 Zhrnutie Ciel om práce je porovnat natívny a webový vývoj aplikácií na mobilné platformy a získané vedomosti využit pri tvorbe vlastnej aplikácie. iv

5 Kl účové slová Mobilné platformy, vývoj aplikácií, natívne aplikácie, mobilné webové aplikácie, Android, ios, Windows Phone 7, HTML5, PhoneGap, Titanium v

6 Obsah 1 Úvod Mobilné platformy a vývoj aplikácií Android História Vývoj aplikácií ios História Vývoj aplikácií Microsoft Windows Phone Vývoj aplikácií Ostatné mobilné platformy Symbian Samsung bada Blackberry WebOS Webové aplikácie verzus natívne aplikácie Výhody webových aplikácií Nevýhody webových aplikácií Využitie HTML5 pri vývoji mobilných webových aplikácií HTML5 rámce PhoneGap Appcelerator Titanium Aký postup zvolit Praktická čast Inštalácia SDK a ADT zásuvného modulu Popis RSS zdroja Návrh grafického rozhrania aplikácie Vytvorenie nového projektu Vytvorenie grafického rozloženia aplikácie Popis tried projektu Android manifest Exportovanie a digitálne podpísanie aplikácie Záver Bibliografia A Ukážky kódu A.1 Trieda Article A.2 Trieda RSSFeed A.3 Metóda getfeed A.4 Trieda ShowArticle B Obrazová príloha vi

7 B.1 Hlavná obrazovka aplikácie B.2 Obrazovka s detailom článku C Obsah CD vii

8 Kapitola 1 Úvod Ciel om mojej bakalárskej práce je popísat princípy a procesy tvorby a vývoja aplikácií na moderné mobilné platformy primárne Apple ios, Google Android, Microsoft Windows Phone 7, ale aj d alších (napríklad Blackberry, HP webos, atd.). Ďalej porovnat vývoj natívnej aplikácie a webovej mobilnej aplikácie so zameraním sa na výhody a nevýhody jednotlivých postupov a analyzovat efektivitu vývoja pomocou HTML5 rámcov typu PhoneGap alebo Titanium. Práca pozostáva z dvoch celkov. V prvej časti popisujem jednotlivé platformy, ich postavenie na trhu a možnosti vývoja natívnych aplikácií. Zameravam sa v nej tiež na porovnanie webových mobilných aplikácií a natívnych aplikácií. Ďalej v nej popisujem možnosti využitia HTML5 pri vývoji webovej aplikácie a použitie HTML5 rámcov ako nástroja pri vývoji medziplatformových natívnych aplikácií. Druhá čast je praktická. Venujem sa v nej postupom pri vývoji aplikácie RSS čítačky. 1

9 Kapitola 2 Mobilné platformy a vývoj aplikácií Dnešné mobilné telefóny už neslúžia výhradne na telefonovanie alebo posielanie krátkych textových správ (SMS) ako tomu bolo pred pár rokmi. Spolu so zdokonalovaním technológií sa mení aj ich primárna funkcia. Dnes sú to multimediálne prístroje označované ako múdre telefóny 1, ktoré prehrávajú vysokokvalitné video a zvuk, poskytujú bezdrôtový prístup na internet, GPS navigáciu, kvalitný fotoaparát a mnoho d alších funkcií. Predovšetkým ale majú vlastný operačný systém podobný tým, ktoré bežia na stolových počítačoch. To im okrem iného dáva možnost inštalovat rôzne aplikácie, ktoré prístroj doplnia o nové funkcie. Zdokonalovanie a miniaturizácia technológií však nie je jediným aspektom, ktorý sa pričinil o tak masívne rozšírenie múdrych telefónov. Vel ký podiel na tom má obrovský rozvoj internetovej infraštruktúry. Vo väčších mestách nie je problém pripojit sa bezdrôtovo na internet pomocou Wi-Fi alebo 3G siete. Podl a odhadov má v tomto roku predbehnút počet prístupov na internet z mobilných prístrojov počet prístupov z klasických stolných počítačov3. Podl a výskumného inštitútu so zameraním na informačné technológie Gartner Inc. v roku 2011 má narást počet predaných múdrych telefónov oproti predošlému roku o približne 57 % [6]. Poslednú revolúciu na trhu s mobilnými telefónmi začal v roku 2007 Apple vydaním prístroja iphone. Tento mobilný telefón sa stal priekopníkom, ked ako prvý vsadil výlučne na ovládanie prístroja prstom pomocou dotykovej obrazovky. Navyše ako je pri spoločnosti Apple zvykom, vel ký dôraz venovali dizajnu prístroja a jeho grafického rozhrania, ktoré je užívatel sky prívetivé a intuitívne. To im zabezpečilo vel ký úspech v predajnosti, na ktorý museli reagovat aj ostatní výrobcovia. Dnes už je väčšina mobilných prístrojov vybavená vel kou dotykovou obrazovkou, ktorá nahrádza klasickú hardvérovú klávesnicu. Medzi najpopulárnejšie mobilné operačné systémy, ktoré múdre telefóny využívajú, patria Android, o ktorého vývoj sa stará internetový gigant Google, ios od spoločnosti Apple a najnovšie aj Windows Phone 7 od Microsoftu. Operačný systém Symbian, ktorý vyvíjala fínska spoločnost Nokia, je na ústupe. Dôležitým hráčom je aj kanadská firma Research in Motion (RIM), ktorá vyrába prístroje Blackberry s vlastným operačným systémom Blackberry OS, ktoré sú populárne hlavne v Amerike. Jeho podiel na trhu však tiež klesá na úkor ios a Androidu. O popularite múdrych telefónov svedčí aj fakt, že v poslednom štvrt roku 2010 dokázal ich predaj predbehnút predaj klasických stolných počítačov [4]. To bolo spôsobené najmä 1. Ang. smartphones 2

10 2. MOBILNÉ PLATFORMY A VÝVOJ APLIKÁCIÍ Obrázok 2.1: Podiel mobilných platforiem na trhu v roku 2009 a Dáta pochádzajú zo zdroja Gartner Inc. predstavením tabletov, ktoré znamenajú vážnejšiu konkurenciu stolným počítačom ako je tomu v prípade múdrych mobilných telefónov. S rastúcim predajom prístrojov s operačnými systémami sa otvoril aj nový trh s aplikáciami. Pre každú platformu existuje internetový obchod ponúkajúci aplikácie. Niektoré sú k dispozícii zadarmo, iné sú platené. Momentálne najviac aplikácií ponúka vo svojom obchode AppStore spoločnost Apple. Android Market ho však rýchlo dobieha a podl a odhadov si v priebehu niekol kých mesiacov svoje poradie vymenia. V mesiaci apríl pribudlo do AppStore približne nových aplikácií pričom do Android Market [11]. Pomalší nárast počtu nových aplikácií v AppStore je spôsobený aj ich dôslednou kontrolou a prípadným nezaradením do ponuky v prípade, že majú nevhodný obsah alebo ich kód je škodlivý. Tieto čísla však hlavne ukazujú, aký vel ký trh vývoj pre mobilné platformy predstavuje. Centralizovaný predaj aplikácií prináša aj isté obmedzenia. Na tento model predaja doplácajú hlavne užívatelia z menších krajín, ktoré nie sú z pohl adu trhu pre poskytovatel ov príliš perspektívne. V týchto krajinách nie je umožnené aplikácie st ahovat, prípadne sú zákazníci odkázaní iba na aplikácie, ktoré sú ponúkané zdarma. Proces rozširovania podporovaných krajín je zdĺhavý a v mnohých prípadoch pre poskytovatel ov nevýhodný. Našt astie Česká a Slovenská republika majú prístup k plateným aplikáciam z AppStore, Android Market a Nokia Ovi Store. Windows Phone Market v budúcnosti tiež plánuje ponúknut platené aplikácie v tomto regióne. 3

11 2.1. ANDROID 2.1 Android Android je softvérová platforma určená pre mobilné zariadenia. O jej vývoj sa stará združenie firiem OHA 2, ktorého zakladajúcim členom je spoločnost Google Inc. Už od prvej verejne dostupnej verzie sú všetky jej súčasti šírené pod licenciou Apache a GPL 3. To znamená, že zdrojové kódy systému sú vol ne prístupné a môže ich ktokol vek používat alebo upravovat [7]. Často to využívajú práve výrobcovia mobilných prístrojov alebo poskytovatelia mobilných služieb, aby systém odladili podl a svojich potrieb. Architektúra systému je rozdelená do niekol kých vrstiev. Obrázok 2.2: Architektúra operačného systému Android. Linuxové jadro je postavené na najnovšej verzii 2.6. Umožňuje beh viacerých aplikácií súčasne, pričom každá beží ako samostatný proces pod vlastným užívatel ským menom. Tým je zaistená izolácia jednotlivých aplikácií a tým aj bezpečnost celého 2. Open Handset Alliance je zoskupenie výrobcov mobilných prístrojov, telekomunikačných operátorov a technologických firiem. 3. Ang. General Public License 4

12 2.1. ANDROID systému. Poskytuje základné služby ako správu pamäte, správu napájania alebo správu procesov. Tiež slúži ako abstraktná vrstva medzi hardvérom prístroja a zvyškom systému. Jeho súčast ou sú aj ovládače pre displej, pamät, zvuk, klávesy, fotoaparát, GSM modul, siet ovú vrstvu, Wi-Fi, Bluetooth, EDGE, 3G, kompas, atd. Knižnice Android obsahuje sadu C/C++ knižníc, ktoré zabezpečujú prístup aplikácií k rôznym komponentom systému. Medzi implementované knižnice patria napríklad: Knižnica médií podporuje prehrávanie a nahrávanie videa a zvuku v obl úbených formátoch, ale aj zobrazovanie statických obrázkov. Podporované formáty sú napríklad MPEG4, H.264, MP3, AAC, AMR, JPG, PNG atd. 3D knižnice implementácia založená na OpenGL ES 1.0 API. Tieto knižnice používajú hardvérovú akceleráciu (ak je dostupná) alebo vstavanú optimalizovanú 3D softvérovú rasterizáciu. SGL knižnica určená na prácu s 2D grafikou. FreeType knižnica slúžiaca na bitmapové a vektorové vykresl ovanie písma. SQLite knižnica pre prácu s relačnou databázou. LibWebCore moderné jadro pre internetový prehliadač založené na báze Web- Kit. Android runtime obsahuje súbor základných knižníc a virtuálny stroj Dalvik, ktorý využívajú aplikácie pre svoj beh. Aplikačný framework obsahuje objekty na tvorbu užívatel ského rozhrania a aplikačnej logiky aplikácie. Pri jej tvorbe má vývojár k dispozícii: Sada pohl adov (Views) jedná sa o hlavný prvok pri tvorbe a spravovania grafického užívatel ského rozhrania aplikácie. Poskytovatel obsahu (Content provider) jeho úlohou je predávat dáta medzi jednotlivými aplikáciami. Manažér zdrojov (Resource manager) poskytuje prístup k zdrojom ako grafika, lokalizovaným ret azcom alebo XML súborov popisujúcich grafické rozloženie aplikácie. Manažér oznámení (Notification manager) poskytuje aplikáciam prístup k zobrazovaniu rôznych upozornení na stavovej lište. Manažér činností (Activity manager) spravuje životný cyklus aplikácie a poskytuje základné navigačné pozadie. 5

13 2.1. ANDROID Aplikácie okrem samotného operačného systému obsahuje Android aj aplikácie ako napríklad ový klient, aplikáciu na správu SMS/MMS správ, telefónny zoznam, internetový prehliadač, kalendár, navigáciu a mnoho d alších. Všetky tieto aplikácie sa jednoducho dajú nahradit inými, podl a požiadaviek užívatel a História História operačného systému Android siaha do roku 2003, ked bola založená spoločnost Android Inc., ktorá sa zaoberala vývojom operačného systému pre mobilné telefóny. V roku 2005 firma Google Inc. odkúpila túto spoločnost. Jedným z dôvodov, prečo sa pre tento krok Google rozhodol, bola snaha vstúpit na mobilný trh a ponúknut svoje služby l ud om, ktorí pristupujú na internet prostredníctvom svojich mobilných telefónov alebo iných mobilných zariadení. Google neskôr preniesol vývoj operačného systému na združenie firiem OHA (Open Handset Alliance), ktorého je taktiež členom. 5. novembra 2007 spolu so vznikom OHA sa uskutočnilo aj oficiálne predstavenie operačného systému Android. Prvá verzia systému s označením 1.0 bola uverejnená v septembri 2008 zároveň s prvým mobilným telefónom fungujúcim na tejto platforme T-mobile G1. Od tejto doby prešiel Android vel kými zmenami a úpravami. Postupne bola doplnená podpora vyšších rozlíšení displeja, podpora pre viacdotykové ovládanie, podpora HTML5 prvkov a Adobe Flash v integrovanom internetovom prehliadači a mnoho d alších vylepšení a úprav. Momentálne sa Android nachádza vo verzii 2.3 (Gingerbread) pre mobilné telefóny a vo verzii 3.0 (Honeycomb) pre tablety Vývoj aplikácií Pre potreby programátorov je určený vývojársky balík pre Android (tzv. SDK Software Development Kit), ktorý obsahuje nástroj na ladenie chýb 4, sadu knižníc, emulátor zariadenia, dokumentáciu, ukážky zdrojových kódov a tiež návody. SDK sa dá vol ne stiahnut na internetových stránkach Android Developers 5. Dostupné sú verzie SDK pre Windows XP alebo novšie, Linux aj Mac OS X alebo novšie. Odporúčané prostredie pre vývoj je Eclipse (vo verzii 3.5 alebo 3.6), pre ktorý existuje zásuvný modul Android Development Tools (ADT), ktorý do tohto vývojového prostredia dopĺňa všetky potrebné doplnky pre vývoj aplikácií pre Android. Podobné zásuvné moduly sa dajú nájst aj pre iné vývojové prostredia (napr. Netbeans, IntelliJ IDEA), no ich podpora nie je na takej vysokej úrovni ako pre spomínaný Eclipse. Tiež je možné použit akýkol vek textový editor na úpravu zdrojových kódov a XML súborov a následne použit príkazový riadok na vytvorenie, kompilovanie a ladenie Android aplikácií. Cez príkazový riadok sa dá ovládat a spravovat aj virtuálny Android prístroj. Aplikácie pre Android sú síce písané v programovacom jazyku Java, ale systém nevyužíva štandardný virtuálny stroj pre beh Java aplikácií - Java Virtual Machine. Spolieha sa na 4. Ang. debugger 5. < 6

14 2.2. IOS svoj vlastný s názvom Dalvik, ktorý bol vytvorený spoločnost ou Google práve pre potreby tohto operačného systému. Tento virtuálny stroj je optimalizovaný pre potreby mobilných zariadení, čo znamená, že musí dbat na obmedzenia pamäte, výkonu a napájania. Pomocou nástroja nazvaného dx sa preložia zdrojové Java triedy s príponou.class do formátu.dex. To je spustitel ný súbor vo virtuálnom stroji Dalvik. Platforma Android sa snaží byt otvorenou, a tak poskytuje vývojárom možnost pristupovat k vel kému množstvu hardvérových a systémových funkcií prístroja. Pomocou aplikačného rozhrania može uskutočnit alebo prijat telefonát, posielat SMS alebo MMS správy, pristupovat k akcelerometru, kompasu, GPS, užívatel ským dátam a kontaktom a mnoho d alších. Táto otvorenost je vel kým lákadlom pre potencionálnych vývojárov. Testovanie aplikácií je možné pomocou emulátora zariadenia alebo priamo pomocou pripojeného prístroja. Narozdiel od platforiem ios alebo Windows Phone 7 nie je nutné platit registračné poplatky pre sprístupnenie tejto možnosti. 2.2 ios ios je operačný systém určený pre mobilné telefóny iphone, tablety ipad, hudobné prehrávače ipod Touch a najnovšie aj Apple TV. Je vyvíjaný spoločnost ou Apple Inc, ktorá sa stará aj o výrobu zariadení, na ktorých tento operačný systém pracuje. Spoločnost Apple neponúka možnost použit ios na prístrojoch iných výrobcov. ios je odl ahčená verzia operačného systému určeného pre stolové počítače od spoločnosti Apple - Mac OS X. Ked že je určený pre iný typ zariadenia, neobsahuje niektoré súčasti pôvodného systému, ale na druhej strane je obohatený o podporu dotykového ovládania a podporu akcelerometra. Je založený na unixovom jadre Mach. Jeho architektúra je rozdelená na štyri vrstvy, ktoré poskytujú vývojárom aplikačné rozhrania 6 a rámce potrebné pre vývoj. Obrázok 2.3: Architektúra operačného systému ios. Vrstva jadra operačného systému poskytuje nízkoúrovňové funkcie, ktoré využívajú vrstvy postavené vyššie. 6. Ang. API Application programming interface 7

15 2.2. IOS Vrstva služieb poskytovaných jadrom poskytuje služby, ktoré využívajú všetky aplikácie v systéme, prípadne ich využívajú iné časti systému. Medzi tieto služby patrí napr.: SQLite odl ahčená SQL databáza umožňujúca ukladat užívatel ské dáta. Lokačné služby poskytujú informácie o geografickej polohe aplikáciam. Na zistenie polohy prístroja sa využíva GPS, Wi-Fi a GSM modul. Podpora XML umožňuje načítat XML súbor pomocou triedy NSXMLParser. Na manipuláciu s XML dokumentom slúži knižnica libxml2. Platba v aplikácii od verzie ios 3.0 je možné platit za dodatočný obsah priamo z aplikácie. Vrstva médií obsahuje technológie na tvorbu multimediálnych aplikácií. Grafické technológie poskytujú možnosti práce s grafikou a animáciami v systéme. Medzi inými podporujú napríklad: OpenGL ES umožňuje hardvérovú akceleráciu vykresl ovania 2D a 3D objektov. Core Text slúži na vykresl ovanie písma. Core Animation poskytuje podporu animácií. Technológie pre zvuk sú navrhnuté na zaznamenávanie a prehrávanie zvukových súborov rôznych formátov a obsluhovanie vibrácií prístroja ak to umožňuje. Technológie pre video umožňujú prehrávanie a zaznamenávanie video záznamov a ich použitie v aplikáciách. Vrstva Cocoa Touch obsahuje kl účové rámce na tvorbu aplikácií pre ios. Táto vrstva definuje základnú infraštruktúru aplikácie a podporu kl účových technológií ako beh viacerých aplikácií súčasne, dotykové ovládanie a d alšie vysokoúrovňové systémové služby. Pri vytváraní novej aplikácie je vhodné najprv preskúmat dostupné technológie v tejto vrstve, či neposkytujú potrebnú funkcionalitu História Prvýkrát bol ios (v tom čase pomenovaný iphone OS) predstavený spolu s prvým prístrojom iphone na Macworld Conferenece & Expo v januári V pôvodnom systéme nebolo možné inštalovat aplikácie tretích strán. Namiesto toho Apple odporúčal vytvárat webové aplikácie. V marci 2008 však Apple vydal prvú beta verziu vývojového balíka SDK určenú pre vývoj natívnych aplikácií a oficiálne pomenoval operačný systém ako iphone OS. 8

16 2.2. IOS Od verzie iphone OS 2.0 pribudla podpora inštalovania aplikácií tretích strán, ktoré sa dajú stiahnut z oficiálneho obchodu menom App Store, ktorý prevádzkuje samotný Apple. Verzia iphone OS 3.0 priniesla do systému funkciu kopírovania a vkladania textu, možnost odosielat a prijímat MMS správy 7, zaznamenávat videosekvencie, podporu HTML5 v internetovom prehliadači Safari a d alšie úpravy systému. S verziou 4.0, ktorá bola vydaná v júni 2010 sa operačný systém premenoval na ios, pretože okrem samotného iphonu je tento operačný systém použitý aj v d alších prístrojoch ako ipad, ipod Touch a Apple TV. Jedná sa o najnovšiu verziu operačného systému. Medzi najdôležitejšie vylepšenia patrí podpora behu viacerých aplikácií súčasne. Pridaná bola aj funkcia tlače priamo zo zariadenia. Obsah určený na tlač sa bezdrôtovo odošle tlačiarni, ktorá ho následne vytlačí Vývoj aplikácií Operačný systém od Apple je pomerne uzavretý systém. Jediná možnost ako inštalovat aplikácie do prístroja je prostredníctvom AppStore, kde aplikácie prechádzajú dôsledným schval ovacím procesom zo strany spoločnosti Apple. Aplikácie sú písané v jazyku C alebo v pokročilejšom Objective-C. Apple ponúka zdarma SDK, ktoré je dostupné iba pre operačný systém Mac OS X. SDK obsahuje emulátor iphone a ipad prístroja, vývojové prostredie Xcode a ios knižnicu pre vývojárov. Súčast ou Xcode je aj nástroj na vytváranie grafického rozhrania aplikácie a nástroje na ladenie výkonu a hl adanie chýb pri vývoji aplikácií. ios knižnica pre vývojárov, ktorá je dostupná aj na stránkach Apple Developer 8, obsahuje dokumentáciu, ukážkové zdrojové kódy a množstvo návodov a rád ako postupovat pri vývoji aplikácií. Vývojár aplikácií môže využívat hardvérové funkcie prístroja pomocou aplikačného rozhrania operačného systému. Prístup k funkciám fotoaparátu, GPS, akcelerometra, kompasu, posielaniu SMS správ atd. je zabezpečená na úrovni služieb jadra. Pre testovanie aplikácií priamo na vlastnom prístroji iphone a ich následnom predaji prostredníctvom App Store, je nutné zaregistrovat sa do plateného Apple ios vývojového programu. V súčasnosti je ročný registračný poplatok $99 pre jednotlivcov a $299 pre spoločnosti. ios Developer University Program je určený pre študentov a pracovníkov univerzít. Za tento program nie je nutné platit registračný poplatok. Je obmedzený pre tímy do 200 členov a aplikácie vytvorené vrámci neho sa môžu šírit iba medzi členmi tímu. Nie je možné ich poskytovat komerčne. Vývojári z Českej a Slovenskej republiky môžu svoje aplikácie predávat prostrednídvtom App Store. Okrem oficiálneho vývojového balíka od Apple existuje aj niekol ko projektov, ktoré ponúkajú možnost vývoja aplikácií aj pre iné operačné systémy ako Mac OS X. Najúspešnejší je pokus spoločnosti Adobe, ktorá v novej verzii Adobe Flash CS5 poskytuje možnost kompilovat zdrojový kód do programu určeného pre ios[12]. 7. Ang. Multimedia Messaging Service správa obsahujúca multimediálne prvky, ktorá sa posiela prostredníctvom siete mobilného operátora. 8. < 9

17 2.3. MICROSOFT WINDOWS PHONE Microsoft Windows Phone 7 Windows Phone 7 je operačný systém pre mobilné telefóny vyvíjaný spoločnost ou Microsoft. Jeho predchodcom bol operačný systém Windows Mobile, na ktorého niekdajší úspech sa snaží nadviazat. Napriek tomu je Windows Phone 7 nový operačný systém, ktorý nemá s predošlou verziou vel a spoločného. Najväčším nedostatkom je hlavne chýbajúca podpora starších aplikácií v novom systéme. Windows Phone 7 je zameraný na užívatel ský trh narozdiel od jeho predchodcu, ktorý sa orientoval viac na sféru firemnú. Predstavený bol v februári 2010 a na trh sa dostal v októbri Momentálne sa tak jedná o najmladší operačný systém určený pre mobilné prístroje na trhu. Aj preto ešte trpí mnohými detskými chorobami, ktoré sa Microsoft postupne snaží odstraňovat. Napríklad až s príchodom prvej aktualizácie sa v systéme objavila funkcia kopíruj a vlož, ktorej absencia bola užívatel mi často kritizovaná. Diskutovaná bola aj otázka podpory behu viacerých aplikácií súčasne (tzv. multitasking). Samotný Microsoft najprv jeho podporu poprel, potom vyhlásil, že bude podporovaný a nakoniec na túto tému uvalil informačné embargo. V aktuálnej verzii Windows Phone 7 je táto funkcia podporovaná iba čiastočne. To znamená, že iba niektoré aplikácie ako napríklad prehrávač hudby, ový klient alebo aplikácia na posielanie okamžitých správ (instant messenger) dokážu pracovat na pozadí. Štandardne ale táto funkcia k dispozícii nie je. Dokonca len niekol ko kl účových vývojárov má prístup k multitaskingu pre potreby vývoja. Na druhej strane sa spustené aplikácie nevypínajú úplne, iba sa uspia. Ked sa k takto uspanej aplikácii chce užívatel neskôr vrátit, obnoví sa presne v tom bode, v ktorom bola opustená [10]. Microsoft sa pre toto obmedzenie rozhodol kvôli predĺženiu životnosti batérie a menším nárokom na množstvo pamäte, ktorá by bola inak využívaná aj aplikáciami pracujúcimi v pozadí. S najbližšou aktualizáciou systému nazvanou Mango, ktorá je naplánovaná na koniec roka 2011, je okrem iného ohlásená už aj plnohodnotná podpora behu viacerých aplikácií súčasne. Na prepínanie medzi nimi bude slúžit manažér spustených aplikácií, ktorý bude tiež jednou z noviniek. Ešte pred samotnou aktualizáciou by mala byt uvol nená nová verzia internetového prehliadača Internet Explorer 9, ktorá už bude podporovat HTML5. Microsoft oficiálne nezverejnil architektúru svojho operačného systému pre mobilné zariadenia, ale na internet unikla prezentácia, ktorá jeho súčasti popisuje. Podl a týchto zdrojov je architektúra systému Windows Phone 7 rozdelená na dve časti. Užívatel ská čast obsahuje aplikácie a služby poskytované systémom. Čast s jadrom systému obsahuje okrem samotného jadra aj súčasti ako súborový systém, ovládače, grafické vykresl ovanie atd. Jadro je založené na Windows CE 6.0, ktoré bolo špeciálne navrhnuté pre beh na mobilných zariadeniach s dôrazom na výkon a zvýšenú životnost prístroja pri fungovaní na batérie. 10

18 2.4. OSTATNÉ MOBILNÉ PLATFORMY Vývoj aplikácií Sú dve cesty ako vytvárat aplikácie pre platformu Windows Phone 7. Vývojár si môže zvolit technológiu Microsoft Silverlight 9 alebo Microsoft XNA 10. Prvá možnost je vhodná pre vývoj bežných aplikácií. XNA poskytuje predovšetkým možnosti vytvárat 2D a 3D hry s vysokým grafickým výkonom [8]. Silverlight aplikácie sú písané v programovacom jazyku C#. Grafické rozhranie aplikácie sa definuje pomocou značkovacieho jazyka XAML 11. Jedná sa o rozšírené XML, ktoré sa používa na popis rozloženia aplikácií od.net Framework verzie 3. Aplikácie pre Windows Phone 7 sú vyvíjané rovnako ako pre stolové verzie operačného systému Windows s tým, že vývojár má navyše prístup k hardvérovým funkciám prístroja. Medzi dostupné funkcie patrí GPS, akcelerometer, fotoaparát, prístup k užívatel ským dátam a kontaktom [8]. Ak chce vývojár predávat svoje aplikácie porstredníctvom Marketpalce, musí sa zaregistrovat a zaplatit ročný poplatok $99. Pre študentov je registrácia dostupná zdarma cez program Dreamspark [8]. Po registrácii je vývojárovi odomknuté jeho zariadenie s operačným systémom Windows Phone 7 na účely testovania. Z Českej a Slovenskej republiky zatial nie je možné oficiálne predávat aplikácie. Existujú však služby ako Yalla Apps 12 alebo Appa Market 13, ktoré poskytujú možnost uverejnit aplikáciu na Marketplace aj z krajín, ktoré nie sú priamo podporované zo strany Microsoft. Za túto službu si účtujú fixný poplatok, prípadne podiel zo zisku. 2.4 Ostatné mobilné platformy Okrem platforiem Android, ios a Windows Phone 7, ktoré majú v súčasnosti najväčší potenciál, existuje na trhu aj množstvo iných operačných systémov pre mobilné zariadenia. Niektoré majú svoj najväčší úspech už za sebou, iné sú zamerané len na špecifickú klientelu a ostatné jednoducho nedokážu konkurovat gigantom ako Apple, Google alebo Microsoft Symbian Napriek tomu, že operačný systém Symbian má momentálne viac ako 30 % podiel na trhu, čo ho radí na druhé miesto medzi mobilnými operačnými systémami za platformu Android, dá sa povedat, že už len dožíva. Každým mesiacom sa jeho podiel znižuje a je len otázkou času, kedy ho predbehnú aj ostatné mobilné platformy. Tento operačný systém bol vyvíjaný spoločnost ou Nokia. Momentálne sa o jeho vývoj 9. Silverlight je aplikačná platforma určená pre vývoj biznis a multimediálnych aplikácií. Ako programovací jazyk je možné využit C#, VB.NET, Javascript a IronPython. 10. XNA je sada nástrojov vyvinutá spoločnost ou Microsoft. Primárne je určená na vývoj hier pre Xbox, Windows a Windows Phone Extensible Application Markup Language 12. < 13. < 11

19 2.4. OSTATNÉ MOBILNÉ PLATFORMY stará spoločnost Accenture, ktorej ho Nokia prenechala, lebo v budúcnosti plánuje svoje mobilné prístroje vybavit systémom Windows Phone 7 [9]. Symbian chce využit len na zariadeniach nižšej rady. Týmto krokom bola táto mobilná platforma oficiálne odsunutá na druhú kol aj. Za úpadok kedysi najúspešnejšieho mobilného operačného systému môže samotná Nokia, ktorá sa dlho bránila dotykovému ovládaniu na svojich prístrojoch, čím išla proti požiadavkám samotných užívatel ov. Aktuálna verzia systému sa volá Symbian ^3 a bola vydaná na konci roku Vel ký dôraz pri jej vývoji bol kladený na prívetivost užívatel ského rozhrania. Vývoj aplikácií Aplikácie pre túto platformu sú písané v programovacom jazyku C++ s použitím Qt SDK 14. To obsahuje dokumentáciu, knižnice, hlavičky súborov, kompilátor a emulátor prístroja. Alternatívny postup vývoja aplikácií je možný pomocou jazyka Python, platformy Adobe Flash alebo Java ME Samsung bada Operačný systém bada vznikol z pôvodného systému mobilných telefónov vyrábaných firmou Samsung. Doplnením o dotykové ovládanie, 3D grafiku, prepracovaním grafického rozhrania a hlavne doplnením možnosti st ahovania a inštalovania aplikácií tretích strán, sa z neho stal plnohodnotný operačný systém pre mobilné prístroje. Vývoj aplikácií Samsung vydal pre vývojárov SDK, ktoré sa dá vol ne stiahnut a nainštalovat. Je určené pre operačný systém Windows XP, Windows Vista a Windows 7. Ako programovací jazyk pre vývoj aplikácií je použitý C++. Pre vytvorenie novej aplikácie je nutné zaregistrovat sa na vývojárskych stránkach bada a vytvorit nový profil pre aplikáciu. Podl a nastavení vlastností aplikácie sa vygeneruje súbor manifest.xml. Ten je nutné stiahnut a vložit do nového projektu aplikácie. Ak je hotová aplikácia schválená, je zaradená do predaja v internetovom obchode Samsung App Blackberry Za touto mobilnou platformou stojí kanadská spoločnost Research in Motion (RIM). Prístroje Blackberry sú úzko prepojené s internetovými službami. Ich hlavnou výhodou je synchronizácia medzi prístrojom a firemným (alebo osobným) účtom, na ktorom sa nachádzajú y, naplánované schôdzky a d alšie dôležité dáta. To znamená, že užívatel má stále k dispozícií aktuálne informácie nech sa nachádza kdekol vek. 14. QT je medziplatformový aplikačný rámec, pomocou ktorého sa dájú vyvíjat aplikácie a užívatel ské rozhrania pre rôzne operačné systémy, vrátane platformy Symbian. 12

20 2.5. WEBOVÉ APLIKÁCIE VERZUS NATÍVNE APLIKÁCIE Vývoj aplikácií Aplikácie je možné vyvíjat pomocou Blackberry Java SDK v6.0. To je dostupné ako zásuvný modul pre vývojové prostredie Eclipse pre operačné systémy Windows a Mac OS X. Ako už názov SDK naznažuje, aplikácie sú písané v programovacom jazyku Java. K dispozícii sú aj emulátory všetkých prístrojov značky Blackberry, na ktorých sa dajú aplikácie jednoducho testovat WebOS Jedná sa o nástupcu operačného systému PalmOS. Premenoval sa po odkúpení spoločnosti Palm spoločnost ou Hewlett-Packard. Je založený na linuxovom jadre a proprietárnych komponentoch 15. Oficiálne sa v Českej republike nepredáva žiadne zariadenie s týmto operačným systémom. Vývoj aplikácií HP WebOS SDK obsahuje knižnice na tvorbu aplikácií pomocou JavaScriptu a C/C++. Ďalej obsahuje kompilátor, knižnice a ukážky zdrojových kódov. SDK je dostupná pre Windows, Mac OS X a tiež Linux. 2.5 Webové aplikácie verzus natívne aplikácie Trh s mobilnými platformami je príliš roztrieštený. Existuje vel a operačných systémov použitých v mobilných prístrojoch a každý má vlastný postup a programovací jazyk, v ktorom sú natívne aplikácie vyvíjané. Pre jednotlivca je takmer nemožné orientovat sa na všetky dostupné platformy. V prípade vývoja aplikácie vel kou spoločnost ou v nej existuje viac tímov, ktoré aplikáciu vyvíjajú zvlášt pre jednotlivé platformy. To ale znamená zvýšené náklady, ktoré sa následne prejavia na konečnej cene aplikácie. Vhodným spôsobom ako sa s týmto problémom vysporiadat je zamerat sa na vývoj webových aplikácií. Rozšírenie bezdrôtového internetu a nárast jeho rýchlosti poskytuje možnosti využívat webové služby takmer kdekol vek. Vd aka tomu sa webové aplikácie, ktorých obsah je prispôsobený mobilným prístrojom s dotykovou obrazovkou, stávajú rovnocenným partnerom klasickým mobilným aplikáciam. Webové aplikácie prinášajú oproti natívnym množstvo výhod, ale je treba počítat aj s niektorými obmedzeniami Výhody webových aplikácií Medzi hlavné výhody patrí už spomínaná prenositel nost medzi jednotlivými platformami. Stačí vytvorit jednu webovú aplikáciu, ku ktorej užívatel pristupuje pomocou internetového prehliadača a tak pohodlne využíva jej služby. Vd aka tomu, že spracovanie dát a potrebné výpočty prebiehajú na serveroch, na ktorých je webová aplikácia uložená, odpadá pre 15. Proprietárny softvér jeho užívanie je obmedzené licenčnými zmluvami. Z pravidla k nemu nie sú dostupné zdrojové kódy, a tak ho nie je možné slobodne upravovat. 13

21 2.5. WEBOVÉ APLIKÁCIE VERZUS NATÍVNE APLIKÁCIE vývojárov nutnost prepisovat zdrojový kód do rôznych programovacích jazykov ako by to bolo nutné v prípade natívnej aplikácie. Jediné čo je pri takýchto webových aplikáciach nutné prispôsobit je grafické rozhranie, aby sa zobrazovalo správne na všetkých druhoch rozlíšenia. Takéto prispôsobovanie rozhrania je však potrebné aj pri vývoji natívnej aplikácie, takže vývojár sa tomu nevyhne ani v jednom prípade. Webové aplikácie nie je nutné inštalovat priamo do prístroja, čím sa šetrí vnútorná pamät pre iné dáta. Vd aka tomu tiež odpadá potreba ich schval ovania zo strany výrobcov operačných platforiem, čo môže trvat niekol ko týždňov dokonca až mesiacov, ako je to pri predaji prostredníctvom obchodov s aplikáciami. Tým je umožnené rýchlejšie uvedenie aplikácie prípadne jej aktualizácií do prevádzky. Aktualizácie navyše prebiehajú iba na serveroch, čím nezat ažujú užívatel a nutnost ou ich potvrdenia a čakania, kým skončí jej priebeh. Vd aka podpore líšt v prehliadači je možné mat naraz otvorené viaceré webové aplikácie. To môže u platforiem, ktoré normálne nepodporujú beh viacerých aplikácií súčasne práve túto funkciu nahradit Nevýhody webových aplikácií Na druhej strane webové aplikácie trpia oproti natívnym istými obmedzeniami. Tým najväčším je nutnost internetového pripojenia, bez ktorého aplikácia nebude fungovat, alebo bude jej funkcionalita značne obmedzená [3]. S nutnost ou internetového pripojenia je spojené aj spoplatnenie dát. To môže byt problematické hlavne v prípade aplikácií, ktoré ich prenášajú vel ké množstvo. Tiež životnost batérie je pomerne obmedzená, pretože je nutné napájat Wi-Fi alebo 3G modul, ktoré vyžadujú väčšie množstvo energie. Komunikácia cez internetové protokoly je hlavne pri bezdrôtových spojeniach pomalá. To má spolu s pomalším vykresl ovaním obsahu aplikácie v prehliadači (napríklad načítanie väčšieho obrázku) podiel na dlhšej odozve aplikácie, čo do vel kej miery znižuje jej užívatel skú prívetivost. Pri vytváraní grafického rozhrania webovej aplikácie je nutné ručne implementovat animácie a rozloženia, ktoré sú inak súčast ou systému. Dosiahnutie rovnakého výsledku ako pri natívnej aplikácii si vyžaduje značné úsilie a dobrú znalost jazykov CSS a JavaScript. Existujú však rámce ako jquery Mobile, jqtouch alebo Sencha Touch, ktoré sú zamerané na vytváranie grafických rozhraní pre webové aplikácie určené pre prístroje s dotykovým ovládaním. Vd aka nim je jednoduchšie vytvorit rozhranie s množstvom animácií, ktoré sa viac podobá rozhraniu natívnej aplikácie. Pri vývoji webovej aplikácie vývojárov obmedzuje aj nemožnost pristupovat ku všetkým hardvérovým alebo systémovým funkciám prístroja. Postupne sa však v tejto oblasti situácia zlepšuje. Už dnes sa dá využit napríklad GPS modul prístroja na určenie polohy užívatel a. Integrovaný prehliadač pracuje ako prostredník medzi webovou aplikáciou a hardvérom a pomocou jazykov JavaScript a HTML5 ponúka túto funkciu webovej aplikácii. Implementovanie tejto funkcionality ukazuje, že je len otázkou času, kedy sa bude dat pomocou webovej aplikácie pristupovat aj k ostatným funkciám prístroja ako napríklad fo- 14

22 2.6. VYUŽITIE HTML5 PRI VÝVOJI MOBILNÝCH WEBOVÝCH APLIKÁCIÍ toaparát alebo telefónny zoznam [3]. K tomu však treba ešte zjednotit aplikačné rozhrania pre prístup k týmto funkciám v prehliadačoch mobilných prístrojov. To ale môže byt problém, lebo každý výrobca operačného systému to môže urobit svojim vlastným spôsobom. 2.6 Využitie HTML5 pri vývoji mobilných webových aplikácií HTML5 ako pripravovaný štandard prináša množstvo noviniek do oblasti vývoja web aplikácií. Ešte stále je vo fáze návrhu a predpokladá sa, že finálna podoba bude schválená až okolo roku Napriek tomu väčšina internetových prehliadačov už dnes podporuje vel kú čast HTML5 elementov. Inak tomu nie je ani v prípade prehliadačov v mobilných prístrojoch. Platformy Android, ios, Blackberry OS, Symbian, Samsung bada a tiež WebOS majú svoje prehliadače postavené na jadre WebKit, ktoré sa používa aj v prehliadačoch na klasických počítačoch. Toto jadro zabezpečuje podporu väčšiny HTML5 prvkov. Zatial za nimi zaostáva platforma Windows Phone 7. Jej prehliadač je postavený na kombinácii jadier Internet Explorer 7 a Internet Explorer 8, ktoré si s HTML5 neporadí. Ohlásená je však aktualizácia prehliadača, ktorá tento štandard implementuje. Pomocou HTML5 je možné vytvárat bohaté multimediálne aplikácie bez nutnosti inštalovania zásuvných modulov ako napríklad Adobe Flash. Na to sa spolieha aj Apple, ktorý vo svojich zariadeniach s ios tento zásuvný modul ani neplánuje podporovat. Argumentuje tým, že narozdiel od HTML5 má príliš vel ké nároky na výkon, čím podstatne znižuje životnost batérie. Navyše väčšina videí na internete je dostupných aj vo formáte H.264, ktorého podpora je zabezpečená priamo v systéme ios [5]. To, že má HTML5 vel kú budúcnost, dokazuje aj najznámejší portál poskytujúci zdiel anie videí Youtube 16. Ten začiatkom roka 2010 spustil skúšobnú prevádzku svojho obsahu fungujúcu na tejto technológii. V júli 2010 prepracoval aj mobilnú verziu portálu 17 spoliehajúc sa výhradne na HTML5, vd aka čomu sprístupnili videá aj užívatel om pristupujúcim k tejto službe pomocou prístrojov so systémom ios. Pre ostatné platformy fungovala táto služba aj predtým vd aka podpore Adobe Flash v prístrojoch. Ešte väčším prínosom HTML5 v oblasti vývoja webových aplikácií je možnost sprístupnit ich funkcionalitu aj bez nutnosti internetového spojenia. Na to slúži špeciálne úložisko v internetovom prehliadači, do ktorého sa uložia súbory potrebné pre fungovanie aplikácie. Môžu to byt všetky zdroje ako napríklad HTML a CSS súbory, obrázky alebo JavaScript. Zoznam zdrojov sa definuje v súbore menom cache.manifest [3]. Pre uloženie užívatel ských dát je možné použit jednu z troch HTML5 implementácií lokálnych úložísk. Webové úložisko tiež nazývané HTML5 lokálne úložisko 18. Funguje na princípe kl účov a hodnôt na strane klienta < 17. <m.youtube.com> 18. Ang. HTML5 local storage 19. < 15

23 2.7. HTML5 RÁMCE Webová SQL databáza databáza založená na SQLite fungujúca na strane klienta. Jedná sa o alternatívu k RDBMS 20, ktorá sa používa na serveroch 21. Indexovaná databáza nahrádza webovú SQL databázu a uchovávat hierarchické objekty 22 [3]. dopĺňa ju o možnost 2.7 HTML5 rámce Okrem striktného výberu medzi natívnou alebo webovou aplikáciou existuje pre vývojárov ešte možnost siahnut po niektorom z rámcov, ktoré využívajú HTML5, CSS3 a JavaScript. Takéto aplikácie sa nazývajú hybridné, pretože sa snažia kombinovat výhody oboch riešení. Vd aka nim môžu byt aplikácie vyvíjané pomocou webových technológií, čím je zabezpečená ich prenositel nost medzi platformami. Zároveň je ale hotová aplikácia skompilovaná do programovacieho jazyka pre danú platformu. To znamená, že sa jedná o natívnu aplikáciu, ktorá môže pristupovat k niektorým systémovým funkciám. Vývoj pomocou rámcov neprináša iba výhody. Napriek tomu, že vd aka nim má vývojár prístup k funkciám prístroja, ich zoznam nie je pre všetky podporované platformy rovnaký. V praxi to znamená, že ak nejaká systémová funkcia, ktorú aplikácia potrebuje využívat nie je dostupná pre niektorú platformu, tak pre ňu bude možné aplikáciu vytvorit len so zásahom do zdrojových kódov rámca, alebo to nepôjde vôbec. Úpravy zdrojových kódov nie sú práve jednoduché. V prípade rámcov, ktoré nemajú otvorené zdrojové kódy navyše nie sú možné. Nevýhodou niektorých rámcov je aj absencia nástrojov na hl adanie chýb a ladenia programu, čo značne komplikuje vývoj. Výkon aplikácií vytvorených pomocou HTML5 rámcov je závislý na výkone webového alebo JavaScript jadra nad ktorým tieto aplikácie bežia. Ked že sa jedná o prostredník medzi aplikáciou a samotným systémom, tak takéto aplikácie trpia na menší výkon. Najčastejšie sa to prejavuje v prípade náročných animácií, ktoré nemusia byt plynulé PhoneGap PhoneGap je vývojársky rámec s otvorenými zdrojovými kódmi šírený pod licenciou MIT, ktorý umožňuje pomocou jazykov JavaScript, HTML5 a CSS3 vytvárat natívne aplikácie pre operačné systémy ios, Android, WebOS, BlackBerry, Windows Mobile, Samsung bada a Symbian. Na podpore platformy Windows Phone 7 sa momentálne pracuje. O vývoj tohto rámca sa starajú spoločnosti Nitobi Software a IBM. Hlavným dôvodom jeho vzniku bol zámer poskytnút vývojárom mobilných webových aplikácií prístup k hardvérovým funkciám prístroja bez nutnosti učit sa programovacie jazyky, v ktorých sú natívne aplikácie písané. 20. Relational Database Management System 21. < 22. < 16

24 2.7. HTML5 RÁMCE PhoneGap aplikácia funguje v prístroji pomocou vstavaného webového pohl adu. Ten sa stará o zobrazenie grafického rozhrania aplikácie, ktoré je vytvorené pomocou HTML, CSS alebo niektorého z rámcov, ktoré sa normálne používajú pri tvorbe webových mobilných aplikácií. Okrem toho v ňom prebieha spracovanie JavaScript kódu, ktorého úlohou je zabezpečit funkčnú stránku aplikácie. Ak potrebuje vývojár pristupovat k funkciám, ktoré poskytuje systém, tak na to používa špeciálny objekt menom navigator. Medzi podporované funkcie, patrí napríklad akceleromoter, kamera, kompas, prístup k zoznamu kontaktov, GPS, vnútorné úložisko prístroja a iné. Zoznam prístupných funkcií sa líši v závislosti od zvolenej platformy a jej verzie. Neustále sa však dopĺňa. Aktuálny zoznam podporovaných funkcií sa nachádza na stránke s dokumentáciou 23. Pri každej funkcii je okrem jej popisu, dostupných metód a ukážok zdrojových kódov, aj zoznam podporovaných platforiem. PhoneGap nedávno na svojich internetových stránkach predstavil službu nazvanú PhoneGap Build. Tá umožňuje vývojárom nahrat svoju aplikáciu napísanú pomocou jazykov HTML, CSS a JavaScript na server, kde sa spracuje do natívnej aplikácie pre zvolenú platformu. Vd aka tomu nemusí vývojár inštalovat SDK na svoj počítač a samostatne kompilovat aplikáciu pre každú platformu [1]. Obl úbené vývojové prostredie Adobe Dreamweaver CS5.5, ktoré je predovšetkým určené pre vytváranie webových stránok, nedávno doplnilo možnost vyvíjat aplikácie pomocou rámca PhoneGap Appcelerator Titanium Titanium Mobile je vývojový rámec umožňujúci vyvíjat aplikácie pre platformy ios a Android. Platforma Blackberry je zatial v skúšobnej prevádzke. Nadväzuje na verziu pre stolové počítače Titanium Desktop, ktorá ponúka vývoj aplikácií pre stolové počítače s rôznymi operačnými systémami. Za vznikom tohto vývojového rámca stojí spoločnost Appcelerator Inc, ktorá ho uviedla na trh na konci roka Na vývoj aplikácií využíva HTML, CSS a JavaScript. Titanium Developer je program, v ktorom sa aplikácie vyvíjajú. Je vol ne dostupný na oficiálnych stránkach 24. Určený je pre operačné systémy Windows, Linux a Max OS X. Jedná sa o softvér s otvorenými zdrojovými kódmi a je šírený pod Apache 2.0 licenciou. Ide o program pre stolový počítač, ktorá obsahuje nástroje Titanium Mobile SDK pre vývoj mobilných aplikácií a Titanium Desktop SDK pre vývoj aplikácií určených pre operačné systémy Windows, Mac OS X a Linux. Titanium Mobile SDK umožňuje vytvárat natívne mobilné aplikácie s použitím jazyka JavaScript. Takto vytvorené aplikácie nebežia vo vstavanom webovom pohl ade, ale využívajú len samotné JavaScript jadro, pomocou ktorého je interpretovaný kód a zabezpečený prístup k systémovým funkciám prístroja. Vývojár vlastne vyvíja natívnu aplikáciu s použitím medziplatformového jazyka JavaScript, namiesto neprenosného Objective-C alebo 23. < 24. < 17

25 2.8. AKÝ POSTUP ZVOLIŤ Java kódu. Grafické rozhranie aplikácie je možné vytvorit pomocou HTML a CSS, ale tiež použitím natívnych komponentov, ku ktorým je možné pristupovat cez JavaScript kód [13]. Titanium poskytuje prístup k hlavným hardvérovým a systémovým funkciám prístrojov, ako napríklad GPS, fotoaparát, zoznam kontaktov, prehrávanie video a audio záznamov a mnoho d alších. Zoznam podporovaných funkcií je dostupný na internetových stránkach s dokumentáciou1. Vel kou výhodou tohto rámca je aj jeho l ahká rozšíritel nost. Pomocou zásuvných modulov môže vývojár doplnit svoju mobilnú aplikáciu o požadovanú natívnu funkciu a následne tento modul používat pomocou JavaScript kódu [2]. Na testovanie aplikácií je nutné použit emulátor platformy Android alebo ios, ktoré sú poskytované priamo od výrobcov týchto operačných systémov. To predstavuje nevýhodu pri testovaní aplikácie pre ios, pretože virtuálny prístroj tohto zariadenia funguje iba na operačných systémoch Mac OS X. Nástroje na hl adanie chýb v programe boli doplnené až vydaním vývojového prostredia Titanium Studio 1.0 v apríli Pre jeho využívanie je nutné používat Titanium Mobile SDK vo verzii 1.7, ktoré je zatial dostupné iba ako beta verzia. 2.8 Aký postup zvolit Všetky spôsoby vývoja aplikácií majú svoje špecifiká a sú vhodné pre rôzne typy aplikácií, takže na túto otázku neexistuje jednoznačná odpoved. Existujú ale odporúčania, ktorých je dobré sa držat pri výbere tej správnej cesty pri vývoji. Natívna aplikácia je vhodná vol ba pri vývoji mobilných hier. Tie potrebujú vysoký grafický výkon a rýchlu odozvu, čo im webové aplikácie nedokážu zaistit. V prípade potreby môže aj takáto aplikácia pristupovat na internet, no pre jej chod to nie je nevyhnutné. U mobilných hier je tiež dôležité zamerat sa na dobrú ovládatel nost. Každá platforma má svoje špecifiká čo sa týka ovládania (napríklad rôzny počet a rozmiestenie kláves). V prípade hry riešenej ako webovej aplikácie by sa nedali využit výhody jednotlivých platforiem, ale musel by sa zvolit kompromis. Ak má aplikácia pristupovat k hardvérovým alebo systémovým funkciám prístroja, ako napríklad posielanie SMS správ, galéria obrázkov, fotoaparát, súbory uložené v pamäti, atd., tak vol ba natívnej alebo hybridnej aplikácie je zatial jediná možnost ako to dosiahnut. Webová aplikácia pre prehrávač hudby alebo videa by bola v takomto prípade nevhodné riešenie. Za väčšou popularitou klasických aplikácií môže aj ich propagácia zo strany výrobcov mobilných operačných systémov. Na rozdiel od webových riešení majú z predaja natívnych aplikácií prostredníctvom svojich internetových obchodov zisk. Väčšinou je to 30 % z podielu predaja. Vd aka obchodom s aplikáciami je pre potenciálneho zákazníka jednoduchšie nájst to čo potrebuje, pretože sa to nachádza na jednom mieste. Navyše aplikácie obsahujú hodnotenia a reakcie od užívatel ov, takže prípadný zákazník si l ahšie vytvorí o aplikácií názor. Na druhej strane webové riešenia sú vhodné pre aplikácie, ktoré ponúkajú služby zá- 18

26 2.8. AKÝ POSTUP ZVOLIŤ kazníkom. Môže sa jednat napríklad o internetový obchod alebo sociálne siete slúžiace na komunikáciu užívatel ov. Takéto aplikácie sú už svojou podstatou závislé na internetovom pripojení. Navyše nie sú náročné na ovládanie a tiež nevyžadujú prístup k hardvérovým funkciám prístroja. V takomto prípade je teda vhodné zamerat vývoj na čo najväčšiu užívatel skú základňu práve zvolením webovej aplikácie. 19

27 Kapitola 3 Praktická čast Zadanie mojej bakalárskej práce obsahuje vytvorenie RSS čítačky pre zvolenú mobilnú platformu. RSS čítačka je program, ktorý slúži na získavanie informácií zo sledovaných kanálov, ich spracovanie a zobrazenie užívatel ovi. Ak sa na internetovom portáli sledovanom pomocou RSS čítačky objaví nový článok, čítačka užívatel ovi ponúkne jeho titulok, krátky výňatok textu a odkaz na celý článok na internetovej verzii portálu. Výhodou takýchto čítačiek je, že šetria čas a v prípade verzie pre mobilné zariadenia aj množstvo prenesených dát, ktoré sú často poskytovatel mi mobilného pripojenia predražené. Po predošlom oboznámení sa so základmi programovania pre jednotlivé mobilné platformy som sa rozhodol vytvorit zadanú aplikáciu pre operačný systém Android. Viedla ma k tomu najmä dobrá úroveň dokumentácie, stále rastúca popularita tohto operačného systému na trhu a v neposlednom rade vel ká komunita zaoberajúca sa vývojom, čo v prípade potreby znamená väčšiu šancu nájdenia riešenia problémov. Napriek rôznym možnostiam, ako takúto aplikáciu vytvorit, som sa rozhodol pre natívny spôsob. Toto rozhodnutie bolo ovplyvnené viacerými skutočnost ami. S programovacím jazykom Java, v ktorom sú písané aj aplikácie pre operačný systém Android, som sa už v minulosti stretol, a tak bolo pre mňa pochopenie základných princípov tvorby aplikácií jednoduchšie. Navyše programovací jazyk Java podporuje viacero spôsobov ako jednoducho spracovat XML dáta. Ked že RSS zdroj je špeciálny druh XML súboru, práve jeho spracovanie predstavovalo najdôležitejší krok. Tri najpopulárnejšie z týchto spôsobov sú dostupné aj pre platformu Android. Sú to SAX 1, DOM 2 a XML Pull Parser. Ako RSS 3 zdroj som zvolil portál TechCrunch 4. Ten informuje predovšetkým o technologických novinkách a zaujímavých začínajucích projektoch zo sféry informačných technológií. Na trhu existuje RSS čítačka tohto portálu pre platformu ios, no pre Android k dispozícii nie je. 1. Simple API for XML 2. Document Object Model 3. Really Simple Syndication 4. < 20

28 3.1 Inštalácia SDK a ADT zásuvného modulu 3.1. INŠTALÁCIA SDK A ADT ZÁSUVNÉHO MODULU Ešte pred samotným programovaním aplikácie je potrebné stiahnut, inštalovat a nastavit nástroje určené na vývoj a testovanie: SDK je vol ne prístupné na stránkach Android Developers 5. Eclipse IDE for Java Developer 3.5 odporúčané vývojové prostredie určené na písanie aplikácií pre platformu Android. Je vol ne prístupné na oficiálnych internetových stránkach 6. ADT (Android Development Tools) zásuvný modul pre prostredie Eclipse, pridávajúci možnost vytvorit projekt pre platformu Android. Ďalej je potrebné nastavit cestu k adresáru s nainštalovaným SDK, aby vývojové prostredie Eclipse mohlo spravovat virtuálne prístroje určené na testovanie. Pomocou Eclipse sa dajú vytvárat nové virtuálne prístroje, posielat krátke správy, uskutočňovat telefónne hovory, ale hlavne spúšt at vytvorené aplikácie. 3.2 Popis RSS zdroja Pre navrhnutie logiky programu je dôležité oboznámit sa so štruktúrou RSS zdroja. Ide o XML 7 súbor s oficiálne špecifikovanou štruktúrou. V prípade portálu TechCrunch ide o RSS verziu 2.0, ktorá má nasledujúcu podobu: <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title></title> <link></link> <description></description> <lastbuilddate></lastbuilddate> <item> <title></title> <description></description> <guid></guid> <pubdate></pubdate> </item> </channel> </rss> Prvý riadok je hlavička XML súboru. Definuje použitú verziu XML 1.0 a použité kódovanie UTF-8. Tag <rss> je takzvaný koreňový element, ktorý obsahuje povinný atribút version, popisujúci verziu RSS. Nasleduje povinný element <channel>, ktorý obsahuje d alšie elementy popisujúce RSS kanál: 5. < 6. < 7. extensible Markup Language 21

29 3.3. NÁVRH GRAFICKÉHO ROZHRANIA APLIKÁCIE <title> povinný element obsahujúci meno RSS zdroja. <link> povinný element obsahujúci URL odkaz na internetovú stránku poskytujúcu RSS zdroj. <description> povinný element obsahujúci krátky popis RSS zdroja. <lastbuilddate> nepovinný element obsahujúci dátum a čas poslednej zmeny RSS zdroja. Formát dodržiava špecifikáciu RFC <item> povinný element, ktorý sa môže v RSS zdroji vyskytovat opakovane. Udržiava informácie o jednotlivých článkoch. Všetci potomkovia sú nepovinný, avšak aspoň jeden z title alebo description musí byt prítomný: <title> povinný element obsahujúci krátky popis RSS zdroja. <description>> element obsahujúci krátky úryvok z článku. <guid> element, ktorý slúži ako jedinečný identifikátor článku. V prípade RSS zdroja TechCrunch ide o URL adresu článku. <pubdate> element obsahujúci dátum a čas publikovania článku. Formát dodržiava špecifikáciu RFC 822. Štruktúra RSS zdroja portálu TechCrunch je komplexnejšia, ale pre potreby vytvorenia RSS čítačky postačuje spracovat elementy uvedené vyššie. Podrobná špecifikácia formátu RSS 2.0 je dostupná na stránkach RSS Advisory Board Návrh grafického rozhrania aplikácie Design is what your app does, how it works, how it presents itself to your audience. Josh Clark Návrh grafického rozhrania 10 aplikácie je jedným z najdôležitejších krokov pri jej vytváraní. Je to jediná čast, ktorú užívatel vidí, a s ktorou pracuje. Podl a nej si urobí názor o aplikácii ako celku. Ak je rozhranie príliš zložité a preplnené ovládacími prvkami, bude z neho užívatel frustrovaný. Opačný prípad je, ked rozhranie neobsahuje najdôležitejšie ovládacie prvky tam, kde by ich užívatel očakával. Takto zle navrhnuté rozhrania pre aplikáciu môžu viest až k jej odstráneniu z prístroja a následne k zlým referenciám. Návrh grafického rozhrania pre aplikáciu, ktorá je určená pre mobilné zariadenie s dotykovou obrazovkou je špecifický. Treba brat ohl ad na obmedzenia v podobe vel kosti a 8. < 9. < 10. Ang. GUI - Graphical User Interface 22

30 3.3. NÁVRH GRAFICKÉHO ROZHRANIA APLIKÁCIE rozlíšenia displeja, ale zároveň musia byt ovládacie prvky dostatočne vel ké, aby sa dali pohodlne ovládat dotykom prsta. Tiež je potrebné si uvedomit, že užívatel môže aplikáciu používat pri chôdzi a pri zlých svetelných podmienkach ako napríklad prudké slnko v lete. Preto je nutné, aby dôležité texty boli dostatočne vel ké a kontrastné. So samotným návrhom rozhrania je úzko spojený aj návrh logickej štruktúry programu. Obecne sa pre aplikácie vytvárané pre platformu Android odporúča pre každú obrazovku aplikácie mat vlastnú triedu, ktorá sa bude starat o jej funkcionalitu. Pri návrhu GUI pre RSS čítačku som vychádzal z podobných aplikácií určených pre mobilné zariadenia s operačným systémom Android a ios. Obrázok 3.1: Návrh hlavnej obrazovky aplikácie. Úvodná obrazovka aplikácie, ktorá sa zobrazí po spustení, obsahuje základné informácie ako logo portálu TechCrunch, čas poslednej aktualizácie zdroja a zoznam nadpisov jednotlivých článkov. Takéto rozhranie je pre RSS čítačky bežné a užívatelia sú naň zvyknutí. Nie je vhodné experimentovat s novým rozložením prvkov, lebo by to mohlo viest k nepochopeniu princípu fungovania ovládania. 23

31 3.4. VYTVORENIE NOVÉHO PROJEKTU Obrázok 3.2: Návrh obrazovky s detailom článku. Druhá obrazovka slúži na zobrazenie informácií k vybranému článku. V hornej časti obrazovky sa opät nachádza logo portálu. Pod ním je nadpis, čas publikovania a samotný úryvok článku. Ak je prístupný obrázok, tak sa zobrazí medzi časom publikovania a úryvkom. Na konci článku je uvedený internetový odkaz na celý článok. 3.4 Vytvorenie nového projektu Prvým krokom pri vytvorení nového Android projektu v prostredí Eclipse je základné nastavenie. To zahŕňa nastavenie mena projektu, zvolenie verzie operačného systému, pre ktorý bude aplikácia určená, nastavenie mena a balíka aplikácie a možnost vytvorit a pomenovat hlavnú triedu aplikácie, ktorá sa zavolá pri jej štarte. Pre mnou vytvorený projekt som zvolil názov RSS_Reader. Názov aplikácie, ktorý sa zároveň zobrazuje v hlavnej ponuke prístroja, som zadal RSS Reader. Verziu operačného systému som zvolil Android 2.1, pretože niektoré časti kódu nie sú v starších verziách podporované. Názov balíka projektu musí byt jedineč- 24

32 3.5. VYTVORENIE GRAFICKÉHO ROZLOŽENIA APLIKÁCIE ný, preto som ho zvolil cz.muni.fi.xtokar.rssreader. Názov hlavnej aktivity projektu som zvolil RSSReader. Po potvrdení sa vytvorí nový projekt, ktorý obsahuje vnútornú štruktúru aplikácie a súbory potrebné pre beh a konfiguráciu aplikácie. Adresár src obsahuje zdrojové kódy projektu. Adresár gen obsahuje automaticky vygenerovanú triedu R.java, ktorá obsahuje identifikátory zdrojov. Táto trieda by sa nemala menit ručne. Android 2.1-update1 je pripojená jar knižnica. Adresár assets slúži k umiestneniu rôznych dátových súborov, ktoré bude aplikácia používat. Adresár res obsahuje zdroje aplikácie: Adresáre drawable-hdpi, drawable-ldpi a drawable-mdpi slúžia na uloženie obrázkov, ikon a iných grafických objektov použitých v aplikácii. V adresári s príponou hdpi sú uložené zdroje pre prístroje s vysokou hustotou rozlíšenia displeja (240dp), v mdpi pre prístroje s priemernou hustotou rozlíšenia (160dp) a v ldpi pre prístroje s malou hustotou rozlíšenia (120dp). Adresár layout obsahuje XML súbory popisujúce rozloženia jednotlivých obrazoviek aplikácie. Adresár values obsahuje ret azcové hodnoty použité v aplikácii. Môže obsahovat rôzne jazykové mutácie. AndroidManifest.xml popisuje aplikáciu, jej komponenty, práva prístupu aplikácie na internet, funkciám prístroja ako GPS, fotoaparát, prácu s SMS správami a mnoho d alších. Súbory default.properties a proguard.cfg slúžia na definovanie a úpravu nastavení pri kompilácii a zostavovaní projektu. 3.5 Vytvorenie grafického rozloženia aplikácie Predošlý návrh grafického rozhrania je nutné spracovat do podoby, aby s ňou vedela aplikácia pracovat. Rozmiestenie jednotlivých prvkov na obrazovke popisuje XML súbor umiestnený v zložke projektu res/layout. Existujú nástroje ako napríklad DroidDraw1, ktoré dokážu generovat požadovaný XML dokument rozloženia pomocou grafického editora. Ja som sa však rozhodol pracovat priamo so zdrojovým XML súborom a jednotlivé prvky rozhrania vložit priamo. 25

33 3.5. VYTVORENIE GRAFICKÉHO ROZLOŽENIA APLIKÁCIE Súbor main.xml Súbor main.xml popisuje rozloženie hlavnej obrazovky aplikácie a má nasledujúcu podobu: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#ffffff"> <ImageView android:id="@+id/logo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_margintop="10dip" android:layout_marginbottom="10dip" android:src="@drawable/logo" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textsize="14sp" android:textcolor="#707070" android:id="@+id/feedpubdate" android:layout_marginbottom="5dip" android:paddingleft="5dip" /> <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/itemlist" /> </LinearLayout> Prvý riadok je povinná XML hlavička. Nasleduje koreňový element <LinearLayout>, ktorý už podl a svojho názvu hovorí, že prvky v ňom vnorené budú zoradené lineárne. Ďalej definuje menný priestor android. Atribúty android:layout_width a android:layout_height s hodnotou fill_parent definujú, že tento prvok má vyplnit celú obrazovku na šírku respektíve na výšku. Potomkovia koreňového elementu definujú jednotlivé prvky rozloženia. Element <ImageView> do rozloženia vkladá obrázok. V prípade mojej aplikácie je to logo portálu TechCrunch, ktoré je uložené v priečinku drawable pod menom logo.png. Element má d alej definované odsadenie 10 bodov od dolného a horného okraja a tiež zarovnanie na stred obrazovky pomocou atribútu android:layout_gravity. 26

34 3.5. VYTVORENIE GRAFICKÉHO ROZLOŽENIA APLIKÁCIE <TextView> popisuje čast rozloženia, v ktorom sa nachádza text. Táto čast vyplní nadradený prvok rozhrania na šírku. Na výšku sa vd aka atribútu android:layout_height s hodnotou wrap_content prispôsobí svojmu obsahu. Meno tohto prvku je definované atribútom android:id s Pod týmto názvom sa z jednotlivých tried aplikácie pristupuje k tomuto prvku. Ďalej je textu v tomto prvku nastavená vel kost písma na 14sp a sivá farba. Zvolil som menšiu vel kost a menej kontrastnú farbu, pretože údaj o poslednej aktualizácii RSS zdroja, ktorý sa v tejto časti rozloženia nachádza je menej podstatná informácia. Posledným prvkom rozloženia hlavnej obrazovky je <ListView>, ktorý má za úlohu zobrazit dáta v zozname. Tento prvok má nastavené, aby sa zobrazil na celý zvyšok vol nej plochy obrazovky. Názov prvku je itemlist. Grafická podoba rozloženia hlavnej obrozovky aplikácie je v prílohe B.1 Súbor show_article_webview.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff"> <ImageView android:id="@+id/logo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_margintop="10dip" android:layout_marginbottom="10dip" android:src="@drawable/logo" /> <WebView android:id="@+id/storyboxweb" android:layout_height="fill_parent" android:layout_width="fill_parent" android:paddingleft="5dip" android:paddingright="5dip" /> </LinearLayout> Tento súbor popisuje rozloženie obrazovky s podrobnost ami vybraného článku. Tak ako hlavná obrazovka, aj toto rozloženie je lineárne. Element <ImageView> opät vkladá obrázok s logom portálu pred element <WebView>. Obsah tejto oblasti je zobrazený akoby v internetovom prehliadači. Pre použitie tohto prvku som sa rozhodol z dôvodu, že text, ktorý 27

35 3.6. POPIS TRIED PROJEKTU tu aplikácia zobrazuje obsahuje HTML prvky, ktoré vd aka tomu nemusím inak spracovávat. Grafická podoba rozloženia hlavnej obrozovky aplikácie je v prílohe B Popis tried projektu Mnou vytvorená aplikácia obsahuje štyri triedy, ktoré sú zodpovedné za funkčnost a správu grafického rozhrania. Trieda Article.java package cz.muni.fi.xtokar.rssreader; public class Article { private String title = null; private String guid = null; private String pubdate = null; private String description = public String tostring() { if (title.length() > 49) { return title.substring(0, 49) + "..."; return title; Zdrojový kód triedy v textovej podobe sa nachádza v prílohe A.1. Táto trieda slúži na vytvorenie objektu Article. Kopíruje štruktúru položky <item> v RSS zdroji. Obsahuje premenné title, guid, pubdate a description, ktoré sú všetky typu ret azec. Jednotlivé metódy slúžia na priradenie hodnoty premennej respektíve získanie jej hodnoty z premennej. Metóda public String tostring() slúži na skrátenie textového ret azca premennej title a doplnenie o... v prípade, že je dlhší ako 49 znakov. Táto upravená metóda má opodstatnenie pri vypisovaní názvov článkov v hlavnej obrazovke aplikácie, aby dlhé názvy nezaberali vel kú čast obrazovky. Trieda RSSFeed.java package cz.muni.fi.xtokar.rssreader; import java.util.arraylist; import java.util.list; 28

36 3.6. POPIS TRIED PROJEKTU public class RSSFeed { private String lastbuilddate = null; private List<Article> articlelist; public RSSFeed() { articlelist = new ArrayList<Article>();... public Article getarticle(int index) { return articlelist.get(index); Zdrojový kód triedy v textovej podobe sa nachádza v prílohe A.2. Trieda RSSFeed.java vytvorí nový objekt RSSFeed. Obsahuje dve premenné. Prvá je typu ret azec a ukladá sa do nej dátum poslednej zmeny RSS zdroja. Druhá premenná articlelist je typu List<Article> a ukladajú sa do nej objekty typu Article. Zároveň obsahuje metódu public Article getarticle(int index), ktorá slúži na priamy prístup k článku podl a zadaného indexu. Trieda RSSReader.java Trieda RSSReader.java je hlavná trieda projektu, ktorá obsahuje metódy na načítanie a spracovanie RSS zdroja, metódy slúžiace na obsluhu hlavnej obrazovky a metódy na spracovanie dotykov na jednotlivé ovládacie prvky aplikácie. Metóda public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); feed = getfeed(url_of_feed); refreshdisplay(); Metóda oncreate() je hlavná metóda projektu, ktorá sa zavolá vždy pri spustení aplikácie. Jej úlohou je pomocou metódy setcontentview() priradit zodpovedajúci pohl ad, v tomto prípadne pomenovaný main, hlavnej obrazovke aplikácie. Jedná sa o odkaz na súbor main.xml uložený v zdrojoch projektu, v ktorom je popísané rozloženie hlavnej obrazovky. 29

37 3.6. POPIS TRIED PROJEKTU Metóda refreshdispaly private void refreshdisplay() { TextView feedpubdate = (TextView) findviewbyid(r.id.feedpubdate); ListView itemlist = (ListView) findviewbyid(r.id.itemlist); if (feed == null) { feedtitle.settext(r.string.no_rss_data); return; feedpubdate.settext(feed.getlastbuilddate()); ArrayAdapter<Article> adapter = new ArrayAdapter<Article>(this, android.r.layout.simple_list_item_1, feed.getarticlelist()); itemlist.setadapter(adapter); itemlist.setonitemclicklistener(this); itemlist.setselection(0); Úlohou tejto metódy je zobrazenie informácií o RSS zdroji na hlavnej obrazovke aplikácie. V prípade, že sa nepodarí tieto dáta načítat zobrazí sa hláška No RSS data. Metóda public boolean oncreateoptionsmenu(menu menu) { super.oncreateoptionsmenu(menu); menu.add(0,0,0, R.string.refresh); return true; Metóda pridá do menu jednu položku, ktorá sa zobrazí po stlačení klávesy menu na prístroji. Položka patrí do skupiny objektov s identifikátorom 0, má definované id 0, poradie objektu v menu 0. Textový popis je definovaný v súbore strings.xml s hodnotou Refresh. Metóda getfeed Zdrojový kód metódy v textovej podobe sa nachádza v prílohe A.3. Metóda slúži na načítanie a spracovanie RSS zdroja. Ako vstupný parameter je odovzdaný textový ret azec s adresou požadovaného RSS zdroja. Ten sa najprv pretypuje na objekt typu URL a vytvorí sa nový vstupný prúd dát. Následne sa vytvorí nový objekt xpp typu XMLPullParser s predošlým vstupným prúdom ako vstupom. Ak sa nepodarí nadviazat internetové spojenie, metóda sa ukončí s návratovou hodnotou null. V Opačnom prípade sa začne so spracovaním RSS zdroja. 30

38 3.6. POPIS TRIED PROJEKTU XML Pull Parser pracuje na základe udalostí. Prechádza celý XML dokument od začiatku do konca pomocou cyklu s kontrolou na začiatku a vracia číselné hodnoty podl a typu udalosti, na ktorú narazil. Cyklus sa ukončí pri dosiahnutí konca XML dokumentu. Hodnotu udalosti vráti metóda getevettype(). Metóda getnext() vráti hodnotu nasledujúcej udalosti. XML Pull Parser má preddefinované hodnoty: XmlPullParser.START_DOCUMENT hodnota vrátená na začiatku XML dokumentu. XmlPullParser.END_DOCUMENT hodnota vrátená pri dosiahnutí konca XML dokumetu. XmlPullParser.START_TAG hodnota vrátená pri otváracej značke. XmlPullParser.END_TAG hodnota vrátená pri ukončovacej značke. XmlPullParser.TEXT hodnota vrátená pri textovom uzle. Na začiatku spracovania dokumentu sa vytvorí nový objekt typu RSSFeed. Mnou implementovaná metóda reaguje len na XML prvky, ktoré sú potrebné pre vytvorenie obsahu aplikácie. Ide o prvky <lastbuilddate>, <item>, <title>, <description>, <guid> a <pubdate>. Každému z týchto prvkov v programe zodpovedá premenná inlastbuilddate, initem, intitle, indescription, inguid a inpubdate. Všetky sú typu boolean a majú preddefinovanú hodnotu false. Ak sa pri prechádzaní dokumentu nachádza parser na otváracej značke jedného z týchto elementov, nastaví sa požadovaná premenná na hodnotu true. Pri koncovej značke opät na hodnotu false. Meno elementu, na ktorom sa práve XML Pull Parser pri prechádzaní dokumentu nachádza, vracia metóda getname(). Ak sa pri prechádzaní parser nachádza na textovom uzle, vykoná sa kontrola, či má niektorá z premenných, ktoré boli nastavené pri otváracej značke hodnotu true. Ak áno, textový ret azec, ktorý sa nachádza v tomto uzle, sa uloží do požadovanej premennej. Ak sa parser nachádza na otváracej značke prvku <item>, okrem zmeny hodnoty premennej initem sa vytvorí aj nový objekt typu Article. Pri koncovej značke sa tento objekt vloží do premennej articlelist objektu RSSFeed. Pri prvku menom <title> sa navyše metódou kontroluje, či je jej menný priestor prázdny. Táto kontrola je nutná, pretože v RSS zdroji portálu TechCrunch sa nachádza prvok <media:title>, ktorého textový uzol by sa považoval za nadpis článku. Po spracovaní celého RSS zdroja metóda vráti objekt typu RSSFeed, v ktorého premenných je uložená informácia o dátume poslednej zmeny zdroja a zoznam článkov. Pri vývoji aplikácie som túto metódu najprv implementoval pomocou SAX parsera a následne aj pomocou DOM. Pri oboch implementáciách sa vyskytla chyba pri spracovávaní textových uzlov, ktoré v sebe obsahovali špeciálne entity ako napríklad &. Takýto textový uzol sa nespracoval celý, ale iba po prvý výskyt entity. XML Pull Parser si ako jediný dokázal so špeciálnymi entitami poradit a správne ich spracovat. 31

39 3.7. ANDROID MANIFEST Metóda onitemclick public void onitemclick(adapterview parent, View v, int position, long id) { Intent itemintent = new Intent(this,ShowArticle.class); Bundle b = new Bundle(); b.putstring("title", feed.getarticle(position).gettitle()); b.putstring("description", feed.getarticle(position).getdescription()); b.putstring("quid", feed.getarticle(position).getguid()); b.putstring("pubdate", feed.getarticle(position).getpubdate()); itemintent.putextra("android.intent.extra.intent", b); startactivity(itemintent); Úlohou metódy je obslúžit vstup z dotykovej obrazovky pri zvolení konkrétnej položky zo zoznamu článkov. Podl a pozície v zozname sa triede ShowArticle.java predá požadovaný článok. Predávanie obsahu medzi aktivitami v projekte pre platformu Android je riešené cez objekty typu Intent a Bundle. Objekt typu Intent slúži na odovzdanie riadenia a spustenia inej aktivity. Pri jeho vytvorení obdrží ako parameter názov triedy, ktorej má byt riadenie predané. Obsah je odovzdaný v objekte Bundle, ktorý je k Intentu pripojený metódou putextra(). Objekt typu Bundle obsahuje dvojice. Prvá položka je typu ret azec a predstavuje kl úč, pomocou ktorého sa pristupuje k hodnote uloženej v druhej položke. Tá je tiež typu ret azec a obsahuje hodnotu premennej konkrétneho článku. Takáto dvojica je vytvorená pre všetky premenné objektu Article, ktoré sú medzi aktivitami predávané. Metódou startactivity() sa spustí definovaná aktivita a predá sa jej pripojený obsah. Trieda ShowArticle.java Zdrojový kód triedy v textovej podobe sa nachádza v prílohe A.4 Po predošlom odovzdaní riadenia z triedy RSSReader.java triede ShowArticle.java sa z objektu Bundle načítajú dáta. Na to je určená metóda getstring() s príslušným kl účom ako parametrom. Takto získané hodnoty sa zobrazia pomocou webového pohl adu. V statickej premennej header som definoval klasickú HTML hlavičku spolu s kaskádovým štýlom, ktorý definuje farby a vel kost písma pre použité prvky. Farba pozadia webového pohl adu je nastavená metódou setbackgroundcolor() s číselným parametrom pre čiernu farbu, ktorá je definovaná v statickej premennej BLACK. 3.7 Android manifest <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" 32

40 3.7. ANDROID MANIFEST package="cz.muni.fi.xtokar.rssreader" android:versioncode="1" android:versionname="1.0"> <uses-sdk android:minsdkversion="7" /> <uses-permission android:name="android.permission.internet"> </uses-permission> <application <activity android:name=".rssreader" <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".showarticle" </activity> </application> </manifest> Súbor AndroidManifest.xml popisuje aplikáciu ako celok. Je uložený v hlavnej zložke projektu. V koreňovom elemente <manifest> je definovaný menný priestor, meno balíka a verzia aplikácie. Nasledujúci element <uses-sdk> definuje minimálnu verziu platformy, pre ktorú je aplikácia určená. Element <uses-permission> definuje aplikácii povolenie pristupovat na internet. Je to dosiahnuté atribútom android:name s hodnotou android.permission.internet. Bez tohto povolenia by aplikácia nedokázala stiahnut RSS zdroj. Element <aplication> definuje pomocou svojich atribútov cestu k ikone aplikácie a jej názov. Obsahuje dva dcérine elementy <activity>, ktoré definujú, že aplikácia má dve obrazovky (aktivity). Prvá aktivita má meno.rssreaderxmlpullparser. Obsahuje navyše element <intentfilter>, v ktorom je pomocou elementu <action> definované, že sa jedná o hlavnú obrazovku aplikácie a elementu <category>, ktorý povol uje zobrazit aplikáciu v zozname aplikácií v prístroji. Druhá aktivita má definované meno.showarticle. Atribút android:theme pridáva aktivite preddefinovaný ktorý zakazuje zobrazenie lišty s menom aplikácie, ked je spustená. Tento štýl je definovaný u oboch aktivít, aby táto lišta nezaberala zbytočne miesto na obrazovke. 33

41 3.8. EXPORTOVANIE A DIGITÁLNE PODPÍSANIE APLIKÁCIE 3.8 Exportovanie a digitálne podpísanie aplikácie Aby bolo možné aplikácie publikovat na Android Markete a inštalovat do zariadenia, musia byt digitálne podpísané certifikátom, ktorého privátny kl úč vlastní tvorca aplikácie. Kl úč je možné vygenerovat pomocou príkazového riadku príkazom: keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity Názov kl úča je my-release-key.keystore, alias kl úča alias_name a jeho platnost je dní. Pre publikovanie aplikácií na Android Markete je nutné, aby platnost certifikátu bola najmenej do 22 októbra Vygenerovanému kl úču treba ešte priradit heslo. Hotovú aplikáciu je možné exportovat do APT súboru pomocou vol by Export Signed Application Package priamo vo vývojom prostredí Eclipse. V d alšom kroku je nutné zvolit kl úč, ktorým chceme aplikáciu podpísat a zadat jeho heslo. Následne sa vytvorí podísaný APT súbor, ktorý je možné nainštalovat do zariadenia s operačným systémom Android. 34

42 Kapitola 4 Záver Ciel om práce bolo porovnat princípy a procesy tvorby a vývoja aplikácií na moderné mobilné platformy primárne Apple ios, Google Android, Microsoft Windows Phone 7, ale aj d alších (napríklad Blackberry, HP WebOS). Ďalej som porovnal vývoj natívnej aplikácie a webovej mobilnej aplikácie, pričom som sa zameral na výhody a nevýhody jednotlivých riešení. Predstavil som tiež možnosti pripravovaného štandardu značkovacieho jazyka HTML5, ktorý prináša množstvo noviniek do vývoja webových mobilných aplikácií. Následne som priblížil vybrané HTML5 rámce PhoneGap a Titanium, ktoré slúžia na tvorbu hybridných aplikácií. V praktickej časti som popísal návrh a následný postup pri tvorbe natívnej aplikácie RSS čítačky pre platformu Android. Tým som zároveň demonštroval štruktúru programu určeného pre túto platformu. 35

43 Literatúra [1] Alexander, S.: Building hybrid mobile applications with PhoneGap and IBM WebSphere Portlet Factory, IBM, 2011, [online], dostupné na < developerworks/websphere/zones/portal/portletfactory/proddoc/ phonegap/> [2] Titanium Mobile, Appcelerator, 2011, [online], dostupné na < titanium-mobile-application-development/> [3] Oehlman, D. a Blanc, S.: Pro Android Web Apps: Develop for Android using HTML5, CSS3 & JavaScript, Apress, 2011, , < , 2.6 [4] Blodget, H.: IT S OFFICIAL: The Smartphone Market Is Now Bigger Than The PC Market, Business Insider, 2011, [online], dostupné na < businessinsider.com/smartphone-bigger-than-pc-market >. 2 [5] Hefflinger, M.: Apple CEO Jobs Explains iphone Flash Ban in Open Letter, Digital Media Wire, Inc., 2010, [online], dostupné na < apple-ceo-jobs-explains-iphone-flash-ban-open-letter>. 2.6 [6] Gartner Says Worldwide Mobile Device Sales to End Users Reached 1.6 Billion Units in 2010; Smartphone Sales Grew 72 Percent in 2010, Gartner Inc., 2011, [online], dostupné na < 2 [7] O Grady, J.: The Google Phone Pocket Guide, Peachpit Press, 2009, , < 2.1 [8] Miles, R.: Windows Phone Programming in C#, 2011, [online], dostupné na < free-windows-phone-programming-books2.php> [9] Masár, F.: Nokia prenecháva Symbian spoločnosti Accenture, Mobilizujeme.sk, 2011, [online], dostupné na < nokia-prenechava-symbian-spolocnosti-accenture/> [10] Trangel, J.: Vel ký test Windows Phone 7: Úplne iný systém, Mobilmania, 2010, [online], dostupné na < velky-test-windows-phone-7-uplne-iny-system/sc-3-a / default.aspx>. 2.3 [11] Kilián, K.: Android Market překoná v létě Apple App Store v počtu aplikací, Svět Androida, 2011, [online], dostupné na < 2 36

44 [12] Wikipedia contributors: ios (Apple), Wikipedia, 2011, [online], dostupné na <http: //cs.wikipedia.org/wiki/ios_(apple)> [13] Dowsett, P. a Guntharp, T.: Getting Started with Titanium, Appcelerator, 2011, [online], dostupné na < Getting+Started+with+Titanium>

45 Dodatok A Ukážky kódu A.1 Trieda Article package cz.muni.fi.xtokar.rssreader; public class Article { private String title = null; private String guid = null; private String pubdate = null; private String description = null; public String gettitle() { return title; public void settitle(string title) { this.title = title; public String getguid() { return guid; public void setguid(string link) { this.guid = link; public String getpubdate() { return pubdate; public void setpubdate(string pubdate) { this.pubdate = pubdate; public String getdescription() { return description; public void setdescription(string description) { this.description = public String tostring() { if (title.length() > 49) { 38

46 A.2. TRIEDA RSSFEED return title.substring(0, 49) + "..."; return title; A.2 Trieda RSSFeed package cz.muni.fi.xtokar.rssreader; import java.util.arraylist; import java.util.list; public class RSSFeed { private String lastbuilddate = null; private List<Article> articlelist; public RSSFeed() { articlelist = new ArrayList<Article>(); public String getlastbuilddate() { return lastbuilddate; public void setlastbuilddate(string pubdate) { this.lastbuilddate = pubdate; public List<Article> getarticlelist() { return articlelist; public void setarticlelist(list<article> articlelist) { this.articlelist = articlelist; public void addarticle(article art) { articlelist.add(art); public Article getarticle(int index) { return articlelist.get(index); A.3 Metóda getfeed public RSSFeed getfeed(string urloffeed) { try { URL url = new URL(urlOfFeed); InputStream in = url.openstream(); 39

47 A.3. METÓDA GETFEED XmlPullParserFactory xppf = XmlPullParserFactory.newInstance(); xppf.setnamespaceaware(true); XmlPullParser xpp = xppf.newpullparser(); xpp.setinput(in, null); if (xpp == null) { Log.i(tag, "XPP is NULL"); in.close(); return null; Article temparticle = new Article(); int eventtype = xpp.geteventtype(); while (eventtype!= XmlPullParser.END_DOCUMENT) { String tagname = null; String uriname = null; switch (eventtype) { case XmlPullParser.START_DOCUMENT: feed = new RSSFeed(); break; case XmlPullParser.START_TAG: tagname = xpp.getname(); uriname = xpp.getnamespace(); if (tagname.equals("lastbuilddate")) { inlastbuilddate = true; else if (tagname.equals("item")) { initem = true; temparticle = new Article(); else if (tagname.equals("title") && initem && uriname.equals("")) { intitle = true; else if (tagname.equals("guid") && initem) { inguid = true; else if (tagname.equals("description") && initem) { indescription = true; else if (tagname.equals("pubdate") && initem) { inpubdate = true; break; case XmlPullParser.END_TAG: tagname = xpp.getname(); if (xpp.getname().equals("lastbuilddate")) { inlastbuilddate = false; else if (tagname.equals("item")) { initem = false; 40

48 A.4. TRIEDA SHOWARTICLE feed.addarticle(temparticle); else if (tagname.equals("title") && initem) { intitle = false; else if (tagname.equals("guid") && initem) { inguid = false; else if (tagname.equals("description") && initem) { indescription = false; else if (tagname.equals("pubdate") && initem) { inpubdate = false; break; case XmlPullParser.TEXT: if (inlastbuilddate) { feed.setlastbuilddate(cutstr(xpp.gettext())); else if (intitle && initem) { temparticle.settitle(xpp.gettext()); else if (inguid && initem) { temparticle.setguid(xpp.gettext()); else if (indescription && initem) { temparticle.setdescription(xpp.gettext()); else if (inpubdate && initem) { temparticle.setpubdate(cutstr(xpp.gettext())); break; eventtype = xpp.next(); in.close(); return feed; catch (Exception e) { Log.i(tag, "ERROR: " +e); return null; A.4 Trieda ShowArticle package cz.muni.fi.xtokar.rssreader; public class ShowArticle extends Activity { private static final int BLACK = ; private static final String header = "<html><head>" + "<style type=\"text/css\">" + "body {color: white;" + "a {color: #0099FF;" + ".date {color: #707070;" + " font-size: 10pt;" + "</style>" + "<meta http-equiv=\"content-type\" + 41

49 "content=\"text/html; charset=utf-8 \">" + "</head><body>"; private static final String footer = protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.show_article_webview); String body = null; Intent startingintent = getintent(); A.4. TRIEDA SHOWARTICLE if (startingintent!= null) { Bundle b = startingintent.getbundleextra("android.intent.extra.intent"); if (b == null) { body = "<p>bad bundle</p>"; else { body = "<h3>" + b.getstring("title") + "</h3>" + "<span class=\"date\">"+ b.getstring("pubdate") +"</span><p>" + b.getstring("description").replace( \n, ) + "<br /><br />More information:<br /><a href=\"" + b.getstring("quid") +"\">" + b.getstring("quid") + "</a></p>"; else { body = "<p>information Not Found.</p>"; WebView wv = (WebView) findviewbyid(r.id.storyboxweb); wv.setbackgroundcolor(black); wv.loaddata(header + body + footer, "text/html", "utf-8"); 42

50 Dodatok B Obrazová príloha B.1 Hlavná obrazovka aplikácie Obrázok B.1: Hlavná obrazovka aplikácie 43

51 B.2. OBRAZOVKA S DETAILOM ČLÁNKU B.2 Obrazovka s detailom článku Obrázok B.2: Obrazovka s detailom článku 44

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

}w!"#$%&'()+,-./012345<ya

}w!#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY }w!"#$%&'()+,-./012345

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

Vzory, rámce a webové aplikácie

Vzory, rámce a webové aplikácie Vzory, rámce a webové aplikácie Jakub Šimko jakub.simko@stuba.sk Návrhové vzory (načo slúžia?) 1. Dobré zvyky v programovaní 2. Riešia často sa opakujúce problémy praxou overeným spôsobom 3. Pomôžu nám

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

SIP v malých telekomunikačných systémoch. Convergence. A matter of lifestyle.

SIP v malých telekomunikačných systémoch. Convergence. A matter of lifestyle. SIP v malých telekomunikačných systémoch Convergence. A matter of lifestyle. Obsah Prehľad portfólia malých komunikačných systémov Aastra BusinessPhone - Úvod - Prehľad koncových telefónnych aparátov -

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

VZDÁLENÝ PŘÍSTUP K MOBILNÍM ZAŘÍZENÍM REMOTE ACCESS TO MOBILE DEVICES

VZDÁLENÝ PŘÍSTUP K MOBILNÍM ZAŘÍZENÍM REMOTE ACCESS TO MOBILE DEVICES VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS VZDÁLENÝ PŘÍSTUP

More information

Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive web applications using the Silverlight

Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive web applications using the Silverlight Bankovní institut vysoká škola Praha Zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive

More information

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu Inštalačná príručka Obsah 1 Predpoklady pre inštaláciu D.Signer... 3 1.1 Inštalácia.NET Framework... 3 1.1.1 Windows 8, 8.1... 4 1.1.2

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A REVIEW ON THE ARCHITECTURE OF ANDROID IN SMART PHONES RAVNEET KAUR T. BAGGA 1,

More information

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém Crestron Mercury Univerzálny Videokonferenčný a Kolaboračný systém Tradičná malá zasadacia miestnosť CRESTRON Mercury Videokonferenčná miestnosť Možnosť rezervácie miestnosti: Prostredníctvom MS Outlook

More information

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit. Fiber 5 Mbit ** 5 Mbit / Mbit 5,90 Fiber 50 Mbit * 50 Mbit / 8 Mbit 9,90 Fiber 80 Mbit * 80 Mbit / Mbit 5,90 Mini Mbit* Mbit / Mbit 9,90 Klasik 2 Mbit* 2 Mbit / 2 Mbit Standard 8 Mbit* 8 Mbit / 3Mbit Expert

More information

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga. Ochrana koncových staníc pomocou Cisco Security Agent 6.0 Ľubomír Varga lubomir.varga@lynx.sk Agenda CSA 6.0 refresh Vybrané vlastnosti CSA 6.0 Application Trust levels Notify User Rule Actions User Justifications

More information

Návod na odstránenie certifikátov so zrušenou platnosťou

Návod na odstránenie certifikátov so zrušenou platnosťou Návod na odstránenie certifikátov so zrušenou platnosťou Dátum zverejnenia: 7. 11. 2017 Verzia: 1 Dátum aktualizácie: Popis: Tento dokument je určený používateľom, ktorí elektronicky podpisujú dokumenty

More information

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

Mobile Programming. Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material

Mobile Programming. Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material Mobile Programming 1 Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material Web Services/Sites, like Foursquare where location, device camera, etc and local processing make

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

Prvky inovácie nových jazykov HTML5 a CSS3

Prvky inovácie nových jazykov HTML5 a CSS3 Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Prvky inovácie nových jazykov HTML5 a CSS3 The HTML5 and CSS3 innovations concepts

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY FYZIKY A INFORMATIKY. Moderné trendy pri tvorbe webových aplikácií

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY FYZIKY A INFORMATIKY. Moderné trendy pri tvorbe webových aplikácií UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY FYZIKY A INFORMATIKY Moderné trendy pri tvorbe webových aplikácií Bratislava 2007 Miloš Homola Moderné trendy pri tvorbe webových aplikácií DIPLOMOVÁ

More information

Tvorba informačných systémov. 4. prednáška: Návrh IS

Tvorba informačných systémov. 4. prednáška: Návrh IS Tvorba informačných systémov 4. prednáška: Návrh IS Návrh informačného systému: témy Ciele návrhu ERD DFD Princípy OOP Objektová normalizácia SDD Architektonické pohľady UML diagramy Architektonické štýly

More information

Tvorba webových stránok pre mobilné platformy

Tvorba webových stránok pre mobilné platformy Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Tvorba webových stránok pre mobilné platformy Diplomová práca Bc. Andrej Ševčík Apríl 2014 Bankovní institut vysoká škola Praha

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

JEDNODUCHÝ IS PRO MOBILNÍ TELEFONY PRO EVIDENCI HOVORŮ SIMPLE MOBILE PHONE IS FOR CALL EVIDENCE

JEDNODUCHÝ IS PRO MOBILNÍ TELEFONY PRO EVIDENCI HOVORŮ SIMPLE MOBILE PHONE IS FOR CALL EVIDENCE VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS JEDNODUCHÝ IS

More information

}w!"#$%&'()+,-./012345<ya

}w!#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY }w!"#$%&'()+,-./012345

More information

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky BGP - duálne prepojenie AS (primary + backup spoj), s IBGP, cez virtuální L2 linky Peter Jašica Abstrakt: Cieľom tohto projektu je zhotoviť a otestovať funkčnosť BGP s dvojitým prepojením Autonómnych systémov.

More information

Nové komunikačné trendy v dátových centrách

Nové komunikačné trendy v dátových centrách Nové komunikačné trendy v dátových centrách Martin Vozár Roman Benko 25. november 2009 Cisco Expo, Bratislava Agenda 1. Konvergovaná architektúra 2. Komponenty architektúry 3. AVNET demo LAB 2 / 17 Konvergovaná

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE MATERIÁLOVOTECHNOLOGICKÁ FAKULTA V TRNAVE

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE MATERIÁLOVOTECHNOLOGICKÁ FAKULTA V TRNAVE SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE MATERIÁLOVOTECHNOLOGICKÁ FAKULTA V TRNAVE APLIKÁCIA PRE SYNCHRONIZÁCIU SUGARCRM S MOBILNÝMI ZARIADENIAMI SO SYSTÉMOM ANDROID BAKALÁRSKA PRÁCA MTF-5262-47785

More information

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 INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Knižnica (framework) pre kreslenie grafov

Knižnica (framework) pre kreslenie grafov Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Katedra informatiky Knižnica (framework) pre kreslenie grafov Diplomová práca Bc. Tomáš DRIMAL Študijný odbor: 9.2.1 Informatika

More information

Android Overview. Most of the material in this section comes from

Android Overview. Most of the material in this section comes from Android Overview Most of the material in this section comes from http://developer.android.com/guide/ Android Overview A software stack for mobile devices Developed and managed by Open Handset Alliance

More information

UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE

UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE FAKULTA PRÍRODNÝCH VIED BEZPEČNOSŤ MOBILNÝCH ZARIADENÍ DIPLOMOVÁ PRÁCA 2017 Bc. JAN FRANCISTI UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE FAKULTA PRÍRODNÝCH VIED BEZPEČNOSŤ

More information

Xamarin písanie Android a ios aplikácií v C#

Xamarin písanie Android a ios aplikácií v C# www.dotnetcollege.cz Xamarin písanie Android a ios aplikácií v C# Roman Jašek Software Architect, Riganti s.r.o. MSP, MCP roman.jasek@riganti.cz Xamarin vs. Xamarin Forms ios C# UI Android C# UI Windows

More information

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No Marek BABIUCH *, Martin HNIK **

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No Marek BABIUCH *, Martin HNIK ** Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1680 Marek BABIUCH *, Martin HNIK ** USING TECHNOLOGY OF.NET WEB SERVICES IN THE AREA OF AUTOMATION

More information

Carfriend webová aplikácia pre hlásenie nežiadúcich situácií vzťahujúcich sa k vozidlám

Carfriend webová aplikácia pre hlásenie nežiadúcich situácií vzťahujúcich sa k vozidlám Mendelova univerzita v Brně Provozně ekonomická fakulta Carfriend webová aplikácia pre hlásenie nežiadúcich situácií vzťahujúcich sa k vozidlám Bakalárska práca Vedúci práce: Ing. Pavel Turčínek, Ph.D.

More information

Overené riešenia.

Overené riešenia. www.eset.sk Overené riešenia. Ultra-silná autentifikácia pre ochranu prístupu do siete a vašich dát ESET Secure Authentication poskytuje efektívnu autentifikáciu, ktorá ochráni vzdialený prístup do vašej

More information

Android Overview. Francesco Mercaldo, PhD

Android Overview. Francesco Mercaldo, PhD Android Overview Francesco Mercaldo, PhD Post-Doctoral researcher Corso di Sicurezza delle Reti e dei Sistemi Software Università degli Studi del Sannio (fmercaldo@unisannio.it) Things are not always what

More information

Mobile development initiation

Mobile development initiation Mobile development initiation Outline Mobile development: o Why? o How? o New issues Android ios 2 Mobile growth ¼ Internet access Sales of smartphones and tablets increase o + 70% tab Community 3 Why

More information

POKROČILÉ C++ Marian Vittek

POKROČILÉ C++ Marian Vittek POKROČILÉ C++ Marian Vittek vittek@fmph.uniba.sk O predmete Pôvodne seminár Teraz normálna prednáška so skúškou/testom Predmetom kurzu je detailnejší pohľad na jazyk C++ a občasné porovnanie s inými programovacími

More information

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

DROID. By S.Gokulakrishnan AP/CSE SCSVMV Mobile Applicatio on Development with AND DROID By S.Gokulakrishnan AP/CSE SCSVMV The Players Android Open source mobile OS developed ny the Open Handset Alliance led by Google. Based on Linux 2.6 kernel

More information

SMARTPHONE FAKULTA INFORMAČNÍCH TECHNOLOGIÍ BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS

SMARTPHONE FAKULTA INFORMAČNÍCH TECHNOLOGIÍ BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS ZABEZPEČENÁ KOMUNIKACE

More information

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Závereč ný workshop projektu INEDU-GOV Inovatívne vzdelávanie pracovníkov

More information

Introduction To Android

Introduction To Android Introduction To Android Mobile Technologies Symbian OS ios BlackBerry OS Windows Android Introduction to Android Android is an operating system for mobile devices such as smart phones and tablet computers.

More information

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL LED svietidlá na osvetlenie športovísk MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL SPORT LL SPORT je sofistikované vysoko výkonné LED svietidlo špeciálne

More information

AR6181-MX, AR6182-MX Čítačky MIFARE kariet

AR6181-MX, AR6182-MX Čítačky MIFARE kariet AR6181-MX, AR6182-MX Čítačky MIFARE kariet ISO14443-A, ISO14443-B a ISO15693 Systém kontroly vstupu 13,56 MHz proximity technológia Jednoduchá konfigurácia čítačky použitím konfiguračnej karty Možnosť

More information

DOPLNĚK PRO PROHLÍŽEČE PRO DETEKCI A ZP- RACOVÁNÍ AUDIO A VIDEO STREAMŮ BROWSER EXTENSION FOR AUDIO/VIDEO STREAM PROCESSING

DOPLNĚK PRO PROHLÍŽEČE PRO DETEKCI A ZP- RACOVÁNÍ AUDIO A VIDEO STREAMŮ BROWSER EXTENSION FOR AUDIO/VIDEO STREAM PROCESSING VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Nový Office. Pre stredné a veľké podniky. Služba. Ovládanie dotykom. zariadenie

Nový Office. Pre stredné a veľké podniky. Služba. Ovládanie dotykom. zariadenie Nový Office Pre stredné a veľké podniky. Na každé zariadenie Roaming Ovládanie dotykom Služba Hlavné zásady Porovnanie balíkov Office 365 a Office 2013 Office 365 Multilicencia Office 2013 Nový Office

More information

}w!"#$%&'()+,-./012345<ya

}w!#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY }w!"#$%&'()+,-./012345

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2.

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2. 1. ELASTIX inštalácia 2 2. Elastix konfigurácia 8 2.1 Nastavenie užívateľských kont 9 2.2 Pridanie nových užívateľských kont 10 2.3 InstantMessaging and presence 12 2.4 TLS 12 2.5 Conference 12 3. Záver

More information

}w!"#$%&'()+,-./012345<ya

}w!#$%&'()+,-./012345<ya Masarykova univerzita Fakulta informatiky }w!"#$%&'()+,-./012345

More information

Aplikácia k určovaniu rastlín pre platformu ios

Aplikácia k určovaniu rastlín pre platformu ios Mendelova univerzita v Brně Provozně ekonomická fakulta Aplikácia k určovaniu rastlín pre platformu ios Bakalárska práca Vedúci práce: Ing. Dita Dlabolová Jakub Kozák Brno 2014 Na tomto mieste by som

More information

Poradové a agregačné window funkcie. ROLLUP a CUBE

Poradové a agregačné window funkcie. ROLLUP a CUBE Poradové a agregačné window funkcie. ROLLUP a CUBE 1) Poradové a agregačné window funkcie 2) Extrémy pomocou DENSE_RANK(), TOP() - Príklady 3) Spriemernené poradia 4) Kumulatívne súčty 5) Group By a Datepart,

More information

Coordinates ordering in parallel coordinates views

Coordinates ordering in parallel coordinates views Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Coordinates ordering in parallel coordinates views Bratislava, 2011 Lukáš Chripko Univerzita Komenského v Bratislave Fakulta

More information

Úvod do C# ERIK KUČERA METÓDY VÝPOČTOVEJ INTELIGENCIE PREDNÁŠKA 1

Úvod do C# ERIK KUČERA METÓDY VÝPOČTOVEJ INTELIGENCIE PREDNÁŠKA 1 Úvod do C# ERIK KUČERA METÓDY VÝPOČTOVEJ INTELIGENCIE PREDNÁŠKA 1 Vyššie programovacie jazyky vo výpočtovej inteligencii C# Programovací jazyk C# 5-6 týždňov Moderný objektovo orientovaný jazyk Použiteľný

More information

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals... Desatinné čísla #1a Mravec išiel 5,5 cm presne na sever, potom 3,4 cm na východ, 1,8 cm na juh, 14,3 cm na západ, 1,3 cm na sever a 10,9 cm na východ. Najmenej koľko cm musí teraz prejsť, aby sa dostal

More information

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec Problém Big Data a ako ho riešiť pomocou NoSQL Ján Zázrivec Softec Dáta dnešného sveta Oblasti kde sa spracováva veľké množstvo dát: Internet Web vyhľadávače, Sociálne siete Veda Large Hadron Collider,

More information

INTERNET. História internetu

INTERNET. História internetu INTERNET 1 Úvod Internet je celosvetová počítačová sieť. Je všade okolo, ale nepatrí nikomu, nikto ho neriadi. Internet predstavuje najväčšie množstvo informácií dostupných z jedného miesta. Internet tvoria

More information

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová Ochrana proti DDoS za použitia open-source software Katarína Ďurechová katarina.durechova@nic.cz 30.11.2013 Distributed Denial of Service odopretie služby dosiahnutím limitu pripojenia sieťovej karty CPU

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS

More information

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? Budúcnosť je jasná, budúcnosť sú distribuované verziovacie systémy... alebo centralizované??? Balázs Nagy Slovenská technická univerzita

More information

Cross-Platform Mobile Application Development

Cross-Platform Mobile Application Development Cross-Platform Mobile Application Development Anirudh Nagesh, MS Student School of Information Studies, Syracuse University anagesh@syr.edu Carlos E. Caicedo, Assistant Professor School of Information

More information

MONITOROVÁNÍ NEELEKTRICKÝCH VELIČIN S VY- UŽITÍM BLUETOOTH LOW ENERGY

MONITOROVÁNÍ NEELEKTRICKÝCH VELIČIN S VY- UŽITÍM BLUETOOTH LOW ENERGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS MONITOROVÁNÍ NEELEKTRICKÝCH

More information

BAKALÁŘSKÁ PRÁCE. Mobilní komunikační software

BAKALÁŘSKÁ PRÁCE. Mobilní komunikační software Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Martin Kontsek Mobilní komunikační software Ústav formální a aplikované lingvistiky Vedoucí bakalářskej práce: Mgr. Pavel Machek

More information

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Podpora CRM informačným systémom OpenERP DIPLOMOVÁ PRÁCA Bc. Ľuboš Láska Brno, 2013 Prehlásenie Prohlašuji, že tato práce je mým původním autorským dílem, které

More information

WEBOVÁ PLATFORMA PRE TVORBU HIER WEB PLATFORM FOR GAME DEVELOPMENT

WEBOVÁ PLATFORMA PRE TVORBU HIER WEB PLATFORM FOR GAME DEVELOPMENT VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS WEBOVÁ PLATFORMA

More information

Grid Computing Implementácia služby v Globus Toolkite (Diplomová práca)

Grid Computing Implementácia služby v Globus Toolkite (Diplomová práca) Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava Grid Computing Implementácia služby v Globus Toolkite (Diplomová práca) Bc. Peter Bajči Školiteľ: RNDr. Andrej

More information

VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK. Karol Schütz, S&T Slovakia

VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK. Karol Schütz, S&T Slovakia VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK Karol Schütz, S&T Slovakia Agenda Časť Časť Časť Časť Časť Časť Časť 1 Aký je súčasný stav v oblasti ukladania dát 2 Aké sú požiadavky na súčasný storage 3 Aké sú technologické

More information

OPERAČNÝ SYSTÉM WINDOWS NT

OPERAČNÝ SYSTÉM WINDOWS NT OS 1 prednáška 9 OPERAČNÝ SYSTÉM WINDOWS NT Existuje mnoho rôznych verzií systémov Microsoft Windows, pričom operačný systém Microsoft Windows NT/2000/XP je rodinou úplne odlišnou od Windows 95/98/Me (skrátene

More information

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 INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS JEDÁLNY LÍSTOK

More information

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 INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Absolvování individuální odborné praxe Individual Professional Practice in the Company

Absolvování individuální odborné praxe Individual Professional Practice in the Company VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Absolvování individuální odborné praxe Individual Professional Practice in the Company 2014 Peter Slivoš Prehlasujem,

More information

MS Exchange 2010 Prechod Ing. Peter Záhradník

MS Exchange 2010 Prechod Ing. Peter Záhradník MS Exchange 2010 Prechod Ing. Peter Záhradník Gratex Support Center support@gratex.com Exchange 2010 o com to bude? Tato prezentacia bude pre ludi co uvazuju nad prechodom na novy Exchange zopar otazok

More information

HTML5 Mobile App Development

HTML5 Mobile App Development HTML5 Mobile App Development Carl Stehle Appception, Inc. carl@appception.com 650.938.8046 April, 2013 Market Mobile App Market August 2010: Research2guidance: 1.7B (2009), 2.2B (1 st half 2010) April

More information

Mobile Development June 2015, TEIATH, Greece

Mobile Development June 2015, TEIATH, Greece Mobile Development June 2015, TEIATH, Greece Presentation Overview 1. Introduction 2. Mobile Application Development 3. Cordova / Phonegap 4. Development Framework 5. Examples 1. INTRODUCTION Introduction

More information

Programové vybavenie - softvér. Funkcie operačného systému

Programové vybavenie - softvér. Funkcie operačného systému Programové vybavenie - softvér Funkcie operačného systému Softvér Softvér (software) programové vybavenie počítača. Vzniká programovaním, pričom každý počítačový program obsahuje postupnosť inštrukcií,

More information

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU Introduction to Android Application Development Mike Kvintus Principal Engineer JDSU Agenda Android Background What is Android? Android Fundamentals Getting Started with App Development Demo Tips/Links

More information

IJRDTM Kailash ISBN No Vol.17 Issue

IJRDTM Kailash ISBN No Vol.17 Issue ABSTRACT ANDROID OPERATING SYSTEM : A CASE STUDY by Pankaj Research Associate, GGSIP University Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

More information

Supported Devices, OS, and Browsers

Supported Devices, OS, and Browsers Kony Visualizer Supported Devices, OS, and Browsers Release V8 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated

More information

Platforma průmyslové spolupráce

Platforma průmyslové spolupráce Platforma průmyslové spolupráce CZ.1.07/2.4.00/17.0041 Název CEP portál pro simulaci Popis a využití komplexní zpracování událostí (CEP) aplikace pro spouštění CEP pravidel a sledování výstupů na předpřipraveném

More information

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Android App Development Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Mobile devices (e.g., smartphone, tablet PCs, etc.) are increasingly becoming an essential part of human life

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY. Fakulta informačních technologií Faculty of Information Technology

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY. Fakulta informačních technologií Faculty of Information Technology VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY Fakulta informačních technologií Faculty of Information Technology BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS Brno, 2016 Tomáš Kello VYSOKÉ UČENÍ TECHNICKÉ

More information

Peter Šantavý OPEN SOURCE

Peter Šantavý OPEN SOURCE Peter Šantavý OPEN SOURCE Sloboda Myš lienka slobodného softvéru vyviera z hlboko zakorenenej túžby v človeku po slobode - v konaní, myslení i narábaní s prostriedkami jeho každodennej potreby. Zároveň

More information

Android Development Tutorial. Yi Huang

Android Development Tutorial. Yi Huang Android Development Tutorial Yi Huang Contents What s Android Android architecture Android software development Hello World on Android More 2 3 What s Android Android Phones Sony X10 HTC G1 Samsung i7500

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU Diplomová práca 2017 Bc. Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR Pre efektívne riadenie celého projektu je potrebné merať jeho veľkosť Ondrej Jurčák Slovenská technická univerzita Fakulta informatiky a informačných technológií

More information