Vývoj aplikací na platformě Windows Mobile. Vysoká škola ekonomická v Praze. Fakulta informatiky a statistiky. Katedra informačních technologií

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

Download "Vývoj aplikací na platformě Windows Mobile. Vysoká škola ekonomická v Praze. Fakulta informatiky a statistiky. Katedra informačních technologií"

Transkript

1 Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií Studijní program: Aplikovaná informatika Obor: Informační systémy a technologie Diplomant: Vedoucí diplomové práce: Oponent diplomové práce: Bc. Marek Novotný doc. Ing. Alena Buchalcevová, Ph.D. Ing. Vladimír Selčan Vývoj aplikací na platformě Windows Mobile školní rok 2009/2010

2 Prohlášení Prohlašuji, že jsem diplomovou práci zpracoval samostatně a že jsem uvedl všechny použité prameny a literaturu, ze kterých jsem čerpal. V Praze dne. podpis Vývoj na platformě Windows Mobile Strana 2 z 112

3 Poděkování Rád bych poděkoval paní doc. Ing. Aleně Buchalcevové, Ph.D., že mi vyšla vstříc a umožnila mi psát o vlastním tématu. Stejně tak jí děkuji za vstřícnost a akceptování časového harmonogramu psaní práce a za odborné vedení práce. Dále bych rád poděkoval rodině a Bc. Šárce Matuškové za podporu při celém studiu. Vývoj na platformě Windows Mobile Strana 3 z 112

4 Abstrakt Abstrakt Tato práce pojednává o vývoji mobilních aplikací pro platformu Windows Mobile. Obsahuje přehled ostatních mobilních platforem (mobilních operačních systémů) a srovnávací tabulku podle vybraných kategorií, aby si mohl čtenář udělat představu i o ostatních platformách. Součástí práce je také přehled technologií pro vývoj, který je podpořen srovnávací tabulkou. Hlavním cílem je navržená metodika vývoje mobilních aplikací pro platformu Windows Mobile. Pro upřesnění nejdůležitějších specifik slouží pak samostatné kapitoly popisující tato specifika. Jedná se o návrh uživatelského rozhraní pro mobilní aplikace, kde je kladen zřetel na způsob ovládání, protože pro každý způsob ovládání by měl být návrh uživatelského rozhraní rozdílný. Dalším rozebíraným specifikem je testování aplikací v Microsoft Device Emulatoru V3, čemuž předchází popis tohoto nástroje pro testování a možnosti jeho nastavení. Pro demonstraci metodiky je součástí práce také praktický příklad, který znázorňuje postupně vybrané kroky korespondující s fázemi metodiky a vykonávání jednotlivých činností. V příloze se nacházejí tabulky, které vystihují jednotlivé fáze metodiky s popisem jejich cíle, rolí a jim přiřazených činností a jaké jsou vstupy a výstupy této fáze. Klíčová slova: Windows Mobile, technologie pro vývoje, metodika vývoje, specifika GUI, Microsoft Device Emulator Vývoj na platformě Windows Mobile Strana 4 z 112

5 Abstrakt Abstract This thesis treats of the development of mobile applications for Windows Mobile platform. It contains a list of other mobile platforms (mobile operating systems) and a comparative table according to selected categories, so that readers can get an idea of other platforms. Part of this thesis is an overview of technologies for development, which is supported by the comparative table. The main objective is to propose a methodology of mobile application development for platform Windows Mobile. To clarify the most important specifics serves the separate chapters describing these specifics. It is about the design of user interface for mobile applications, where attention is placed on the method of operating, because for each method of operating should be a different user interface design. Another specific feature, which is discussed in my thesis, is testing applications in Microsoft Device Emulator V3, this precedes the description of this tool for testing and the possibilities of its settings. To demonstrate the methodology the thesis contains the practical example illustrating the gradual steps corresponding to the phases of the methodology and execution of activities. In the annex are tables describing the various phases of the methodology, a description of their objectives, roles and them associated activities and what are the inputs and outputs of this phase. Key words: Windows Mobile, development technologies, methodology for development, specifics of mobile GUI, Microsoft Device Emulator Vývoj na platformě Windows Mobile Strana 5 z 112

6 Obsah OBSAH 1 ÚVOD VYMEZENÍ TÉMATU DŮVOD VÝBĚRU TÉMATU VYMEZENÍ ZÁKLADNÍCH POJMŮ CÍLE PRÁCE OČEKÁVANÉ VLASTNÍ PŘÍNOSY PŘEDPOKLADY A OMEZENÍ PRÁCE KOMU JE PRÁCE URČENA MOBILNÍ PLATFORMY WINDOWS MOBILE (PHONE) SYMBIAN OS GOOGLE ANDROID IPHONE OS BLACKBERRY WEBOS (PALMOS) SHRNUTÍ PŘEHLEDU MOBILNÍCH PLATFOREM Srovnávací tabulka platforem Důvody pro výběr platformy Windows Mobile POPIS PLATFORMY WINDOWS MOBILE (PHONE) HISTORIE WINDOWS MOBILE NOVINKY VE VERZI CHARAKTERISTIKA PLATFORMY Hardwarový pohled Softwarový pohled MOŽNOSTI VÝVOJE PRO PLATFORMU WINDOWS MOBILE NATIVNÍ APLIKACE Visual C ŘÍZENÉ APLIKACE Java Micro Edition JavaFX Mobile NET Compact Framework OpenNetCF (Smart Device Framework) WEBOVÉ APLIKACE, RIA APLIKACE Webové aplikace Flash lite Silverlight SHRNUTÍ PŘEHLEDŮ TECHNOLOGIÍ PRO VÝVOJ Vývoj na platformě Windows Mobile Strana 6 z 112

7 Obsah Srovnávací tabulka technologií pro vývoj Důvody výběru technologie pro vývoj METODIKA VÝVOJE PRO PLATFORMU WINDOWS MOBILE NÁVRH METODIKY FÁZE METODIKY Úvodní studie Analýza Návrh Implementace Testování Nasazení ROLE Analytik Datový specialista Grafik Programátor Specialista na mobilní technologie Specialista na UI Sponzor Tester Vedoucí projektu DIMENZE Hardware Software Uživatelské rozhraní Data/Informace NÁVRH UŽIVATELSKÉHO ROZHRANÍ NÁVRH GUI PRO OVLÁDÁNÍ POMOCÍ DOTYKOVÉHO PERA NÁVRH GUI PRO OVLÁDÁNÍ POMOCÍ PRSTŮ NÁVRH GUI PRO OVLÁDÁNÍ BEZ DOTYKOVÉHO DISPLEJE ZÁVISLOST NÁVRHU GUI PODLE VELIKOSTI DISPLEJE PRÁCE S DATY DATA V SOUBORECH Přístup v.net Compact Frameworku DATA VE FORMÁTU XML Práce s XML v.net Compact Frameworku DATA V DATABÁZÍCH Práce s SQLCE v.net Compact Frameworku LANGUAGE INTEGRATED QUERY (LINQ) MOŽNOSTI TESTOVÁNÍ MOBILNÍCH APLIKACÍ Vývoj na platformě Windows Mobile Strana 7 z 112

8 Obsah 8.1 POPIS MOŽNOSTÍ V MICROSOFT DEVICE EMULATOR V Hlavní nastavení Nastavení displeje Nastavení připojení Nastavení periferií PRAKTICKÁ ČÁST VYMEZENÍ PŘÍKLADU POPIS APLIKACE ANALÝZA Konceptuální diagram tříd Diagram užití NÁVRH Deployment diagram Databázový diagram Designový diagram tříd Návrh GUI IMPLEMENTACE Vybrané ukázky kódu Testování aplikace v emulátoru ZÁVĚR POUŽITÉ ZDROJE A LITERATURA TERMINOLOGICKÝ SLOVNÍK PŘÍLOHY PŘÍLOHA A PŘÍLOHA B Windows Mobile Windows Mobile Windows Mobile 6.1 (6.1.4) Windows Mobile PŘÍLOHA C Úvodní studie Analýza Návrh Implementace Testování Nasazení Vývoj na platformě Windows Mobile Strana 8 z 112

9 Úvod 1 Úvod Většina lidí v rozvinutých zemích dnes vlastní jedno či více mobilních zařízení. Mobilní zařízení může být např. GPS navigace, mobilní telefon, chytrý telefon (z anglického originálu Smartphone), PDA či jiný typ komunikátoru. Tato zařízení se snaží nabídnout co nejvíce funkcí svému uživateli. Proto najdeme na trhu zařízení, která nabízejí funkce telefonu, diáře, GPS navigace, fotoaparátu, datového připojení a další. Jedná se zejména o trh mobilních telefonů, PDA a Smartphone. Je to způsobeno dlouhodobým trendem výrobců, kteří se snaží integrovat co nejvíce funkcí do těchto vyráběných zařízení. Výrobci ostatních zařízení nechtějí zůstat pozadu. Aby neztráceli tržní podíl, začínají také integrovat další funkce do svých zařízení. Dostanou se tak na trh např. GPS navigace a digitální fotoaparáty, které umožňují telefonovat a nabízejí datová připojení. Každé z těchto zařízení má nějaký svůj operační systém, který jej umožňuje ovládat. Operační systém umožňuje rozšíření či nahrazení své stávající nabídky funkcí dohráním dalších aplikací. Mobilní aplikace se nazývají mobilními, právě podle toho, že běží na mobilním zařízení. Mobilní aplikace jsou dnes velice důležité, protože umožňují často vykonat práci, kterou bylo dříve možné provést pouze fyzickou přítomností na místě výkonu práce anebo za pomoci počítače a vzdáleného připojení. Je to dáno tím, že tyto aplikace mají k dispozici vyspělou komunikační technologii, zejména datová připojení. Mobilní aplikace často neumožňuje takový komfort v ovládání a výkon jako např. aplikace, které běží běžně na stolních a přenosných počítačích. V tom spočívají také specifika vývoje mobilních aplikací. Proto je nutné si dobře rozmyslet před vývojem mobilní aplikace, zda bude pro obsluhu požadovaných funkcí k dispozici dostatečný výkon, možnost přizpůsobení GUI (grafické uživatelské rozhraní) a hlavně také jestli poskytuje cílové zařízení funkcionalitu, která je nutná k provozu plánovaných funkcí aplikace. Vývoj na platformě Windows Mobile Strana 9 z 112

10 Úvod 1.1 Vymezení tématu Práce se zabývá vývojem aplikací pro platformu Windows Mobile, konkrétně pomocí hardwarově nezávislého prostředí.net Compact Framework, které umožňuje vytvářet a provozovat řízené aplikace. Počet zařízení s operačním systémem Windows Mobile neustále roste a.net Compact Framework je v tomto operačním systému integrován. Aplikace jsou především o zpracování dat a jejich poskytování uživateli. Práce s daty a přístup k nim je tedy také nedílnou součástí vývoje aplikace. V.NET frameworku je nejpoužívanějším jazykem C#, proto jsou příklady v této práci psány v tomto jazyce. 1.2 Důvod výběru tématu Téma Vývoj aplikací na platformě Windows Mobile jsem si vybral, protože mě oblast mobilních zařízení zajímá. Na trhu je několik mobilních platforem a každá platforma nabízí řešení pro vývoj aplikací. Navíc se možnosti vývoje mobilních aplikací stále vyvíjejí, a tak je důležité tyto možnosti zmapovat. Jelikož je na trhu operačních systémů hlavní platformou Microsoft Windows, vybral jsem platformu Windows Mobile jako hlavní pro analýzu možností vývoje aplikací. K demonstraci příkladů jsem vybral.net Compact Framework, protože vychází z moderního principu OOP 1 a nabízí snadný způsob vývoje, zejména při využití integrovaného vývojového prostředí Visual Studio Vymezení základních pojmů Pro správné pochopení práce je nutné vymezit základní pojmy, protože některé termíny se v různých oblastech používají s různým významem. Mobilní zařízení tento termín označuje zařízení, které splňuje požadavky na mobilitu. Jde především o přizpůsobené ovládání ztíženým podmínkám, ve kterých je mobilní zařízení používáno a dále jde o adekvátní rozměry zařízení, aby zařízení splňovalo požadavky na mobilitu. Každý má však jinou představu, co ještě je a co není mobilní zařízení z hlediska rozměrů. Nelze tedy přesně stanovit rozměry zařízení, podle kterých by se zařízení posuzovalo jako mobilní. Avšak 1 OOP Objektově Orientované Programování Vývoj na platformě Windows Mobile Strana 10 z 112

11 Úvod např. rozdíl mezi notebookem či mobilním telefonem je rozměrově znatelný a přesto lze obě zařízení nazvat mobilními. V této práci bude za mobilní zařízení považováno takové zařízení, které se svými rozměry pohybuje na úrovni mobilních telefonů. Patří sem tedy mobilní telefony, PDA, MDA, Smartphone, GPS navigace, multimediální přehrávače apod. Mobilní platforma obecně je pod termínem platforma v oboru IT/ICT označována buď soustava hardwarových komponent anebo softwarový framework. U hardwarového označení jde o soustavu komponent tvořících jeden celek. Na těchto hardwarových platformách běží různé typy operačních systémů. Tyto operační systémy jsou také chápany jako platformy, protože slouží jako prostředek ke spouštění aplikací, které mohou být psány pro více platforem. Z tohoto pohledu je dále nutné zmínit, že jako platformu lze označit i frameworky, které slouží pro vývoj a provozování aplikací pomocí virtuálních strojů. Ze softwarového hlediska jsou tedy platformy i JavaME či.net Compact Framework. V této práci je za platformu považován operační systém Windows Mobile jakožto prostředek, který běží na různých typech mobilních zařízení a umožňuje provozování aplikací, které jsou vyvíjené pomocí dostupných technologií pro tuto platformu. Za technologie pro vývoj jsou tak označeny v kontextu této práce i JavaME a.net Compact Framework, které by jinak v širším kontextu byly považovány za platformu. Je to z důvodu, že je jejich využití uvažováno pouze pro jednu konkrétní platformu. Virtuální stroj - jedná se o prostředek, který slouží k provozu aplikací, které jsou psány nezávisle na prostředí, v kterém mají být provozovány. Tyto aplikace jsou přeloženy do mezikódu, který je až při spuštění v konkrétním prostředí přeložen či částečně překládán za běhu aplikací do strojového kódu tohoto prostředí. Pro každé prostředí, ve kterém má být aplikace provozována, musí být k dispozici tento virtuální stroj. Tento princip využívají např. softwarové frameworky Java a.net framework a na nich postavené mobilní frameworky JavaME a.net Compact Framework. Mobilní aplikace - tento termín označuje aplikaci běžící na některém z mobilních zařízení. Mobilní aplikace se vyznačují především tím, že umožňují svému uživateli vykonat práci kdekoliv, kde má mobilní zařízení a vyžadované dostupné technologie. Vývoj na platformě Windows Mobile Strana 11 z 112

12 Úvod Mobilní aplikace je vyvíjená nejčastěji pro konkrétní platformu. Architektura mobilních aplikací se může skládat ze všech vrstev a komponent, které jsou zobrazeny na obrázku (Obrázek 1.3-1), ale nutně je nemusí obsahovat všechny. Obrázek Architektura mobilních aplikací (1 str. 9) Vývoj na platformě Windows Mobile Strana 12 z 112

13 Úvod 1.4 Cíle práce Hlavním cílem diplomové práce je návrh vlastní metodiky vývoje mobilních aplikací na platformě Windows Mobile. Tato metodika vychází z metodiky Multidimensional Management and Development of Information System (MMDIS) (2) a je přizpůsobena na potřeby vývoje aplikací pro mobilní zařízení s operačním systémem Windows Mobile. Dílčí cíle, které umožňují splnit hlavní cíl práce, jsou: vybrat vhodné části z metodiky MMDIS (fáze a dimenze), přizpůsobit vybrané části pro potřeby vývoje na mobilní zařízení pro platformu Windows Mobile, provést analýzu mobilních platforem z pohledu možnosti vytváření aplikací a vytvořit srovnávací tabulku pro porovnání jednotlivých mobilních platforem podle vybraných atributů, provést analýzu možností vývoje pro platformu Windows Mobile a vytvořit srovnávací tabulku pro porovnání těchto technologií pro vývoj. 1.5 Očekávané vlastní přínosy Hlavním přínosem diplomové práce je vytvoření vlastní metodiky vývoje mobilních aplikací pro platformu Windows Mobile. Přínosem práce je také: srovnávací tabulka mobilních platforem z hlediska vývoje podle předem vymezených atributů, srovnávací tabulka technologií pro vývoj pro platformu Windows Mobile, která je určena pro výběr vhodné technologie, závěrečný příklad, na kterém bude demonstrován vývoj vzorové aplikace pro platformu Windows Mobile. Vývoj na platformě Windows Mobile Strana 13 z 112

14 Úvod 1.6 Předpoklady a omezení práce U čtenářů se předpokládá orientace v oboru IT/ICT, znalost jazyka C# a dotazovacího jazyka SQL 2 pro relační databáze. Bloky programového kódu v práci, které demonstrují jednotlivé příklady, jsou totiž psány v jazyce C#. V souvislosti s jazykem C# je předpokládána i znalost principů objektově orientovaného programování (OOP), protože na tom je C# postaven. U příkladů, které demonstrují práci s databází je využíván dotazovací jazyk SQL. 1.7 Komu je práce určena Cílovou skupinou čtenářů této práce jsou zájemci o vývoj na mobilní platformě Windows Mobile. Jako konkrétní technologie pro vývoj je vybrána technologie.net Compact Framework a jazyk C#. Pro práci s daty je pak vzhledem k vybrané technologii vybrán SQL Server Compact Edition. Práce je tedy určena pro čtenáře, které tyto technologie zajímají nebo plánují jejich využití a chtějí se s nimi seznámit. Zároveň je jim nabídnuta metodika vývoje, kterou tato práce zpracovává. 2 SQL Structured Query Language dotazovací jazyk relačních databází Vývoj na platformě Windows Mobile Strana 14 z 112

15 Mobilní Platformy 2 Mobilní Platformy V této kapitole jsou představeny mobilní platformy, pro které je možné vyvíjet aplikace. Čtenář má tak možnost udělat si přehled o tom, s jakými platformami se může v současnosti na trhu setkat a jaký jazyk a nástroj lze použít k vývoji pro tyto platformy. Na konci kapitoly se nachází srovnávací tabulka (Tabulka 2.7-1) jednotlivých platforem. Srovnávanými atributy jsou historický vznik platformy, vydání poslední verze OS, možnosti vývoje aplikací z pohledu jejich provozování, technologie pro vývoj, vývojová prostředí. 2.1 Windows Mobile (Phone) Platforma Windows Mobile již prošla dlouhým vývojem. První verze se objevila v roce 2000 pod názvem PocketPC Poslední verze operačního systému je aktuální verze 6.5. Za tu dobu se změnil několikrát jak název, tak i číslování verzí. V říjnu roku 2009 došlo zatím k poslední změně názvu 3 celé platformy k příležitosti vydání verze 6.5. I tato poslední verze staví na jádře Windows CE 5.2 jako verze předešlá. 4 Tato nová verze zareagovala na stále se zvyšující postavení telefonu iphone od společnosti Apple a dalších zařízení s dotykovým displejem, které jsou uzpůsobeny pro ovládání prsty. Celkové zrychlení odezvy při ovládání systému a integrace dotykových gest a celkové uzpůsobení systému pro ovládání systému prstem místo dotykového pera jsou tak hlavními novinkami poslední verze. Pro operační systém Windows Mobile lze aplikace vyvíjet nativně v C++, pomocí řízeného kódu v.net Compact Frameworku (jazyky Visual Basic a C#), Flash lite, Java ME, JavaFX a v blízké době i pomocí technologie Silverlight. Následující obrázky (Obrázek 2.1-1, Obrázek 2.1-2) znázorňují standardní obrazovku tohoto mobilního operačního systému při různých orientacích displeje. 3 Od verze 6.5 se pojmenování celé platformy mění na Windows Phone (31) 4 Předchozí verze - Windows Mobile 6.1 Vývoj na platformě Windows Mobile Strana 15 z 112

16 Mobilní Platformy 2.2 Symbian OS Obrázek (vlevo) - Today obrazovka v zobrazení na šířku Obrázek (vpravo) - Today obrazovka v zobrazení na výšku Operační systém Symbian je pokračovatelem operačního systému EpocOS resp. Psion. Tato platforma patří mezi vůbec nejstarší platformy mobilních zařízení, především Smartphones. Dnes můžeme najít několik tzv. sérií (S60,S80,S90,UIQ) na mobilních telefonech různých výrobců (Nokia, Sony Ericsson, Motorola). Jedná se o již prověřenou platformu. Má širokou základnu uživatelů, majitelů telefonů značek již dříve zmíněných. Především se ale jedná o majitele zařízení Smartphone značky Nokia. Tento operační systém nabízí podporu jak dotykových displejů, tak i dalších v současnosti moderních technologií jako např. GPS. Aplikace lze vyvíjet pomocí C++, Java ME,.NET k čemuž je zapotřebí mít nainstalovaný Net60 (což je runtime, který umožňuje spouštět aplikace vytvořené v.net Compact Frameworku 2.0 v prostředí operačního systému Symbian), Flash lite, Python a dokonce i Ruby. (3) Následující obrázek (Obrázek 2.2-1) znázorňuje standardní obrazovku tohoto mobilního operačního systému. Vývoj na platformě Windows Mobile Strana 16 z 112

17 Mobilní Platformy 2.3 Google Android Obrázek Základní obrazovka operačního systému Symbian (4) Mobilní platforma, kterou představila světoznámá společnost Google, nabízí další vyspělé řešení provozu mobilních zařízení s možností provozování aplikací třetích stran. Jedná se o operační systém založený na operačním systému Linux. Jelikož Google Android vznikal až v době, kdy Windows Mobile již několik let existoval, tak se snažil vzít si samozřejmě z něho to nejlepší, ale zároveň odstranit největší neduhy, které byly v tomto případě v podobě ovládání pouze pomocí dotykového pera. Inspiroval se také u konkurenčního zařízení iphone a nabízí také podporu co nejsnadnějšího a uživatelsky nejpřívětivějšího ovládání dotykovými gesty, ač také jako u Windows Mobile s absencí multitouch 5 ovládání (více o tomto tématu v popisu platformy iphone). V současné době je tento operační systém na vzestupu a čím dál více výrobců se o toto řešení začíná zajímat. Jsou to i výrobci klasických mobilních telefonů jako Nokia či Sony Ericsson a Motorola, kteří plánují uvedení zařízení s tímto operačním systémem, který tak nahradí jejich stávající řešení a udělá tak z klasických mobilních telefonů zařízení Smartphone či PDA. Už teď ale můžeme na trhu najít zařízení, která představují v současné době naprostou špičku v kategorii PDA. Jsou to zařízení 5 Multitouch je ovládání více doteky na dotykovém displeji. Vývoj na platformě Windows Mobile Strana 17 z 112

18 Mobilní Platformy od vedoucího výrobce na trhu s PDA, kterým je společnost HTC. Společnost HTC totiž dodává s operačním systémem navíc vlastní nadstavbu pro jednoduché ovládání, zvanou HTC Sense. Vývoj na operační systém Google Android je založen na jazyce Java. Jako vývojové prostředí lze použít známé IDE 6 Eclipse. Aplikace takto psané opět vycházejí ze skutečnosti, že programový kód je uskutečňován přes Java VM (java virtual machine). Kromě toho lze psát i nativní aplikace pomocí C/C++. Jedná se tedy o velmi podobný princip, jaký nabízí platforma Windows Mobile. Následující obrázek (Obrázek 2.3-1) znázorňuje standardní obrazovku tohoto mobilního operačního systému s rozšířením HTC Sense. Obrázek Základní obrazovka operačního systému Google Android s rozšířením HTC Sense (5) 2.4 iphone OS Společnost Apple začala na trhu s mobilními telefony uvedením revolučního zařízení pojmenované iphone. Nejednalo se o revoluční zařízení svojí výbavou či vnitřní funkcionalitou z pohledu aplikační výbavy, kterou by tento přístroj nabízel. Přístroj nabídl, jak je to už u firmy Apple zvykem jednoduché ovládání, které si noví uživatelé velmi rychle osvojí. Klade tedy důraz na co nejjednodušší a nejpříjemnější 6 IDE Integrated Development Environment (integrované vývojové prostředí) Vývoj na platformě Windows Mobile Strana 18 z 112

19 Mobilní Platformy používání zařízení. K tomu pomohl klíčový prvek, který se skrývá v displeji. Tento displej podporuje technologii multitouch 7. Zatímco např. zařízení s Windows Mobile nabízeli a zatím stále nabízí pouze standardní dotykové ovládání. Tato skutečnost a vhodná marketingová strategie (což je také mimochodem velikou předností společnosti Apple) zapříčinila, že iphone se krátce po svém uvedení stal doslova hitem na poli mobilních telefonů. Ovládání pomocí technologie multitouch totiž nabízí daleko větší možnosti z pohledu ovládání. Ovládání aplikací je tak postaveno na tzv. dotykových gestech (z anglického originálu touch gestures). Uživatel drží prst na displeji a táhne s ním některým směrem a aplikace na tento pohyb reaguje. Prstů je možné samozřejmě využívat více najednou, proto také název multitouch. Mezi klasické ukázky tohoto nového způsobu patří např. otáčení fotek a jejich roztahování dvěma prsty. Aby bylo možné ovšem toto pohodlně provádět, je nutné mít větší displej než je obvyklé, aby byly ovládací prvky dostatečně veliké a nezabraly celý displej. V současné době se už displeje vyrábějí větší, než tomu bývalo. Je to díky většímu rozšiřování způsobu ovládání pomocí dotykových displejů. Vzhledem k dotykovým schopnostem displeje není třeba dalších tlačítek pod displejem, jak bývalo zvykem. Prvním představitelem tohoto druhu byl právě iphone od společnosti Apple, který tak vnesl nové myšlenky pro vývoj aplikací i do platforem ostatních výrobců, kteří vyrábějí zařízení s dotykovými displeji. Pro klasický nativní vývoj je nutné vlastnit Mac OS X, protože iphone SDK 8 je dostupné pouze pro tento operační systém. Jako jazyk se zde používá Objective-C. Pro zařízení iphone existuje framework Cocoa Touch založený na knihovnách Objective-C. Jako vývojové prostředí pro tento jazyk a framework se využívá IDE Xcode. (6) (7) Dalšími možnostmi je vývoj webových aplikací a aplikací pomocí technologie Flash. Společnost Adobe navíc připravila pro vývojáře ve Flashi kompilátor, který 7 Technologie multitouch umožňuje ovládání displeje více dotyky současně. Displej tedy rozpozná stisk více dotykových ploch v jeden okamžik a dokáže tuto informaci předat operačnímu systému, který na základě stisknutých ploch provede potřebnou akci. 8 SDK Software Development Kit Sada vývojových nástrojů Vývoj na platformě Windows Mobile Strana 19 z 112

20 Mobilní Platformy zkompiluje aplikaci ve Flashi do nativní podoby pro zařízení iphone. První vývojový nástroj, který tuto funkci nabízí je Adobe Flash Profesional CS5. Na iphone OS existuje i framework MonoTouch, který umožňuje do jisté míry portování aplikací vytvořených v. NET Compact Frameworku a psané v jazyce C#. Následující obrázek (Obrázek 2.4-1) znázorňuje standardní obrazovku tohoto mobilního operačního systému. 2.5 BlackBerry Obrázek Základní obrazovka na zařízení iphone (8) Série telefonů BlackBerry od společnosti Research In Motion Limited není na našem trhu tolik známá a rozšířená mezi běžnými uživateli. Nicméně ve velkých společnostech jsou tyto telefony používané a oblíbené. Tyto přístroje mají největší tržní podíl zejména v USA. V současnosti jsou k dispozici pouze 3 typy telefonů Vývoj na platformě Windows Mobile Strana 20 z 112

21 Mobilní Platformy pro náš trh, ale samozřejmě není problém sehnat jiný typ nákupem v zahraničních obchodech či nákupem od neoficiálních prodejců této značky. Vývoj na tuto platformu lze provádět pomocí technologie Java, konkrétně její mobilní podoby Java ME. Kromě toho lze vytvářet RIA 9, které jsou spouštěny pomocí MDS (Mobile Data System) runtime. Jako vývojové prostředí lze využít IDE Eclipse s doinstalovaným pluginem. Další variantou je využítí IDE Visual Studio 2005/2008 také s patřičným pluginem. (9) Následující obrázek (Obrázek 2.5-1) znázorňuje standardní obrazovku tohoto mobilního operačního systému. 2.6 webos (PalmOS) Obrázek Obrazovka zařízení BlackBerry (10) V případě PalmOS se jedná o jednu ze starších platforem, které jsou stále na trhu. První verze PalmOS vyšla v roce Poslední verze 5.5 vyšla v roce S touto verzí také došlo k přejmenování na Garnet OS. Nová verze tohoto mobilního operačního systému zatím není plánována, protože nová mobilní zařízení Palm mají již jiný operační systém nazvaný webos. Nejsou ani plánována další nová mobilní zařízení s tímto starším (PalmOS) mobilním operačním systémem. Všechna nová mobilní zařízení od společnosti Palm, Inc jsou plánována již pouze s novým operačním systémem webos. 9 RIA - Rich Internet Application Vývoj na platformě Windows Mobile Strana 21 z 112

22 Mobilní Platformy Tento operační systém je založený na jádře operačního systému Linux. Název operačního systému již sám o sobě vypovídá, na kterých technologiích staví. Jde o webové technologie HTML, CSS, JavaScript, AJAX. Z toho také plyne způsob vývoje na tento operační systém. Jde tedy o vytváření webových aplikací pomocí těchto zmíněných technologií. Tento způsob přináší výhodu ve smyslu přístupnosti pro širší komunitu vývojářů, protože vývoj webových aplikací je poměrně snadnější než např. vývoj v C++. Na druhou stranu chybí zde možnost vývoje nativních aplikací. K vývoji webových aplikací na tento operační systém je k dispozici Palm Mojo SDK 10, který obsahuje již předpřipravené knihovny (např. pro integraci dotykových gest). Pro testování je k dispozici vlastní emulátor zařízení, provozovaný na virtualizačním nástroji VirtualBox od společnosti Sun Microsystems. Jako vývojové prostředí lze použít IDE Eclipse, pro které je k dispozici patřičný modul. Následující obrázek (Obrázek 2.6-1) znázorňuje standardní obrazovku tohoto mobilního operačního systému. Obrázek Základní obrazovka a spouštěč aplikací v operačním systému webos (11) 10 SDK - Software Development Kit Vývoj na platformě Windows Mobile Strana 22 z 112

23 Mobilní Platformy 2.7 Shrnutí přehledu mobilních platforem Z přehledu mobilních platforem je patrné, že má uživatel na trhu bohatý výběr a může si tak zvolit sobě vyhovující platformu v podobě mobilního zařízení. Stejně tak si mohou vývojáři mobilních aplikací zvolit, pro kterou z mobilních platforem budou vytvářet své produkty. Počet mobilních zařízení neustále roste a jsou představovány nové mobilní zařízení, aby pokryly co největší skupiny zájemců s rozlišnými požadavky. V posledních měsících se objevují na veřejnosti zprávy, které hovoří o celkovém zvyšování podílu mobilních zařízení s operačními systémy na úkor klasických mobilních telefonů. V současnosti je podíl chytrých mobilních telefonů 14 % a očekává se nárůst tohoto podílu do roku 2012 na 37 %. (12) V rámci konkurenčního boje mezi společnostmi Microsoft a Apple se Microsoft inspiroval úspěchem zařízení iphone a hlavně ve spolupráci s firmou HTC, která vyrábí PDA podobající se vzhledem zařízení iphone, uvádí na trh nová zařízení. Tato nová mobilní zařízení nabízí funkcionalitu, kterou naopak iphone nedisponuje. Ovšem podobně v rámci tohoto boje postupuje nejen společnost Apple, která doplňuje funkcionalitu 11. A také ostatní výrobci uvedených platforem se snaží přiblížit modelu, který se postupně profiluje v posledních měsících. Jako ideální výrobek pro většinu uživatelů těchto mobilních zařízení je zařízení s velkým dotykovým displejem (zejména kvůli prohlížení internetu), prostředí v telefonu, které se dá ovládat jednoduše prsty, dostupnost datových služeb všeho druhu, bohatá hardwarová výbava (Bluetooth, GPS, fotoaparát, pohybový senzor) a hlavně rozšiřitelnost softwarové výbavy podle uživatelova přání. Přibližování podoby zařízení neprobíhá pouze na hardwarové úrovni, ale také na softwarové úrovni. Na obrázcích základních obrazovek jednotlivých operačních systémů uvedených v příslušných kapitolách je vidět, že všichni výrobci využívají 11 Např. při vstupu na trh neuměl iphone odesílat MMS zprávy, nebo obsluhovat GPS navigaci, protože neexistoval žádný navigační software pro tento telefon. Dnes je toto již minulostí, a čím novější firmware, tím více nových funkcí toto zařízení umí. Kromě toho se toto zařízení dočkalo nového vylepšeného modelu. Vývoj na platformě Windows Mobile Strana 23 z 112

24 Mobilní Platformy takřka stejný model pro stavbu základního grafického uživatelského rozhraní operačního systému. Jde o osvědčený model, který se nachází i u většiny klasických mobilních telefonů Srovnávací tabulka platforem Pro srovnání jednotlivých platforem, jsem vybral kritéria: Vznik platformy - Vznik platformy vyjadřuje její stáří a jak dlouho je daná platforma v povědomí uživatelů a zároveň vývojářů. Vydání poslední verze operačního systému - Čím novější verze operačního systému, tím větší předpoklad, že zahrnuje podporu nejnovějších technologií, ať už z pohledu HW nebo SW. Možnosti vývoje aplikací Možnosti vývoje aplikací pro platformu. Podpora vývoje ve formě vývojových nástrojů Jak jsou dostupné vývojové nástroje a jaká je možnost jejich výběru. Vývojové nástroje pro různé platformy Zda jsou vývojové nástroje dostupné na více platforem. Čím více platforem umožňuje vývoj, tím více vývojářů může tato mobilní platforma oslovit. Z tabulky je patrné, že všechny platformy (vyjma platformy Symbian) mají poslední verzi svého operačního systému z aktuálního 12 roku (2009). Nejširší možnosti vývoje aplikací nabízí platforma Symbian, dále Windows Mobile, Google Android a iphone OS. Pro všechny platformy existují volně dostupné nástroje pro vývoj aplikací. Komerční nástroje jsou k dispozici pro platformy: Windows Mobile, iphone OS a BlackBerry. Oficiální vývojové nástroje pro různé operační systémy nejsou dostupné u platformy Windows Mobile a platformy iphone OS, ale neplatí to pro všechny možnosti vývoje u těchto platforem. 12 Aktuálního v době psaní práce (pozn. autora) Vývoj na platformě Windows Mobile Strana 24 z 112

25 Mobilní Platformy Tabulka Srovnání mobilních platforem Kritérium Mobilní platforma (OS) Windows Mobile (Phone) Vznik platformy Vydání poslední verze operačního systému (6.5) Symbian OS 2001* 2007 (9.5) Google Android (2.0) iphone OS (3.1) BlackBerry (5.0) Možnosti vývoje aplikací Nativní C++ Řízené J2ME,.NET CF Webové Nativní C++ Řízené J2ME,.NET CF 2, Python, Ruby Webové Nativní C++ Řízené Java Webové Nativní Ojective C Řízené.NET CF (MonoTouch) Webové Řízené J2ME Webové webos 2009** 2009 (1.3) Webové Podpora vývoje ve formě vývojových nástrojů Přímá podpora od výrobce OS, komerční i volně dostupné nástroje Od výrobců zařízení (Nokia, Sony Ericsson), volně dostupné nástroje Přímá podpora od výrobce OS, volně dostupné nástroje Přímá podpora od výrobce OS, komerční i volně dostupné nástroje Přímá podpora od výrobce OS, komerční i volně dostupné nástroje Přímá podpora od výrobce OS, volně dostupné nástroje Vývojové nástroje pro různé platformy * - Předchůdce Symbianu EPOC resp. PSION pochází již z roku 1990 resp. 1980, ** - Předchůdce webos PalmOS pochází z roku 1996 NE 13 ANO ANO NE 14 ANO ANO 13 Existují i vývojové nástroje pro jiné platformy než MS Windows, ale nejde o oficiální vývojové nástroje. U některých technologií pro vývoj, jako je např. Flash jsou dostupné nástroje i pro jiné platformy. Stejně tak webové aplikace lze vytvářet i v jiných platformách než je MS Windows. 14 Aplikace lze vyvíjet i v jiném operačním systému než je Mac OS s využitím nové možnosti kompilace technologie Flash anebo pomocí vývojového nástroje Airplay SDK. Vývoj na platformě Windows Mobile Strana 25 z 112

26 Mobilní Platformy Důvody pro výběr platformy Windows Mobile Po představení všech hlavních platforem, pro které lze vyvíjet mobilní aplikace jsem vybral v kontextu diplomové práce platformu Windows Mobile, na kterou se zaměřím. Obecně výběr samozřejmě závisí na povaze vyvíjené aplikace a na kategorii cílových zákazníků a na zaměření subjektu, který aplikaci vyvíjí. Každá platforma má své spektrum cílových zákazníků. A je nutné si tak rozmyslet předem, kterou skupinu má aplikace oslovit. Zatímco platforma OS iphone je spíše pro mladší generaci a tak se na ní dělají zejména aplikace sloužící pro zábavu, tak např. platforma Google Android slouží zatím zejména pro technické nadšence. Jednou z výhod Windows Mobile je právě široké spektrum uživatelů. Čím dál více se začíná prosazovat i u mladších generací a nejen u podnikové klientely a technických nadšenců. Navíc existuje i např. možnost jak portovat oblíbené aplikace z platformy iphone OS a to je další způsob jak přilákat zákazníky, kteří zatím využívají tuto konkurenční platformu. 15 Jedním z hlavních důvodů proč vyvíjet aplikace pro platformu Windows Mobile je široká možnost vývoje aplikací, jak je popsáno v jedné z následujících kapitol, konkrétně kapitole 4 Možnosti vývoje pro platformu Windows Mobile. Pro vývoj pro tuto platformu hovoří také fakt, že jsou dostupné kvalitní vývojové nástroje. Patří mezi ně např. vývojové prostředí Visual Studio a Microsoft Device Emulator, který je popsán v dalších kapitolách. Dalším faktorem je stabilita společnosti Microsoft a její rozhodnutí podporovat tuto platformu a snaha získat v co nejkratší době většinový podíl na trhu s mobilními operačními systémy. 15 Způsob jak portovat aplikace z platformy iphone OS na Windows Mobile popisuje případová studie: Porting the Amplitude Application from the iphone to a Windows Mobile Device a Case Study viz. [ Vývoj na platformě Windows Mobile Strana 26 z 112

27 Popis platformy Windows Mobile (Phone) 3 Popis platformy Windows Mobile (Phone) 3.1 Historie Windows Mobile Historie operačního systému Windows Mobile začíná v roce 2000, kdy společnost Microsoft vydala verzi nazvanou Pocket PC 2000, která ještě nebyla přizpůsobená, aby podporovala modul GSM. Společnost Microsoft zareagovala na zvyšující se požadavky a vydala novou verzi svého operačního systému a to ve 2 verzích. Jednak stále verzi pro zařízení bez GSM modulu Pocket PC Druhou verzí byla nová verze pro zařízení s GSM modulem nazvaná Pocket PC 2002 Phone Edition. Zároveň vydává první verzi operačního systému Windows Mobile pro chytré telefony Smartphone Následovala verze Windows Mobile 2003, která přišla s podporou nových technologií jako Wi-fi či Bluetooth. Ta se dočkala updatu v obou verzích jak pro Smartphone, tak pro Pocket PC a jednalo se o verzi WM2003 SE (Second Edition). V roce 2005 společnost Microsoft uvedla novou verzi Windows Mobile 5.0 opět pro oba typy zařízení. Tato verze se dočkala několika aktualizovaných balíčků tzv. AKU (Adaptation Kit Update), které postupně přidávaly některé funkce a vylepšovaly stávající funkčnost zařízení. Poslední hlavní verzí tohoto operačního systému ještě pod názvem platformy Windows Mobile je verze Windows Mobile 6.0, resp. Windows Mobile 6.1, která má opět funkci updatu verze 6.0. Další verze nazvaná Windows Mobile 6.5 je vydána již pod změněným názvem platformy na název Windows Phone. Verze 6.5 je opět update verze 6.0. Příští hlavní a zlomová verze 7 má podle plánů společnosti Microsoft vyjít v roce Tato verze má být již postavena na jádře WindowsCE 6.0 a podporovat např. technologii multitouch. Vývoj na platformě Windows Mobile Strana 27 z 112

28 Popis platformy Windows Mobile (Phone) 3.2 Novinky ve verzi 6.5 Zatím poslední verzí operačního systému Windows Mobile je verze Tato verze přináší tato hlavní vylepšení: nový model plug-inů 16 do Today 17 obrazovky, nový model programové nabídky, novou obrazovku zamknutí zařízení, novou verzi Internet Exploreru, zrychlení odezvy systému, nový formát kontextové nabídky, integrace dotykových gest do systému, nové služby, vylepšení softwarové klávesnice v landscape zobrazení. Nový model plug-inů do Today obrazovky je postaven na webových technologiích HTML, CSS, AJAX, Javascript. Tyto plug-iny se nazývají Windows Mobile Widgets. Plug-iny mají přístup k systému přes ovládací prvky ActiveX. Přinášejí tak nový možný způsob vývoje aplikací pro platformu Windows Mobile. Lze tedy vytvářet zcela nové aplikace anebo podporovat jiné vyvíjené aplikace ve formě plug-inu do Today obrazovky. Nový model programové nabídky nabízí pohodlnější procházení nainstalovaných aplikací a ovládacích aplikací systému. Jedná se hexagonální matici ikon, kterou lze posouvat v horizontálním směru pomocí dotykových gest (tahem nahoru nebo dolů dotykovým perem či prstem kdekoliv v hexagonální matici). Nová obrazovka zamknutí nabízí nyní přehled o zmeškaných hovorech a došlých SMS zprávách. Nová verze mobilního Internet Exploreru nabízí plnou funkcionalitu desktopové verze Internet Exploreru verze 6 a ještě jí rozšiřuje o další funkce. 16 Plug-in je zásuvný modul, který rozšiřuje funkcionalitu aplikace. 17 Today obrazovka je výchozí obrazovka systému, kterou vidí uživatel po zapnutí a naběhnutí zařízení. Součástí této obrazovky jsou informace o následujících událostech v kalendáři, seznam úkolů, příchozí pošta či SMS a další. Vývoj na platformě Windows Mobile Strana 28 z 112

29 Popis platformy Windows Mobile (Phone) Systém nabízí rychlejší odezvu na uživatelské pokyny, než tomu bylo u předchozí verze. Vše je závislé i na výkonu zařízení, na kterém je operační systém provozován. Rychlost odezvy tak není na každém zařízení s tímto operačním systémem stejná. Nový formát kontextové nabídky umožňuje ovládání kontextových nabídek pomocí prstů. Došlo k rozšíření ovládacích prvků tvořící kontextovou nabídku tak, aby na jednotlivé položky nabídky šlo poklepat prstem a nebylo nutné použití dotykového pera. Díky integraci dotykových gest nyní operační systém umožňuje posouvat obsah obrazovek v systému horizontálními a vertikálními tahy na dotykovém displeji. Pro využití těchto funkcí ve vyvíjených aplikací je nutné použít potřebné API. Nové služby MyPhone a Marketplace rozšiřují nabídku služeb poskytovanou operačním systémem Windows Mobile. Služba MyPhone umožňuje synchronizaci dat kalendáře, úkolů, kontaktů, fotografií a nabízí jejich využití v některých komunitních sítích. Služba Marketplace slouží k pohodlnému nákupu aplikací z portálu Windows Marketplace for Mobile, kde jsou umístěné aplikace, setříděné do tematických kategorií. 3.3 Charakteristika platformy Windows Mobile/Phone jako platformu lze sledovat z 2 pohledů. První je hardwarový pohled, druhý pohled je z hlediska softwaru. Tyto pohledy jsou zároveň dimenzemi pro navrhovanou metodiku vývoje aplikací pro platformu Windows Mobile Hardwarový pohled Platforma Windows Mobile/Phone představuje řešení, které umožňuje využití moderních komunikačních technologií. Základním předpokladem je ale podpora hardwarového vybavení mobilních zařízení na úrovni operačního systému. Vývoj na platformě Windows Mobile Strana 29 z 112

30 Popis platformy Windows Mobile (Phone) V začátcích této platformy byla zařízení oproti těm dnešním daleko méně výkonná. Také nenabízela dnešní moderní ICT technologie (Bluetooth, GPS, Wi-Fi, GSM, WCDMA a další). Výkony prvních zařízení začínaly u kmitočtů procesoru řádově na 10kách MHz a 16MB paměti RAM. Dnešní zařízení jsou již o poznání výkonnější. Nejvýkonnější zařízení má dnes kmitočet procesoru 1GHz a kapacitu paměti RAM 448MB. Kromě toho nabízejí daleko lepší rozlišení obrazovky a více barev. Zároveň již v předstihu některá zařízení integrují dotykové displeje, které podporují technologii multitouch. Ta ale zatím není v operačním systému Windows Mobile podporována. Výrobci ji ale integrují z důvodu, aby byl možný upgrade operačního systému na budoucí verzi 7, která již bude tuto technologii podporovat a zákazníci si tak nemuseli ihned kupovat nové zařízení. Ač z krátkodobého obchodního hlediska by tomu mělo být naopak. Jako procesor se dnes nejčastěji používá typ ARM, což je 32bitová mikroprocesorová architektura typu RISC. Na některých zařízeních lze také najít procesory typu MIPS nebo SH3. Mezi nejčastější hardwarové komponenty u mobilních zařízení dnes patří moduly GPS, Bluetooth, Wi-Fi, IrDa, G-Senzor, digitální fotoaparát, GSM, FM rádio. Moduly jsou nejčastěji integrovány již na základní desce zařízení. Některé moduly lze dokoupit samostatně a provozovat je s externím připojením buď pomocí Bluetooth anebo přípojného kabelu. Zařízení se dělí na 2 kategorie. Na zařízení s dotykovým displejem (PDA, MDA) a na zařízení s displejem, který není dotykový (Smartphone). Zařízení bez dotykového displeje jsou vybavena dalšími ovládacími prvky, aby je bylo možné ovládat. Nejčastěji k tomu slouží číselná matice 0-9 a další tlačítka, tak jak je tomu u ostatních mobilních telefonů. Další variantou je QWERTY klávesnice, která se nachází u zařízení, která jsou specifická svým širším rozměrem, aby se tam tato klávesnice vešla. U těchto zařízení bývají displeje nejčastěji orientovány na šířku anebo mají čtvercový tvar. Jsou to např. rozlišení (240x240, 320x320, 440x240 a další). Vývoj na platformě Windows Mobile Strana 30 z 112

31 Popis platformy Windows Mobile (Phone) Zařízení s dotykovým displejem teoreticky již žádné další ovládací prvky, kromě tlačítka pro zapnutí a vypnutí zařízení nepotřebuje, ale v praxi jsou vždy přítomna alespoň některá další tlačítka (např. tlačítka pro zvednutí a položení telefonického hovoru, směrový joystick, tlačítko pro zapnutí fotoaparátu, Wi-Fi atd.). U dotykových displejů se již odstupuje od dříve klasického rozlišení QVGA (240x320) k rozlišení WVGA (480x800). Kromě těchto rozlišení jsou nabízená i zařízení s různými rozlišeními (např. 240x400,320x320 a další). Mezi výrobce zařízení pro tuto platformu patří např. společnosti HTC, Acer, HP, Dell, LG, Samsung, Motorola, Toshiba, Sony Ericsson Softwarový pohled Operační systém Windows Mobile je založený na jádře systému Windows CE, který je konstruován právě pro přenosná zařízení a zařízení s nižším výkonem. Předností tohoto operačního systému je také skutečnost, že podporuje moderní ICT technologie jak na hardwarové úrovni, tak i na úrovni software. Aplikace tak mohou využívat tento dostupný hardware (např. modul GPS, Bluetooth, Wi-Fi). Tento operační systém je charakteristický zejména svým vzhledem. Koresponduje s ostatními produkty společnosti Microsoft. Vzhled nabídek, oken a ovládacích prvků operačního systému je tak velmi podobný desktopovému vzhledu operačních systémů Microsoft Windows což umožňuje snadnou orientaci uživatelů při využívání tohoto mobilního operačního systému bez jeho předchozích znalostí. Operační systém Windows Mobile nabízí multitasking 18 a lze na něm vytvářet aplikace s více-vláknovým zpracováním. Umožňuje tak např. současně telefonovat (aplikace pro telefonování) a využívat datové přenosy (aplikace pro procházení webového obsahu). Pro vývoj aplikací existuje více možností. Z pohledu prostředí běhu aplikace mohou vývojáři vytvářet aplikace nativní, řízené a webové. Podporovány jsou tak různé programovací jazyky a technologie. To dává také možnost výběru vhodné technologie a jazyka pro vývoj aplikace v závislosti na typu a zaměření aplikace. 18 Provozování více aplikací najednou Vývoj na platformě Windows Mobile Strana 31 z 112

32 Možnosti vývoje pro platformu Windows Mobile 4 Možnosti vývoje pro platformu Windows Mobile Podle prostředí běhu aplikace můžeme definovat tyto kategorie aplikací: Nativní aplikace, Řízené aplikace, Webové aplikace. 4.1 Nativní aplikace Nativní aplikace se vyznačují především svojí rychlostí. Jsou kompilovány do strojového kódu procesoru, na kterém mají běžet. Není tedy žádná mezivrstva, která by zpomalovala běh aplikace Visual C++ Jedinou možností vývoje nativních aplikací na OS Windows Mobile je vývoj v jazyce Visual C++. Pro tuto variantu hovoří hlavně fakt, že se jedná o aplikace, které jsou provozovány přímo v systému bez mezivrstvy a jsou tedy schopné naplno využít výkon zařízení. Tento jazyk standardně využívá systémové knihovny operačního systému a umožňuje tak využít všechnu dostupnou funkcionalitu, kterou operační systém Windows Mobile nabízí. Na druhou stranu oproti řízeným aplikacím je vývoj nativních aplikací ve Visual C++ náročnější na znalosti. To co lze často v řízeném kódu provést pomocí jednoho příkazu, tak v C++ je k tomu potřeba více příkazů. Aplikace v jazyce Visual C++ lze vytvářet pomocí více vývojových nástrojů. Jsou to např. Visual Studio, embedded Visual C++, Dev-C++ s knihovnami Smartwin. Jsou dostupné tedy jak nástroje komerční (Visual Studio 19 ) tak i volně dostupné (embedded Visual C++, Dev-C++ s knihovnami Smartwin). Tyto nástroje jsou charakteristické tím, že součástí je IDE 20. Existují i volně dostupné kompilátory jako např. Pocket GCC, CeGCC. Jejich výhodou je, že jsou nezávislé na platformě Windows a lze tak vytvářet aplikace v prostředí OS Linux nebo Mac-OS. 19 Visual Studio existuje i ve volně dostupných edicích express, ale tyto edice nepodporují vývoj na mobilní zařízení 20 IDE Integrated Development Environment (Integrované vývojové prostředí) Vývoj na platformě Windows Mobile Strana 32 z 112

33 Možnosti vývoje pro platformu Windows Mobile Vývoj nativních aplikací je vhodný použít v případě, kdy jde o rychlost aplikace, využívání systémových knihoven a tzv. low-level 21 přístup. 4.2 Řízené aplikace Řízené aplikace jsou aplikace, které jsou provozovány v operačním systému pomocí mezivrstvy. Tato mezivrstva překládá řízený kód do nativního až ve chvíli, kdy je aplikace spuštěna. Výhodou tohoto řešení je možnost optimalizace běhu aplikace na konkrétní procesor a možnost kompilování formou JIT 22. JIT kompilace tak kompiluje jednotlivé úseky aplikace, které jsou zrovna potřeba. Kromě toho uvolňuje prostředky již uskutečněných příkazů. Tento způsob má tak výhodu v šetření systémových zdrojů. Nevýhodou je skutečnost, že každé další zavolání funkce znamená nové přeložení do nativního kódu Java Micro Edition Java ME představuje poměrně dobrý způsob vývoje aplikací na všechny mobilní platformy, protože většina z nich umožňuje provozovat tyto aplikace, jelikož podporují Java Virtual Machine ve svém prostředí. Zejména v posledních letech platilo, že Java ME byla určena zejména pro vývoj mobilních her, které byly portovány na všechny možné typy mobilních telefonů (zejména velkých značek: Sony Ericsson, Nokia, Motorola a další). Při vývoji v prostředí Java ME není možné využívat systémové knihovny operačního systému a vývojář je omezen pouze na základní balíček tříd. Má však k dispozici další balíčky, které rozšiřují funkcionalitu a ovládají další funkce u zařízení, které jsou s tímto balíčkem kompatibilní. Zároveň někteří výrobci vyrábí vlastní přídavné balíčky určené k určitému zařízení (např. balíček tříd pro obsluhování GPS modulu pro konkrétní typ mobilního telefonu). Ovšem to má i svojí jednu výhodu a to konkrétně takovou, že tím že není umožněno využívat systémové knihovny operačního systému, tak ani není umožněno jakkoliv zasahovat do systému a nedojde tak k poškození uživatelových dat jakou jsou např. kontakty, 21 Low-level přístup jde o vývoj aplikace, která přistupuje přímo k HW a nevyužívá přitom žádné další mezivrstvy. Tento přístup je náročnější, ale dovoluje aplikaci využívat všechny funkce HW. 22 JIT Just-In-Time Vývoj na platformě Windows Mobile Strana 33 z 112

34 Možnosti vývoje pro platformu Windows Mobile zprávy atd 23. Ovšem jak to už bývá, tak i zde lze najít cestu, která s uživatelovou interakcí může vést k nechtěným telefonátům na drahá placená telefonní čísla, či odcizení kontaktů JavaFX Mobile JavaFX Mobile je nová technologie firmy Sun Microsystems pro tvorbu RIA aplikací. Tato mobilní technologie je součástí technologie JavaFX. Je také postavená na principu řízených aplikací. Aplikace ke svému běhu potřebují JVM obdobně jako je tomu u technologie J2ME. Je to z toho důvodu, že JavaFX ve skutečnosti přímo využívá technologii JavaME. Jediné vývojové prostředí, které zatím podporuje tuto technologii, je IDE NetBeans. Jako jazyk slouží tedy Java a také JavaFX Script. Obrázek Architektura platformy JavaFX (13) 23 Pro Javu ME existuje balíček JSR 75: PDA Optional Packages for the J2ME TM Platform, který umožňuje zpřístupnit složky v zařízení a tzv. PIM (Personal Information Management) data, ale situace je taková, že pro Windows Mobile existuje několik J2ME Midlet Managerů pro provoz javovských aplikací, ale ani jeden z nich nepodporuje naplno tuto funkcionalitu v prostředí Windows Mobile. Nejlépe je na tom v současnosti Midlet Manager Esmertec Jbed od společnosti Myriad Group AG. (30) Vývoj na platformě Windows Mobile Strana 34 z 112

35 Možnosti vývoje pro platformu Windows Mobile NET Compact Framework.NET Compact Framework představuje řešení z rodiny řízených aplikací, kdy jsou aplikace napsány a posléze přeloženy do mezi-jazyka CIL a poté pomocí JIT kompilátoru zkompilovány pro dané prostředí. V.NET Compact Frameworku (dále.net CF) má vývojář možnost výběru při psaní aplikací mezi jazykem Visual Basic.NET a C#. Visual Basic.NET vychází ze svého předchůdce Visual Basicu, zatímco jazyk C# je poměrně nový a má základy v jazycích C (zejména co se týče syntaxe) či C++. Ovšem nejvíce se jazyk C# podobá jazyku Java svým pojetím objektově orientovaného programování. Historie.NET Compact Frameworku z pohledu jednotlivých verzí První verzí mobilního operačního systému, na kterém bylo možné provozovat.net CF (verzi 1.0), byla verze Pocket PC Od té doby se s vývojem.net CF zvyšovaly i nároky na mobilní OS, ovšem z dnešního pohledu nijak zásadně dramaticky. A tak nejnovější verze.net CF 3.5 běží na OS Pocket PC 2003 a výše. Běží tedy z dnešního pohledu i na starších přístrojích, které svojí hardwarovou výbavou zaostávají za dnešními top přístroji, zejména komunikačními možnostmi (GSM, UMTS, Wi-fi, Bluetooth) a dalšími přídavnými technologiemi jako je digitální fotoaparát či navigace GPS, což se samozřejmě také odráží na možnostech tvorby aplikací pro tato starší zařízení, kdy logicky ač jsou ovládání těchto moderních technologií podporovány ze strany frameworku, tak reálné využití u starších přístrojů není možné v základním vybavení. Na druhou stranu není problém přístroj dovybavit nákupem chybějícího zařízení a připojit jej k němu. Nejčastěji se tak stává pomocí technologie Bluetooth2. Tak je možné připojit k zařízení náhlavní soupravu, GPS navigaci, Stereo sluchátka (která umožňují využití profilů A2DP3) a další..net Compact Framework prošel z hlediska vývoje již dlouhou cestu. Vše ale proběhlo relativně v krátké časové době, ovšem v počítačovém světě je tato doba dostatečná k velkým změnám a přechodům. První verze.net CF pro veřejnost spatřila světlo světa již ke konci roku První řada.net CF se držela velmi dlouho na všech zařízeních na kterých bylo možné ji provozovat i díky 3 service packům, kdy poslední byl uvolněn až v lednu roku Avšak ke konci roku 2005 (říjen) došlo k uvedení druhé řady (2.0).NET CF. Ta s sebou přinášela obrovské Vývoj na platformě Windows Mobile Strana 35 z 112

36 Možnosti vývoje pro platformu Windows Mobile množství změn a hlavně mnoho rozšíření stávající funkcionality.net CF. Druhá řada vydržela tentokrát o něco méně než první řada, opět i díky 2 service packům (poslední vydán v dubnu roku 2007). Třetí řada.net CF však přišla až s verzí 3.5 (plně použitelnou) na přelomu roku 2007 a 2008 a přinesla opět další rozšíření již stávající bohaté nabídky funkcionality předcházející verze, viz vývoj verzí v čase - příloha A (Tabulka ) Popis jednotlivých verzí První verze.net CF nebyla ještě z hlediska funkcionality nijak bohatá, ovšem s příchodem verze 2.0 přišly veliké změny za současné kompatibility aplikací vytvořených ve verzi 1.0. Jedním z vylepšení verze 2.0 byl hlavně výkon. Aplikace tak pracovaly daleko rychleji díky vylepšenému JIT kompilátoru, který zároveň sjednocoval JIT kompilátory z předchozí verze a podporoval všechny typy procesorů. Zároveň bylo urychleno zpracovávání XML Web služeb a přístup k datům..net Compact Framework 2.0 také implementoval nové vlastnosti jazyka C# (2.0), které obsahoval dospělý.net 2.0. Přidány byly některé události k ovládacím prvkům. Také byly vylepšeny kryptografické služby. Serializace XML probíhá rychleji a přibyla podpora SOAP 1.2. Další novinkou byla plná podpora sériových portů (jako u.net 2.0). Vylepšená byla i podpora vláken a zpracování XML pomocí XPath. Vylepšeno bylo i debugování a kompilování aplikací. Do jazyka samotného pak přibyla podpora některých datových typů. Další vylepšení se pak nacházely na poli tvorby GUI, kdy přibyla podpora dokování a ukotvování, automatické scrollování atd. (14) (15) (16) Více o možnostech návrhu GUI je v samostatné kapitole, která se tomuto tématu věnuje. Verze 3.5 opět přinesla oproti verzi 2.0 plno vylepšení. Jednak je to podpora WCF (Windows Communication Foundation), což je unifikovaný programovací model společnosti Microsoft pro tvorbu aplikací orientovaných na služby. A pak také je to podpora LINQ (Language-Integrated Query). LINQ je nástroj pro práci nad různými datovými zdroji při používání jednotného dotazovacího jazyka. LINQ ovšem není plně podporován jako v.net 3.5, ale pouze omezeně. Podpora LINQ je také ze strany prvků DataSet a DataTable. V rámci LINQ to XML nejsou podporovány rozšíření XPath. (17) Vylepšeny byly opět některé ovládací prvky, zejména Vývoj na platformě Windows Mobile Strana 36 z 112

37 Možnosti vývoje pro platformu Windows Mobile pro jejich práci s grafikou. Jsou to prvky: TabPage, Panel, Splitter, PictureBox. Přibyla podpora ClearType fontů u třídy Control. Přibyly vlastnosti u prvku ComboBox pro zjišťování vybraného textu. Další novinkou je třída SoundPlayer, přes kterou lze na zařízení přehrávat více zvuků současně a celkově tak ovládat přehrávání podporovaných zvukových souborů v.net CF aplikacích. Vylepšení se také dočkalo zpracování komprese ve jmenném prostoru System.IO.Compression. Pro vývojáře přibyla plná podpora jako u plného.net frameworku CLR profilů, čímž můžou sledovat chování garbage collectoru. Vylepšeno je také debutování a logování. Také přibyla enum hodnota pro rozlišení platformy (PocketPC, Smartphone, WinCEGeneric). (17) OpenNetCF (Smart Device Framework) Jelikož.NET Compact Framework nenabízí plnou funkcionalitu jako.net framework, tak musí vývojáři v některých případech psát třídy, které často využívají systémové knihovny a tuto funkcionalitu si tak sami nahradit vlastním řešením. OpenNETCF je také framework postavený na.net frameworku a obsahuje funkcionalitu.net Compact Frameworku. Přidává však navíc funkcionalitu obsaženou právě v.net frameworku. Obsahuje tedy třídy, které si většinou vývojáři tvoří sami. Kromě tříd které obsahují zpřístupnění některé funkcionality obsažené v plnohodnotném.net frameworku se také jedná i o ovládací prvky, které nabízejí nové vlastnosti. Tyto ovládací prvky tak umožňují tvorbu lépe ovladatelného grafického uživatelského prostředí. Nejnovější OpenNETCF je k dispozici zdarma pouze ve verzi Community Edition, která však nenabízí např. podporu IntelliSense v IDE, dokumentaci k jednotlivým třídám anebo kompletní zdrojové kódy pro jednotlivé třídy. Více o rozdílech pro jednotlivé licence lze nalézt v příloze A. 4.3 Webové aplikace, RIA aplikace Trend aplikací běžících ve webových prohlížečích, který je v dnešní době často viděn u aplikací běžících na desktopech se postupně dostává v některých případech i na mobilní platformy. Výrobci technologií pro tvorbu aplikací typu RIA Vývoj na platformě Windows Mobile Strana 37 z 112

38 Možnosti vývoje pro platformu Windows Mobile jako je Flash či Silverlight, chtějí smazat rozdíl mezi vytvářením aplikací pro desktopové počítače a mobilní zařízení. Základem je vytvoření běhového prostředí pro všechny možné existující platformy. Blíže k tomu má technologie Flash, která již působí nezávisle na operačním systému na desktopech, protože pro většinu operačních systémů resp. internetových prohlížečů existuje zásuvný modul pro provoz této technologie. Navíc existuje plno uživatelů, kteří chtějí mít k dispozici ve svých prohlížečích na mobilním zařízení tuto technologii, protože jde o již zaběhnutý produkt ze světa desktopů a existuje tak v tomto formátu spousta aplikací. Ve skutečnosti jsou ale již dostupné technologie, které toto umožňují, ale pouze v případě, že mobilní zařízení podporují vyžadované technologie Webové aplikace Vývoj webových aplikací, které běží dnes v prohlížečích integrovaných do Windows Mobile je již prakticky stejný jako vývoj těchto aplikací pro prohlížeče 24 běžně používaných u stolních počítačů či notebooků. Nejnovější mobilní Internet Explorer obsahuje funkcionalitu Internet Exploreru verze 6, ale přidává ještě další funkcionalitu (např. transparentnost obrázků konkrétně grafického formátu PNG). Je to z toho důvodu, že Internet Explorer 6 je dnes již na poli prohlížečů zastaralý, zejména co se týče způsobu vykreslování stránek a také bezpečnosti. To hlavní z hlediska aplikací je ale podpora Java Scriptu, která je právě pro některé webové aplikace klíčová. (18) Lze tedy vytvářet i AJAX aplikace, což je spojení asynchronního Java Scriptu a XML. Jednou z výhod tvorby webových aplikací je snadnější tvorba GUI pro různá rozlišení zařízení. Stačí dobře udělat kaskádové styly pro webovou aplikaci. Navíc taková aplikace poběží nejen na Windows Mobile, ale i na jiném zařízení, které bude podporovat vyžadovanou funkcionalitu. Na druhou stranu aplikace nemusí být vždy dostupná (např. při selhání serveru, na kterém běží, nebo při selhání mobilní sítě, která poskytuje datové připojení). Navíc vznikají další náklady při provozování aplikace za datové připojení. 24 Mezi nejvíce používané patří Internet Explorer, Mozilla Firefox, Opera, Chrome, Safari viz (33) Vývoj na platformě Windows Mobile Strana 38 z 112

39 Možnosti vývoje pro platformu Windows Mobile Flash lite Aplikace ve Flash, konkrétně v jeho odlehčené verzi Flash lite mohou být dalším způsobem jak vytvářet aplikace. Výhoda tohoto způsobu je, že aplikace mohou být provozovány i na jiném zařízení než je Windows Mobile. Stačí, aby takové zařízení podporovalo přehrávání Flash souborů. Nicméně Flash aplikace jsou spíše nadstavbou webových aplikací. Flash má představovat tzv. RIA (Rich Internet Application), podobně jako třeba Silverlight nebo JavaFX. Navíc v současnosti se tento způsob pro výrobu mobilních aplikací nevyužívá a Flash je využíván k účelu tvorby animací či přehrávání videa. Společnost Adobe, která je výrobcem této technologie, však chystá plnohodnotný Flash pro mobilní platformy 25, tak jak ho známe z prohlížečů běžících na operačních systémech stolních počítačů a notebooků. Nicméně těžko odhadovat, zda bude k této verzi Flash dostupný balíček funkcí, který bude schopen ovládat veškerou funkcionalitu telefonu a bude tak schopný pracovat se systémovými knihovnami Silverlight Silverlight je technologie pro vývoj, která představuje odpověď společnosti Microsoft na technologii Flash společnosti Adobe. Představuje vlastní řešení pro tvorbu RIA. Nicméně Silverlight prozatím existuje pouze v podobě pro desktopové počítače, ale v nejbližší době by se měla tato technologie objevit i na platformě Windows Mobile a také na platformě Symbian, protože Microsoft spolupracuje s firmou Nokia, která je hlavním výrobcem zařízení na kterých běží operační systém Symbian. Hlavní výhodou technologie Silverlight je skutečnost, že jde o produkt společnosti Microsoft, tudíž lze předpokládat lepší vzájemné propojení s operačním systémem Windows Mobile. Stejně tak integrace do vývojového prostředí Visual Studio znamená velikou výhodu, protože toto vývojové prostředí je primárně určeno pro vývoj aplikací na platformu Microsoft Windows včetně Windows Mobile. 25 Včetně Windows Mobile Vývoj na platformě Windows Mobile Strana 39 z 112

40 Možnosti vývoje pro platformu Windows Mobile 4.4 Shrnutí přehledů technologií pro vývoj Z předchozích kapitol je patrné, že je více možností vývoje aplikací pro platformu Windows Mobile z pohledu technologií pro vývoj. Pro platformu Windows Mobile jsou aplikace nejčastěji vyvíjeny buď v nativní podobě anebo v řízené podobě. V nativní podobě jde tak o jazyk Visual C++. U řízených aplikací je nejčastější technologií pro vývoj.net Compact Framework (JavaME je využívána zejména pro tvorbu mobilních her a v menší míře pro tvorbu aplikací k pracovnímu využití). Jestliže není vyžadována dostupnost aplikace v každé situaci a lze využít datová připojení, tak je možné vytvářet i webové aplikace anebo aplikace typu RIA. Vývoj mobilních aplikací pro platformu Windows Mobile má celkově širokou podporu co se týče vývojových nástrojů a dostupné dokumentace k jednotlivým technologiím pro vývoj Srovnávací tabulka technologií pro vývoj Pro srovnání jednotlivých technologií pro vývoj, jsem vybral kritéria: Typ aplikace - Podle typu běhového prostředí aplikace a jejího charakteru. Možnosti jsou: Nativní aplikace, Řízená aplikace, Webová aplikace a aplikace typu RIA. IDE pro vývoj - Jaký vývojový nástroj v podobě integrovaného vývojového prostředí je využíván k vývoji pomocí vybrané technologie. Vývojových integrovaných prostředí je většinou více, proto jsou vybrány ty nejpoužívanější korespondující s platformou Windows Mobile a běžících na platformě Microsoft Windows. Dostupnost vývojových nástrojů Jak jsou dostupné vývojové nástroje a jaká je možnost jejich výběru. Zda jsou dostupné komerční i volně dostupné nástroje. Plný přístup k systémovým funkcím - Zda vývojová technologie umožňuje využití všech systémových funkcí a má tak plný přístup k systému a technologiím podporovaných systémem. Vývoj na platformě Windows Mobile Strana 40 z 112

41 Možnosti vývoje pro platformu Windows Mobile Vývojové nástroje pro různé platformy Zda jsou vývojové nástroje dostupné na více platforem a ne pouze na Microsoft Windows. Tabulka Srovnání technologií pro vývoj Kritérium Technologie pro vývoj Visual C++ JavaME JavaFX.NET Compact Framework OpenNETCF (Smart Device Framework) Webové aplikace (HTML, CSS, JavaScript, XML) Flash lite Silverlight Typ aplikace Nativní Řízená Řízená / RIA Řízená Řízená Webová RIA RIA IDE pro vývoj embedded Visual C++, Visual Studio Eclipse, NetBeans NetBeans Visual Studio, SharpDevelop Visual Studio, SharpDevelop Visual Studio, Expression Web, další nástroje které nepocházejí od společnosti Microsoft Adobe Flash Professional Visual Studio, Expression Web Dostupnost vývojových nástrojů Komerční, Volně dostupné nástroje Komerční, Volně dostupné nástroje Volně dostupné nástroje Komerční, Volně dostupné nástroje Komerční, Volně dostupné nástroje Komerční, Volně dostupné nástroje Plný přístup k systémový m funkcím ANO NE NE ANO ANO NE Vývojové nástroje pro různé platformy NE ANO ANO NE NE ANO Komerční NE ANO Komerční - NE * - Předchůdce Symbianu EPOC resp. PSION pochází již z roku 1990 resp. 1980, ** - Předchůdce webos PalmOS pochází z roku Důvody výběru technologie pro vývoj Obecně nelze říci na kterou technologii pro vývoj se zaměřit více. Vždy záleží na konkrétním případě, tedy na povaze vyvíjené aplikace. Pro řízené aplikace hovoří fakt, že je lze provozovat na více platformách. To platí zejména pro technologii JavaME, ale tato technologie nemá v prostředí operačního systému Windows Mobile úplný přístup k systémovým funkcím. Z tohoto důvodu jsou tak možnosti vyvíjené aplikace částečně omezené. Vývoj na platformě Windows Mobile Strana 41 z 112

42 Možnosti vývoje pro platformu Windows Mobile Nejvýhodnějším řešením vývoje řízených aplikací pro operační systém Windows Mobile je tak využití technologie.net Compact Framework anebo alternativní Smart Device Framework (OpenNETCF). Tyto technologie nabízejí možnost využití systémových knihoven, které jsou jinak přístupné pouze pro nativní vývoj a zároveň nabízejí všechny výhody, které nabízí dnešní způsob vývoje řízených aplikací. V případě, že je vyžadována nativní aplikace tak je zde pouze jediná možnost a to vývoj pomocí jazyka Visual C++. Pro tuto variantu hovoří zejména plné využití výkonu zařízení bez zatěžování systému nějakým dalším potřebným běhovým nástrojem, jako je tomu u řízených aplikací. Na druhou stranu vývoj nativních aplikací je složitější než vývoj řízených aplikací. U webových aplikací je stále převládajícím způsobem spojení již zaběhnutých technologií. Jde o technologie: HTML, CSS, JavaScript a XML. Aplikace typu RIA nejsou zatím pro mobilní zařízení s operačním systémem Windows Mobile příliš často vyvíjeny. Situace se může změnit s budoucím vydáním technologie Silverlight pro tuto mobilní platformu, protože jde o technologii stejného výrobce jako je celá platforma Windows Mobile. Jde tedy o společnost Microsoft, která již teď nabízí další kvalitní vývojové nástroje pro využití této technologie na desktopy. V kontextu diplomové práce a zejména výhod, které přináší vývoj v.net Compact Frameworku jsem se rozhodl vybrat tuto technologii pro vývoj při demonstraci vývoje mobilní aplikace uvedené kapitole 9 Praktická část. Vývoj na platformě Windows Mobile Strana 42 z 112

43 Metodika vývoje pro platformu Windows Mobile 5 Metodika vývoje pro platformu Windows Mobile Vývoj aplikací je dnes většinou řízen podle některé z již navržených metodik. Zejména je tomu u velkých podnikových informačních systémů. Metodika je tvořena obecně uznávanými postupy a návody, které popisují činnosti při návrhu, vývoji, nasazování software, řízení projektu atd. Cílem metodiky je formalizovat postupy, definovat zodpovědnosti a pravidla komunikace. Metodiky formulují obecné postupy, které lze aplikovat na široké spektrum projektů určitého typu. Metodika slouží k tomu, aby se návrháři, vývojáři, vedoucí projektů či jiné zainteresované osoby vyvarovaly chyb, které jsou v metodice již zdokumentovány. Na druhou stranu však důsledné dodržování nebo nedodržování určité metodiky v žádném případě neznamená zaručeně úspěšný projekt. Každý projekt je natolik specifický, že je nemožné více projektů realizovat úplně stejně. Metodika definuje rámcově činnosti, které se mají provést, dokumenty, modely, které se mají vytvořit. (19 str. 173) Vývoj mobilních aplikací má určitá specifika, která je nutná respektovat. Specifika se týkají zejména omezení, která jsou představována rozměry, výkonem a dostupnou funkcionalitou zařízení. Také rozsah aplikace se často liší od rozsahu robustních aplikací 26 běžících na stolních a přenosných počítačích. Tato specifika musí být zohledněna v metodice vývoje softwaru resp. v jejích příslušných fázích a dimenzích. Fáze, ze kterých se metodika skládá, mají různou důležitost. Jednotlivé metodiky se liší, podle toho, jak přesně a jakým způsobem definují jednotlivé kroky tvorby SW. Navíc každá metodika klade různý důraz na jednotlivé etapy životního cyklu projektu. Zaměření metodik zpravidla vychází ze zaměření autora metodiky, kterým je obvykle výrobce určitého typu software. (19 str. 173) Dimenze pak představuje pohled na určitou oblast v dané fázi. V každé fázi se vyskytují zároveň role, které mají na starost vykonání předem stanovených činností. 26 Tyto aplikace mívají podobu tlustého klienta viz (34 str. 226) Vývoj na platformě Windows Mobile Strana 43 z 112

44 Metodika vývoje pro platformu Windows Mobile 5.1 Návrh metodiky V navržené metodice jsem vycházel částečně přímo z metodiky MMDIS 27 (2), která je vyvíjená na Vysoké škole ekonomické v Praze na Katedře informačních technologií (KIT). Z této metodiky jsem vycházel při výběru vhodných fází, na které se zaměřit pro navrženou metodiku a také jsem z této metodiky převzal v omezené míře princip multi-dimenzionality, který se na vývoj dívá z různých pohledů. V navržené metodice jsou dimenze pohledem, který sleduje nejvíce specifické oblasti, které musejí být zohledněny při vývoji mobilních aplikací, protože rozhodují o úspěchu vyvíjené aplikace. Detailní popis jednotlivých fází jsem čerpal z metodického vzoru Nový objektově orientovaný vývoj obecného software vlastními silami" (20), který je součástí metodického rámce MeFIS 28. Metodický rámec je chápán jako uspořádaná skupina metodik, respektive metodických vzorů, které jsou zaměřeny jak na vývoj nového informačního systému, tak na rozvoj informačního systému i nasazování typového aplikačního softwarového vybavení." (21) V metodickém vzoru jsem se rovněž inspiroval při specifikování rolí, které se podílejí na vývoji mobilních aplikací. V souvislosti s navrženou metodikou jsou každé roli přiděleny činnosti, za které tato role odpovídá, resp. vykonává je. Na vykonávání každé role jsou potřebné odlišné znalosti. Tyto požadované znalosti jsou součástí popisu jednotlivých rolí v kapitole, která se popisem rolí zabývá. 27 Multidimensional Management and Development of Information System 28 Methodology Framework for IS/ICT Systems Vývoj na platformě Windows Mobile Strana 44 z 112

45 Metodika vývoje pro platformu Windows Mobile 5.2 Fáze metodiky Fáze metodiky je úsek skládající se z předem vymezených činností. Každá činnost má stanoveno, která role tuto činnost vykonává. Fáze má své vstupy a výstupy. Vstupy jsou potřebné na začátku fáze, kdy slouží jako podklad pro vykonávání jednotlivých činností v rámci této fáze. Výstupy pak vznikají na základě vykonání činností v rámci dané fáze. Často jsou tyto výstupy zároveň vstupy pro další fáze vyjma počáteční fáze. Navržená metodika se skládá z těchto fází: úvodní studie, analýza, návrh, implementace, testování, nasazení. Obrázek Posloupnost fází navržené metodiky Jednotlivé fáze jsou popsány v následujících podkapitolách. Ke každé fázi je pak v Příloze C formulář popisující souhrnně tuto fázi. Formulář se skládá z cíle fáze, rolí 29 vystupující v této fázi a jim přiřazené činnosti, dimenzí 30 sledující odlišné pohledy na různé oblasti. Součástí formuláře je také seznam vstupů a výstupů fáze. 29 Více o jednotlivých rolích viz kapitola 5.3 Role Vývoj na platformě Windows Mobile Strana 45 z 112

46 Metodika vývoje pro platformu Windows Mobile Úvodní studie Úvodní studie je první fází v metodice a prvním krokem v celém procesu vývoje aplikace. V této fázi přichází v první řadě podnět k vytvoření mobilní aplikace. Tento podnět slouží jako vstup do fáze. Od tohoto požadavku se poté odvíjí první analýza aplikace sloužící k jejímu popisu. Výstupem této fáze je tedy soupis prvotních požadavků, popis aplikace a také nástin projektového plánu obsahujícího odhadovanou dobu vývoje aplikace a odhadované náklady. Detailní popis fáze se nachází v Příloze C (Tabulka ) Analýza Na úvodní studii navazuje fáze Analýza, jejímž cílem je detailnější prozkoumání požadavků na vyvíjenou aplikaci. Analýza pokrývá všechny oblasti, které jsou pro mobilní aplikace specifické. Jde tak o prozkoumání požadavků na hardware mobilních zařízení, požadavků na ovládání aplikace a s tím spojené uživatelské rozhraní a v neposlední řadě také o upřesnění projektového plánu pro informování zadavatele o plánované době vývoje a nákladech. Součástí analýzy může být i analýza business procesu, který má aplikace pokrýt. To však záleží na rozsahu a povaze mobilní aplikace. Více o problematice analýzy a modelování procesů lze nalézt v (22) a (23). Tato oblast je tak rozsáhlá, že překračuje rámec této diplomové práce. Výstupem fáze Analýza je vypracovaná detailní analýza pokrývající specifické oblasti (hardware, software, uživatelské rozhraní a přístup k datům viz kapitola 5.4) a obsahují případy užití vyvíjené aplikace a konceptuální modely tříd a dat sestavené na základě zjištěné analýzy. Detailní popis fáze se nachází v Příloze C (Tabulka ) Návrh Fáze Návrh vychází z poznatků získaných ve fázi Analýza. Na těchto poznatcích se staví návrh aplikace, jehož součástí je tvorba kompletního diagramu 30 Více o dimenzích viz kapitola 5.4 Dimenze. Vývoj na platformě Windows Mobile Strana 46 z 112

47 Metodika vývoje pro platformu Windows Mobile tříd a datového modelu. Důležitým cílem této fáze je také stanovení, na kterých mobilních zařízeních bude vyvíjená aplikace provozována a jak bude tato aplikace ovládána vzhledem k podobě navrhovaného uživatelského rozhraní, aby zohledňovala specifika pro návrh uživatelského rozhraní popsaná v kapitole 6 Návrh uživatelského rozhraní. Výstupem fáze jsou designový model tříd a datový model, stanovená specifikace mobilních zařízení, návrh uživatelského rozhraní a výběr technologií, které mají být použity pro vývoj aplikace a zajišťují práci s daty. Detailní popis fáze se nachází v Příloze C (Tabulka ) Implementace Ve fázi Implementace jde o vytvoření aplikace a realizaci předem navržených modelů. Dochází zde k vytváření programového kódu, realizaci datového úložiště do jeho fyzické podoby a navázání na funkce vyvíjené aplikace a propojení navrženého uživatelského prostředí s programovým kódem v jeden fungující celek. Zároveň je pro aplikaci vytvářen instalátor pro nasazení aplikace do cílového zařízení, případně je stanoven postup jejího nasazení na cílová zařízení. Součástí tvorby programového kódu je také jeho doplnění o dokumentaci k jeho lepšímu porozumění. Výstupem této fáze je vydání verze vyvíjené aplikace, která bude postoupena do další fáze pro její otestování na cílových zařízeních a v prostředí, ve kterém má být aplikace provozována. Detailní popis fáze se nachází v Příloze C (Tabulka ) Testování Do fáze Testování vstupuje vydaná verze programátorem, která je výstupem předchozí fáze Implementace. Testování provádí subjekt v roli Tester. Tento subjekt by měl zkontrolovat chování aplikace podle předem připravených případů užití a zaznamenat zjištěné odchylky. Kromě toho by v této fázi měl doplnit i odchylky zjištěné při nestandardním způsobu používání. V případě, že nenalez žádné odchylky, může být aplikace postoupena do další fáze Nasazení. V opačném případě Vývoj na platformě Windows Mobile Strana 47 z 112

48 Metodika vývoje pro platformu Windows Mobile je aplikace vrácena do předchozí fáze pro napravení odchylek a fáze Testování se poté opakuje. Ideálním prostředím pro vykonávání fáze Testování je prostředí, ve kterém by měla být aplikace provozována a na zařízeních, která mají být k provozu aplikace určena. Výstupem fáze je hotová aplikace, která je postoupena do následující fáze Nasazení. S ní je dodán již i kompletní programový kód vyvinuté aplikace i s dokumentací. Detailní popis fáze se nachází v Příloze C (Tabulka ) Nasazení Fáze nasazení je finální fází metodiky a její hlavní náplní je nasazení vyvinuté aplikace na koncová zařízení a její spuštění do produkčního provozu. Aplikace se nasadí na všechna předem vybraná zařízení, pro které byla vypracována. Součástí finální fáze je také předání aplikace sponzorovi a jeho rozhodnutí o akceptaci finálního výstupu vývoje. Dojde tak k ukončení celého projektu. Výstupem fáze je nasazená aplikace na cílových zařízeních a dokumentace k aplikaci a veškeré materiály k vývoji aplikaci jako je programový kód a grafické objekty, podle znění uzavřené smlouvy. Detailní popis fáze se nachází v Příloze C (Tabulka ). 5.3 Role Rolí v této metodice rozumíme subjekt, který je určen k vykonávání vybraných činností. Tento subjekt je nejčastěji představován osobou specifického zaměření, která je schopna vykonávat požadované činnosti. Mobilní aplikace nejsou svým obsahem tolik rozsáhlé, a proto může jeden subjekt při vývoji mobilních aplikací plnit více rolí současně. Role obsažené v této metodice: analytik, datový specialista, grafik, Vývoj na platformě Windows Mobile Strana 48 z 112

49 Metodika vývoje pro platformu Windows Mobile programátor, specialista na mobilní technologie, specialista na UI, sponzor 31, tester, vedoucí projektu. Vykonávané činnosti jednotlivými rolemi jsou sepsané v jednotlivých fází v Příloze C. Ke každé roli následuje popis, který udává, jaké by měl mít dovednosti subjekt vykonávající tuto roli Analytik Práce analytika je v této metodice založena na analýze požadavků sponzora, který zároveň zastupuje roli zadavatele a zákazníka požadované aplikace. Analytik tak vypracovává nejdříve popis aplikace z pohledu jejího hlavního účelu tak, aby tento popis odpovídal požadavkům sponzora. Následuje detailnější analýza požadavků. Informace získané analytikem poté slouží pro ostatní role jako základ pro jejich tvorbu, proto musí tyto informace odpovídat skutečným potřebám sponzora. Požadavky na analytika: analytické myšlení, dobrá schopnost komunikace a postřeh pro zjišťování požadavků klienta a případných specifik aplikace Datový specialista Datový specialista rozhoduje o použití vhodné technologie pro práci s daty vzhledem ke zjištěným požadavkům analytikem. Jeho náplní je kompletní návrh datového modelu, vytvoření fyzického úložiště dat a způsobu automatizace, kterou může být toto úložiště vytvořeno při nasazování vyvíjené aplikace na mobilní zařízení. 31 Sponzor v této metodice plní zároveň roli zadavatele a zákazníka, což je často u projektů rozdílná role. Vývoj na platformě Windows Mobile Strana 49 z 112

50 Metodika vývoje pro platformu Windows Mobile Požadavky na datového specialistu: znalost datového modelování, znalost technologií 32 využívaných pro práci s daty, znalost specifik práce s daty na mobilních zařízeních Grafik Grafik vytváří na podnět specialisty na uživatelské rozhraní grafické objekty, které jsou pak použity při tvorbě uživatelského rozhraní. Grafik a specialista na uživatelské rozhraní u mobilních aplikací může často být jedna osoba, protože se nevyplatí platit na tuto roli více osob pokud nejde o rozsáhlejší projekt. Požadavky na grafika: cit pro detail, znalost nástrojů pro tvorbu grafických objektů Programátor Programátor nejdříve navrhuje diagram tříd. Vybírá vhodnou technologii pro vývoj a jeho hlavní náplní je ve fázi Implementace tvorba programového kódu, který zajišťuje požadovanou funkcionalitu aplikace. Zároveň vytváří navázání programového kódu k uživatelskému rozhraní a k manipulaci s daty tak, aby vzniknul jeden celek tvořící požadovanou aplikaci. Spolupracuje tedy se specialistou na uživatelské rozhraní a s datovým specialistou. Požadavky na programátora: logické myšlení, znalost vývojových nástrojů 33 pro mobilní vývoj, znalost technologií 34 pro vývoj mobilních aplikací, schopnost práce s modely (datový, tříd). 32 Jedná se především o technologie: relační databáze, XML. Více o práci s daty na mobilních zařízení pojednává kapitola 7 Práce s daty. 33 Nejčastěji vývojového prostředí Visual Studio 34 Viz kapitola 4 Možnosti vývoje pro platformu Windows Mobile Vývoj na platformě Windows Mobile Strana 50 z 112

51 Metodika vývoje pro platformu Windows Mobile Specialista na mobilní technologie Role Specialista na mobilní technologie má na starosti analýzu mobilních zařízení, ať už vlastněných sponzorem nebo plánovaných k nákupu, protože na těchto zařízeních má být vyvíjená aplikace provozována. Z tohoto důvodu je vykonavatel této role zodpovědný za specifikaci hardwarové a softwarové konfigurace, kterou musí cílové zařízení splňovat, aby na něm mohla být vyvíjená aplikace provozována a mohla splnit všechny požadavky na funkcionalitu. Zároveň je vykonavatel této role zodpovědný za proces nasazení aplikace do všech zařízení. Je tedy od něj vyžadováno, aby měl dobré znalosti jak na úrovni hardware, tak i na úrovni software, protože skloubení těchto úrovní je pro vyvíjenou aplikaci klíčové. Součástí dobré znalosti hardwarové úrovně je i znalost přídavných modulů, protože některé vyvíjené aplikace mohou vyžadovat funkcionalitu, kterou je možné splnit pouze použitím specifického hardwaru. Všechna zařízení nemusí být tímto hardwarem vybavena a tak musejí být o tento hardware doplněna. Požadavky na specialistu na mobilní technologie: znalost mobilních platforem a jejich odlišností, znalost hardware pro mobilní zařízení, znalost možností mobilního operačního systému Windows Mobile a možností práce s daty v tomto operačním systému, znalost možností technologií pro vývoj mobilních aplikací Specialista na UI Hlavní náplní specialisty na uživatelské rozhraní je návrh uživatelského rozhraní, zadání tvorby grafických objektů a jejich následné zapracování do návrhu uživatelského rozhraní. Finální podobu uživatelského rozhraní pak v kooperaci s programátorem implementuje do vyvíjené aplikace. Požadavky na specialistu na UI: znalost specifik návrhu uživatelského rozhraní pro mobilní platformy, Vývoj na platformě Windows Mobile Strana 51 z 112

52 Metodika vývoje pro platformu Windows Mobile znalost ovládacích prvků pro operační systém Windows Mobile Sponzor Role Sponzor není součástí vývojového týmu, ale ovlivňuje celý vývoj, jelikož zde plní i roli zadavatele případně i roli zákazníka. Od Sponzora tedy pochází podnět k vývoji aplikace a vývoj ovlivňují jeho požadavky na funkce aplikace. Sponzor je zároveň u konce vývoje aplikace, kdy je stranou, která akceptuje finální podobu aplikace. Na kvalitě řešení závisí také prostředky, které má sponzor k dispozici na vývoj požadované aplikace Tester Rolí testera je testování vydané verze aplikace z fáze Implementace. Tester aplikaci testuje nejdříve podle případů užití a sleduje vzniklé události, které neodpovídají očekávanému chování. Vede si záznam o těchto událostech, které doplní i o zjištěné nestandardní chování, které vzniklo při používání aplikace mimo rámec případů užití. V případě, že nenalezl žádné odchylky, je aplikace připravena k nasazení. V opačném případě se vrací zpět do fáze Implementace, aby byly zjištěné odchylky odstraněny, a po opravě tester provede nové testování aplikace. Pro ideální průběh testování by měl tester testovat aplikace v prostředí, kde má být vyvíjená aplikace provozována po jejím nasazení. Požadavky na testera: smysl pro detail, pečlivost, znalost mobilních aplikací, znalost ovládání mobilní platformy Windows Mobile Vedoucí projektu Vedoucí projektu má na starosti vedení projektu, který se zabývá vývojem požadované mobilní aplikace. Využívá k tomu patřičné nástroje 36. Jeho úkolem je směrování celého vývojového týmu tak, aby byl projekt zdárně dokončen. Vytváří 35 Seznam ovládacích prvků a jejich rozdílnost ve verzích Windows Mobile viz (24) 36 Nástroje pro podporu řízení a plánování projektů - např. Microsoft Project Vývoj na platformě Windows Mobile Strana 52 z 112

53 Metodika vývoje pro platformu Windows Mobile časový harmonogram projektu a sleduje vynaložené náklady na realizaci tohoto projektu. Zároveň je osobou, která o těchto plánech komunikuje se sponzorem. Požadavky na vedoucího projektu: dobré organizační schopnosti, schopnost komunikace se členy týmu, schopnost řídit a motivovat členy týmu. 5.4 Dimenze Dimenze v metodice pro vývoj představují pohledy na vývoj aplikace z různých oblastí. Každý tento pohled obsahuje určitá specifika, která je nutná při vývoji respektovat. Jejich nedodržení vede k neúspěchu mobilní aplikace. Při výběru dimenzí jsem vycházel z MMDIS (2) a vybral jsem ty dimenze, které jsou nejdůležitější pro vývoj mobilních aplikací: hardware, software, uživatelské rozhraní, data/informace Hardware Dimenze Hardware se na vývoj aplikace dívá z pohledu vybavenosti a hardwarových parametrů mobilních zařízení. Různé hardwarové konfigurace mobilních zařízení znamenají rozdílné možnosti při vývoji aplikací. O pohledu na hardware, na kterém je provozován operační systém Windows Mobile pojednává kapitola: Hardwarový pohled Software Dimenze Software se u vývoje aplikace pro mobilní zařízení dívá na možnosti vývoje aplikací a také na možnosti, které nabízí softwarová platforma (míněn je operační systém), na které mají být aplikace provozovány. Vývoj na platformě Windows Mobile Strana 53 z 112

54 Metodika vývoje pro platformu Windows Mobile O pohledu na software (operační systém) jako platformu pojednává kapitola Softwarový pohled z hlediska softwaru. Na možnosti vývoje z hlediska technologií pro vývoj pak navazuje kapitola 4 Možnosti vývoje pro platformu Windows Mobile Uživatelské rozhraní Uživatelské rozhrání je u mobilních aplikací velmi specifická záležitost. Záleží na výkonu mobilního zařízení, velikosti displeje a také typu zařízení. O specifikách návrhu uživatelského rozhraní pro mobilní aplikace pojednává následující samostatná hlavní kapitola 6 Návrh uživatelského rozhraní Data/Informace Většina aplikací pracuje s daty. Data mohou být uchovávána různým způsobem a různě strukturována a podle toho jsou odlišné také přístupy k těmto datům. Aplikace tak využívají podle svého zaměření a požadavků na práci s daty některý z těchto přístupů případně jejich kombinaci. Jaké jsou možnosti přístupu k datům popisuje kapitola 7 Práce s daty. Ukázky jsou pak demonstrovány pomocí technologií.net Compact Framework a SQL Server Compact Edition. Vývoj na platformě Windows Mobile Strana 54 z 112

55 Návrh uživatelského rozhraní 6 Návrh uživatelského rozhraní U mobilních aplikací je návrh uživatelského rozhraní jedním z nejvíce specifických a hlavně také nejdůležitějších faktorů ovlivňujících úspěšnost aplikace. Proto je velmi důležité nejdříve vyhodnotit, jaká jsou cílová mobilní zařízení z hlediska výkonu, velikosti displeje (resp. velikost ovládací pluchy) a způsobu ovládání zařízení. Výkon zařízení ve spojení s verzí operačního systému a použité technologie pro vývoj ovlivňuje způsob, jak bude vyvíjená aplikace ovládána a jak bude uživatelské rozhraní vypadat po grafické stránce. Každá technologie pro vývoj nemusí totiž umožňovat zamýšlený způsob ovládání resp. podporovat některou z funkcionalit určenou pro ovládání aplikací. Toto omezení se může týkat i starší verze operačního systému. Výkon zařízení je pak také limitujícím faktorem. Výkon zařízení může totiž umožňovat provoz novější verze operačního systému, která podporuje požadovanou funkcionalitu ovládání aplikací, ale výkon není natolik silný, aby zajistil plynulé fungování tohoto způsobu ovládání. Aplikace by pak fungovala, ale zcela jistě by se s ní uživateli nepracovalo příjemně. Tato skutečnost by vedla k tomu, že by uživatel aplikaci nemusel vůbec používat anebo by jí využíval pouze minimálně a tím pádem by prostředky vynaložené na její vývoj byly zbytečně vyplýtvány. V případě, že je aplikace zamýšlena na široké spektrum mobilních zařízení, tak je důležité také předem stanovit, zda se vývoj aplikace bude ubírat směrem jedné vývojové větvě pro všechny typy zařízení anebo směrem kdy je každý typ zařízení či skupina zařízení s podobnými parametry zvláštní větví a jsou sdílené pouze společné data a funkce a uživatelské rozhraní je vytvářeno pro konkrétní typ zařízení. Způsob kdy je pro všechna zařízení navržen jeden způsob ovládání a stejné uživatelské rozhraní je kompromisním řešením. Do jisté míry jsou tak výkonnější a vybavenější mobilní zařízení ochuzována na úkor těch méně výkonných a méně vybavených. Na druhou stranu pokud to povaha aplikace dovoluje a není tak Vývoj na platformě Windows Mobile Strana 55 z 112

56 Návrh uživatelského rozhraní součástí kompromisního řešení odebrání vhodného způsobu ovládání, pak je vhodné mít pouze jednu vývojovou větev pro všechny typy cílových zařízení. Je to výhodné zejména z finančního hlediska, protože je zřejmé, že čím více je odlišností při vývoji aplikace pro jednotlivá mobilní zařízení, tak tím větší jsou i nutné prostředky pro vývoj této aplikace. Když se na aplikace podíváme z pohledu celého jejího životního cyklu, tak se náklady ještě zvýší, protože opět čím více odlišných verzí, tím více nákladné jsou případné budoucí úpravy a podpora aplikace. U návrhu uživatelského prostředí je velice důležitá také intuitivnost aplikace pro snadné pochopení ovládání, s čímž souvisí i výběr vhodných grafických symbolů zastávajících význam grafických tlačítek podobně jako je tomu u desktopových aplikací. Oproti desktopovým aplikacím je zde ovšem jeden zásadní rozdíl, který je nutné předem důkladně zanalyzovat. Jedná se o velikost plochy, které je možné využít pro ovládání aplikace. Na mobilních zařízeních je pochopitelně daleko méně místa pro rozmístění prvků a tak je omezené jak rozmístění prvků tak i počet prvků, které tvoří ovládání aplikace. V poslední době, kdy je na vzestupu zejména dotykové ovládání celého telefonu díky dotykovým displejům je před návrhem se nutné rozhodnout zda zvolit ovládání pomocí prstů či pomocí dotykového pera. Každý tento způsob má samozřejmě své klady, ale stejně tak i zápory. Dalším faktorem ovlivňující návrh grafického uživatelského rozhraní je typ cílového zařízení, protože v případě Smartphone zařízení je ovládání odlišné od ovládání na PDA a rozdíl je i v dostupných prvcích využitelných v prostředí aplikace. Pro zařízení PDA s dotykovým displejem je nabídka ovládacích prvků bohatší díky možnosti libovolného klikání na obrazovku zatímco na Smartphone zařízeních se takřka vše ovládá přes nabídkové menu a procházení mezi prvky funguje na principu směrového joysticku. Celkově rozdíl mezi PDA a Smartphone souvisí tedy také s verzí OS, která na daném zařízení běží a tím pádem i na výběru ovládacích prvků. Vývoj na platformě Windows Mobile Strana 56 z 112

57 Návrh uživatelského rozhraní 6.1 Návrh GUI pro ovládání pomocí dotykového pera Ovládání pomocí dotykového pera patří mezi dlouhodobě zaběhnutou záležitost v historii zařízení s dotykovými displeji. Významným a v podstatě největším kladem tohoto ovládání aplikací je fakt, že toto krátké dotykové pero umožňuje zejména vysokou přesnost při vzájemné interakci displeje a dotykového pera a tak je možné při návrhu grafického uživatelského rozhraní vkládat prvky s menšími rozměry. Díky tomu je možné do ovládací plochy aplikace vložit i více prvků bez obav z toho, že jej uživatel nebude moci použít díky tomu, že by na ně nebyl schopen kliknout. Zejména u menších displejů je vhodnější používat toto řešení návrhu grafického uživatelského rozhraní. Největší nevýhodou ovládání pomocí dotykového pera je skutečnost, že uživatel musí mít obě ruce volné, protože jednou rukou drží zařízení a druhou rukou ovládá aplikaci pomocí dotykového pera. Díky tomuto omezení tak není možné např. vytáčet telefonní čísla či procházet telefonní seznam pomocí jedné ruky a tím pádem se tento způsob stává nepraktickým pro použití v situacích, kdy není možné mít obě ruce volné což je např. situace kdy je telefon přichycený v držáku v automobilu a řidič potřebuje za jízdy vytočit číslo či vybrat ze seznamu kontakt pro volání. Na druhou stranu asi si lze těžko představit ovládání složitějších aplikací jako je poštovní klient či program pro správu financí bez dotykového pera (i když jak bude později poznamenáno v kapitole 6.2 Návrh GUI pro ovládání pomocí prstů, některé pokusy a zejména současný trend vede vývojáře k tomu, aby opustili od návrhu grafického uživatelského rozhraní pro dotykové pero). 6.2 Návrh GUI pro ovládání pomocí prstů V poslední době, zejména od uvedení mobilního zařízení iphone od společnosti Apple došlo na poli mobilních zařízení s dotykovými displeji doslova k revoluci v podobě ovládání pomocí prstů. Zatímco do vydání mobilního zařízení iphone existovalo ovládání zařízení poháněných OS Windows Mobile prakticky výhradně pomocí dotykového pera, tak s nástupem tohoto revolučního zařízení co se ovládání týče se i na poli Windows Mobile začaly vytvářet aplikace optimalizované právě pro ovládání pomocí prstů. Ovšem návrh takovýchto grafických uživatelských rozhraní sebou nese jistá úskalí. Jak již bylo zmíněno v předchozí kapitole, tak zatímco Vývoj na platformě Windows Mobile Strana 57 z 112

58 Návrh uživatelského rozhraní u dotykového pera, které se vyznačuje vyšší přesností, mohou být ovládací prvky menších rozměrů a lze na ně bez problémů následně kliknout, tak u dotykového ovládání musejí být prvky naopak natolik rozměrné, aby na ně šlo bez problémů kliknout na displeji pomocí prstu. Díky nutnosti větších rozměrů ovládacích prvků je potom nutné i přizpůsobit rozmístění a počet ovládacích prvků, tak aby bylo možné aplikaci pohodlně ovládat pomocí prstů. Což může být např. u menších displejů s úhlopříčkou o rozměrech 2.2 palce velký problém, protože při současně malém displeji a velkých rozměrech ovládacích prvků je patrné, že jich nelze na displej umístit velký počet. Řešení se nabízí v podobě několika ovládacích obrazovek, které může aplikace obsahovat. Lze udělat i ovládací obrazovku delší a poté bude uživateli umožněno v aplikaci obrazovku posouvat pomocí posuvných lišt. Všechna záporná fakta jsou ale převýšena pohodlností ovládání, které v sobě představuje ovládání pomocí prstů. Svědčí o tom i fakt, že se čím dál více objevují aplikace pro kompletní ovládání mobilních zařízení vybavených operačním systémem Windows Mobile právě pomocí pouhých prstů. 6.3 Návrh GUI pro ovládání bez dotykového displeje Při návrhu grafického uživatelského rozhraní pro mobilní zařízení bez dotykového displeje je postup návrhu zcela odlišný, zejména při návrhu pro verzi operačního systému Windows Mobile řady Standart, protože viz (24), ve verzi Standart nejsou k dispozici všechny prvky jako v ostatních verzích. Dalším faktorem, který významně ovlivňuje návrh je způsob přechodu mezi prvky v aplikaci, jelikož uživatel nemůže jako u dotykových displejů přeskočit, na kterýkoliv prvek se mu zachce na první dotek. U bezdotykových displejů je přechod realizován nejčastěji pomocí směrového joysticku či pomocí číselných kláves anebo pomocí rolovacího kolečka, kterým jsou některá zařízení vybavena. 6.4 Závislost návrhu GUI podle velikosti displeje Jelikož existují zařízení s různou velikostí displejů a především s různým rozlišením, tak je nutné často navrhnout GUI pro každé rozlišení zvlášť. Běžně se Vývoj na platformě Windows Mobile Strana 58 z 112

59 Návrh uživatelského rozhraní tedy setkáváme s verzemi aplikací pro QVGA 37 a VGA 38 a nově také WQVGA 39 a WVGA 40 rozlišení. Některé rozdíly v rozlišeních lze řešit pomocí posuvných lišt. Aplikace navrhnuté pro rozlišení 240x240 zcela jistě půjdou bez problémů zobrazit na zařízeních s rozlišením 320x240. V opačném případě tedy u aplikací navrhnutých pro rozlišení 320x240 zobrazovaných na zařízeních s rozlišením 240x240 budou uplatněny posuvné lišty. Ovšem musejí být při návrhu začleněny do návrhu grafického uživatelského rozhraní. Např. při návrhu formuláře v.net Compact Frameworku lze nastavit vlastnost AutoScroll, která automaticky zajišťuje při menším rozlišení a zobrazované ploše než je velikost formuláře v aplikaci, jeho posouvání pomocí posunovacích lišt. Obrázek Formulář s aktivní posuvnou vertikální lištou umožňující posouvání obsahu formuláře v případě, že je formulář na výšku delší než je zobrazitelná oblast v zařízení na displeji. 37 QVGA (Quarter Video Graphics Array) rozlišení v pixelech 320 x 240, 240 x VGA (Video Graphic Array) rozlišení v pixelech 640 x 480, 480 x WQVGA (Wide Quarter Video Graphics Array) rozlišení v pixelech 400 x 240, 240 x WVGA (Wide Video Graphic Array) rozlišení v pixelech 800 x 480, 480 x 800 Vývoj na platformě Windows Mobile Strana 59 z 112

60 Práce s daty 7 Práce s daty Většina aplikací je vytvářena z důvodu, aby umožňovala požadovaným způsobem pracovat s daty. Některé aplikace mohou pracovat s menším objemem dat a některé zase naopak s větším objemem dat. Podle toho se také liší přístup k datům z hlediska jejich fyzické realizace a logické struktury. Fyzická realizace datových struktur se může od logické struktury značně lišit. Je ovlivněna použitými programovacími prostředky, operačním systémem, systémem řízení báze dat a technikami ukládání dat v pamětech počítače. (19 str. 16) V některých aplikacích stačí např. pracovat pouze s textovými soubory a jinde už je potřeba vyspělejší přístup na úrovni databáze anebo dat uložených ve formátu XML. Na platformě Windows Mobile jsou k dispozici všechny tyto varianty. A jelikož se práce orientuje na vývoj aplikací pro platformu Windows Mobile a jako technologii pro vývoj jsem zvolil.net Compact Framework, tak rozeberu možnosti zpracování dat i s příklady právě v tomto frameworku. 7.1 Data v souborech Název této části je do jisté míry zavádějící. Ať už se jedná o data ve formátu XML či data uložená v databázích, tak v obou případech jsou data uložena v souborech z pohledu jejich fyzické realizace. V případě XML je to soubor s koncovkou XML a příslušnou strukturou 41 souboru a v případě databáze se jedná také o soubor, který má v sobě uložená patřičná data a strukturu podle toho o jaký systém řízení báze dat se jedná. 42 Z tohoto důvodu je nutné vymezit, co pojem data v souborech znamená pro tuto kapitolu. Pod tímto pojmem zde uvažuji o souborové koncepci datové základny. 41 Struktura XML souboru viz (25) 42 Pojem Systém řízení báze dat (SŘBD) představuje nejen databázi, ale i softwarové prostředky jak k datům přistupovat a pracovat s nimi. Každý výrobce si formát a strukturu datové základny navrhuje sám. Vývoj na platformě Windows Mobile Strana 60 z 112

61 Práce s daty Soubor je uspořádaná množina vět, které popisují určenou část reality. Charakteristickým rysem souboru je, že počet jeho vět nemusí být před zpracováním algoritmu znám. Věty souboru popisujeme jedním typem (s pevnou strukturou nebo variantní). Operacemi na úrovni souboru jsou čtení a zápis věty souboru. (19 str. 18) Jsou to tedy soubory např. textového typu či standardizované formáty jako CSV (kde jsou data oddělena po sloupcích a řádcích a mají představovat tabulku, kdy každý nový řádek představuje nový řádek v tabulce a sloupce tabulky jsou v rámci řádku oddělené středníkem, tedy znakem ; ). Také může jít v mnoha případech o uživatelsky definovaná data z pohledu vývojáře. Vývojář si určí z nějakého (pro fungování aplikace) důležitého důvodu vlastní strukturu ukládání dat. V dnešní době je toto nahrazováno formátem XML. Tento systém vlastní struktury dat má uplatnění např. v konfiguračních souborech aplikací Přístup v.net Compact Frameworku V.NET Compact Frameworku se k souborům přistupuje přes jmenný prostor System.IO, který označuje anglické Input-Output, tedy vstup a výstup. V tomto jmenném prostoru se nacházejí třídy pro práci s adresáři a soubory. Zároveň obsahuje další jmenné prostory (např. pro obsluhu sériového přenosu dat). Pro načítání a zapisování obsahu do souboru lze použít více tříd z tohoto jmenného prostoru. Rozdíl v jejich použití závisí na funkčních požadavcích vyvíjené aplikace. System.IO. Stream, StreamReader, StreamWriter Třída Stream ve jmenném prostoru System.IO představuje datový proud, který obsahuje sekvenci bytů jakéhokoliv typu dat. Pro práci s tímto proudem pak slouží třídy (nacházejí se ve stejném jmenném prostoru) StreamReader, který jak název napovídá, slouží ke čtení datového proudu a StreamWriter, který slouží naopak k zápisu proudu. Následující příklad demonstruje zápis proudu do souboru. void ZapisTextDoSouboru() { StreamWriter sw = new StreamWriter("test.txt"); sw.write("ahoj"); } Vývoj na platformě Windows Mobile Strana 61 z 112

62 Práce s daty Na příkladu je vidět, že zápis proudu, který zde představuje textový řetězec se slovem Ahoj, je v podání.net Compact Frameworku jednoduchou záležitostí. Nutno dodat, že příklad nezohledňuje situaci, kdy např. už existuje soubor test.txt, nebo je vyžadováno specifické kódování souboru. Tyto situace se dají samozřejmě zohlednit pomocí parametrů, buď jejich samotným nastavením pro objekt sw, anebo již jejich nastavením v konstruktoru tohoto objektu. Pro celkově správné zpracování takovéto metody by bylo vhodné ještě použít klauzule try, catch a finally, které řídí výjimky v průběhu provádění kódu. System.IO. FileStream, File Ne vždy je jednoduché přistupovat k souborům, protože můžou podléhat různým přístupovým právům, anebo k nim musí přistupovat více uživatelů najednou a každý má různé úkoly. Typicky např. situace, kdy více uživatelů čte z jednoho souboru a jeden uživatel do něj data ukládá. To také souvisí i s více vláknovým zpracováním aplikace, kdy je nutné synchronizovat, řadit a udávat prioritu jednotlivým procesům zasahujících do práce se soubory uvnitř aplikace. Právě k tomuto účelu (vyjma samotného zpracování vláken) slouží třídy File a FileStream. Třída FileStream vezme datový proud okolo souboru a umožňuje pak následné asynchronní a synchronní čtení a zápis do něj. Třída File metodou Open nastavuje při otevření souboru následující parametry: FileMode (jakým způsobem operační systém soubor otevře), FileAccess (přístup k souboru), FileShare (řízení přístupu k souboru ostatními objekty typu FileStream z pohledu vláknového zpracování). Jelikož by příklad zabíral hodně místa kvůli nutnosti více vláknového zpracování, následuje pouze ukázka nastavení výše popsaného objektu FileStream. { } FileStream fs = System.IO.File.Open("test.txt", FileMode.Open, FileAccess.Write, FileShare.Read); Jak je ze zkráceného příkladu patrné, tak je možná i práce s daty uloženými v souborech, které podléhají složitějšímu přístupu. Pomocí.NET Compact Vývoj na platformě Windows Mobile Strana 62 z 112

63 Práce s daty Frameworku je tato obsluha relativně snadná. Ovšem u složitějších případů musí vývojář dostatečně ovládat i práci s vlákny. System.IO. BinaryReader, BinaryWriter Dalšími možnostmi jak zapisovat a číst data v souborech je pomocí tříd BinaryReader, která slouží ke čtení a BinaryWriter, která se používá k zápisu. Obě tyto třídy ke své práci využívají třídu Stream zmíněnou v kapitole 0, která umožňuje čtení datového proudu a zápis do něj. S tímto datovým proudem lze dále pracovat pomocí tříd právě ze zmíněné kapitoly. 7.2 Data ve formátu XML XML formát je v současné době hojně využívaný u webových technologií a také k práci s uživatelskými daty. Zároveň také prakticky ke všemu, k čemu se dříve využívaly soubory s vlastní strukturou dat, tak jak je popsáno v kapitole Data v souborech. Na formát XML lze tedy nahlížet z tohoto pohledu, že je jakýmsi nástupcem uchovatele dat, který je daleko vyspělejší a slouží jako univerzální 43 datový formát, což je z hlediska vývoje aplikací velmi důležité. Pokud mají informační a komunikační systémy fungovat efektivně, je potřeba, aby se používaly jednotné formáty dat. Bez nich se spousta prostředků zbytečně vyplýtvá na implementaci různých pomocných utilit a modulů, které umožní spolupráci softwaru od různých výrobců. Dnes si je toho vědoma většina komerčních firem i akademických instituci. Profesní sdruženi proto vytvářejí formáty založené na XML, které vyhovují jejich potřebám. (25 str. 21) Odpůrci formátu XML mohou poukazovat, že jeho využitím dochází k nárůstu velikosti výsledného datového souboru. Na jednu stranu je to v některých případech použití pravda, ale na stranu druhou tento formát přináší daleko lepší možnosti práce s těmito datovými soubory. Jak je tomu ale právě u mobilních zařízení, kde je často kapacita a rychlost zpracování dat tím hlavním, co může určovat vybraný způsob přístupu k datům? Platí stejná zásada jako u stolních počítačů. Přístup k datům musí být vybrán tak, aby 43 Jak píše J.Kosek viz (25) Vývoj na platformě Windows Mobile Strana 63 z 112

64 Práce s daty byla aplikace schopná pružně reagovat na uživatelské požadavky a zároveň využívala zařízení tak, aby ho co nejméně limitovala 44. Tedy z uživatelského hlediska to znamená fakt, že když si uživatel vyžádá např. data o zákazníkovi, tak očekává, že se mu zobrazí do přijatelné doby a nebude na ně čekat dlouho z důvodu, že zařízení není schopné rychleji procházet obsáhlý datový soubor, protože to neumožňuje jeho výkon a vybraný přístup k datům. Proto tedy když budeme např. vytvářet aplikaci jako je RSS čtečka či správce oblíbených adres a RSS kanálů využijeme raději XML formát dat namísto obyčejného textového souboru anebo databáze, kterou pohání odlehčená verze SQL Serveru. Textový soubor by zcela jistě danou aplikaci také dokázal obsloužit z hlediska datového úložiště. Strukturou by ale byl nepřehledný. Navíc tento přístup z hlediska vývoje nenabízí takovou funkcionalitu jako XML přístup k datům, který je nejen v.net Compact Frameworku nabízen ve formě předpřipravených tříd s velmi propracovanými metodami. Naproti tomu volba SQL Serveru by pokryla jak nabízenou funkcionalitu předpřipravených tříd pro XML, tak i přehlednou strukturu. Je však zbytečné na jednoduché věci používat tento nástroj, protože svým během zvyšuje zátěž operačního systému a celkově tak snižuje výkon zařízení. I když v dnešní době se výkonnost mobilních zařízení rapidně zvedla 45 a tak je provoz databázové aplikace dostatečně rychlý. U uživatelů ale panuje starý zažitý zvyk a také nechuť vztahující se k instalaci další aplikace do systému, která je potřeba k provozování další aplikace. Navíc do datového souboru ve formátu XML se mohou velmi lehce podívat a následně procházet data i bez aplikace, pro kterou je tento soubor používán (např. webovým prohlížečem ať už přímo z mobilního zařízení či ze stolního počítače) Práce s XML v.net Compact Frameworku Nyní popíši, jaké jsou možnosti přístupu k datům ve formátu XML a možnosti práce s nimi v.net Compact Frameworku. Bude se jednat zejména o popis jmenného prostoru System.XML. 44 U mobilních zařízení jde především o skutečnost, aby aplikace nezapříčinila situaci, kdy nebude schopen uživatel např. zvednout příchozí hovor. 45 Prozatím nejrychlejší zařízení je poháněno procesorem s taktem 1GHz a má k dispozici paměť RAM o kapacitě 512MB. Vývoj na platformě Windows Mobile Strana 64 z 112

65 Práce s daty System.XML Jmenný prostor System.XML nabízí vývojářům opravdu veliké množství podpůrných tříd pro práci s daty ve formátu XML. Mimo to obsahuje ještě další jmenné prostory, které obsahují další třídy plné velmi užitečných metod pro práci s daty v dokumentech XML. Jsou to jmenné prostory: System.XML.Serialization System.XML.Schema System.XML.XPath System.XML.Xsl System.XML.Serialization První ze jmenných prostorů System.XML.Serialization slouží k ovládání serializace instancí objektů do formátu XML a zpět. Serializací instance objektu obecně převádíme jeho podobu do textového vyjádření, kde jsou jednotlivé atributy odděleny středníkem. U XML Serializace ale dochází k převodu instancí objektu do formátu XML. Hlavní třídou je XmlSerializer, který se stará o vlastní proces serializace a zároveň deserializace. Pro zápis a čtení pak využívá již v dřívějších kapitolách zmíněné třídy Stream, TextReader a TextWriter. Ovšem lepší bude využít pro XML lépe využitelné třídy XmlTextReader a XmlTextWriter. System.XML.Schema Jak již samotný název jmenného prostoru napovídá, tak se jedná o práci s takzvanými XML schématy. Třídy v tomto prostoru obsažené tak obsluhují práci s XML Scheme (XSD). 46 System.XML.XPath Tento jmenný prostor v sobě ukrývá třídy pro práci s XML daty (navigování a jejich editaci) pomocí dotazovacího jazyku XPath 2.0. Jazyk XPath slouží k výběru částí XML dokumentu. Pro potřeby jazyka je dokument chápán jako stromová hierarchie, kde jsou jednotlivé uzly tvořeny elementy, atributy a obsahem elementů. Výsledkem výrazu v XPath je pak skupina uzlů. (25) 46 K tématu XML Schemat více viz (25) Vývoj na platformě Windows Mobile Strana 65 z 112

66 Práce s daty System.XML.Xsl Další z jazyků, který je podporován v rámci.net frameworku v rámci tohoto jmenného prostoru. XSL (extensible Stylesheet Language) vznikl jako univerzální stylový jazyk, který by měl nabízet funkčnost všech ostatních existujících stylových jazyků a dále ji rozšířit. Samotná syntaxe jazyka je samozřejmě založena na XML, takže pro zpracování stylu lze použít všechny nástroje, které umějí s XML pracovat. (25) Využívá se při transformaci XML dokumentů podle nadefinovaných parametrů. Nadefinováním transformačních pravidel pro jednotlivé elementy tak můžeme dosáhnout transformace do jiné podoby XML souboru či jiných formátů. Není tak problém např. nadefinovat transformační styly pro transformaci XML dat do HTML souboru (typicky např. do tabulek). 7.3 Data v databázích Databázové systémy nabízejí zatím dosud nejlepší způsob uchovávání dat a práci s nimi, zejména pokud se jedná o větší objem dat. Při menším objemu dat by byl způsob práce s daty také dobrý, ale ne vždy je nutné používat takto vyspělý nástroj, který databázové systémy představují. Databází můžeme nazývat i obyčejnou kartotéku, ale v této práci je pod tímto pojmem uvažován vyspělý nástroj, který představují relační databáze, na kterých lze navíc využívat dotazovací jazyk SQL. Na Windows Mobile je hned několik produktů, které zastávají roli databázového nástroje. 47 V této práci se však budu zabývat pouze produktem od firmy Microsoft, konkrétně SQL Server Compact Edition pro demonstraci práce s databázemi na platformě Windows Mobile. Tento produkt běží i na operačním systému Microsoft Windows. Je výhodný tak např. pro vývoj aplikací, které mají své klienty jak pro mobilní zařízení s operačním systémem Windows Mobile tak zároveň i klienty pro stolní a přenosné počítače. Hlavní výhodou je nezávislost aplikace na robustním provedení vyspělejších databázových systémů. Jedná se tedy 47 Více k tématu databázových systémů viz (19) Vývoj na platformě Windows Mobile Strana 66 z 112

67 Práce s daty o integrovanou databázi. Pro provozování aplikace, která spolupracuje s tímto databázovým systémem, stačí nainstalovat tzv. "runtime" balík, který nezabírá takovou kapacitu ať už z hlediska paměťového média (cca 2MB) či operační paměti (alokuje jí pouze při běhu aplikace, resp. využívání databáze a neběží tedy jako služba jako je tomu u složitějších a výkonnějších databázových systémů 48 ). V současnosti se tento produkt nachází ve verzi 3.5. Mezi hlavní výhody z hlediska vývoje aplikací v.net Compact Frameworku vytvářené ve vývojovém prostředí Visual Studio 2008 patří provázanost právě s tímto vývojovým prostředím. Pro vývojáře je připravena v rámci tohoto vývojového prostředí sada nástrojů pro práci s tímto databázovým systémem. Co se týče samotné funkcionality, tak i tato odlehčená verze integrované databáze nabízí využití jazyka LINQ, který je integrován v.net frameworku od verze 3.5. Pro využívání SQL Serveru Compact Edition musíme do projektu přidat referenci na jmenný prostor System.Data.SqlServerCe Práce s SQLCE v.net Compact Frameworku System.Data.SqlServerCe Tento jmenný prostor obsahuje sadu tříd pro práci s daty při užití SQL Server Compact Edition. Následuje seznam klíčových tříd tohoto jmenného prostoru SqlCeCommand SqlCeConnection SqlCeDataAdapter SqlCeDataReader SqlCeEngine SqlCeException SqlCeParameter SqlCeTransaction Jednotlivým třídám se budu věnovat podrobněji v následujících kapitolách věnovaných tomuto jmennému prostoru. Jelikož ukázky jednotlivých operací v rámci těchto tříd by nebyly tak výmluvné, tak budou zkompletovány na konci hlavní 48 Oracle, MSSQL Server, DB2, MySQL a další Vývoj na platformě Windows Mobile Strana 67 z 112

68 Práce s daty podkapitoly 7.3 do jednoho závěrečného příkladu ukazujícího práci s databází už od jejího fyzického vytvoření. System.Data.SqlServerCe.SqlCeCommand Tato třída má na starosti příkazy jazyka relačních databází SQL. Hlavní náplní SQL příkazů je vkládání, mazání, úprava a samozřejmě čtení dat. Nicméně na rozbor jazyka SQL není v této práci místo a není k tomu ani určená. Pro lepší pochopení příkladu (na konci kapitoly) demonstrujícího práci s SQL Serverem Compact Edition doporučuji (v případě neznalosti tohoto jazyka) jinou literaturu zabývající se problematikou jazyka SQL. Příkaz pro čtení se provádí 2 metodami. Lze provést buď čtení výsledků prováděného příkazu s využitím příslušného objektu pro čtení (popsáno v kapitole o třídě SqlCeDataReader), anebo čtení v podobě prvního řádku a prvního sloupce (např. pro ověření přihlášení uživatele jako návrat dotazu přihlášení s parametry jméno a heslo se vrátí ID číslo uživatele, tedy v případě úspěšného přihlášení se vrátí jedno číslo, což odpovídá přesně potřebám tohoto čtení první řádek a první sloupec). Provádění každého příkazu se musí tedy zavolat vhodnou metodou ve chvíli, kdy má dojít k jeho zpracování. U příkazu je možné nastavit atribut CommandTimeout, který říká jak dlouho má program čekat na odpověď serveru než přeruší vykonávání příkazu a vyhodnotí výsledek jako neúspěšný resp. bez odpovědi. Vše je samozřejmě vhodné propojit klauzulemi try, catch a finally pro ošetření výjimek. System.Data.SqlServerCe.SqlCeConnection Třída, která určuje připojení k datovému zdroji. Kromě fyzické cesty k datovému zdroji, lze určit parametr password, který slouží jako přístupové heslo k databázi. Tato třída dědí od abstraktní třídy System.Data.Common.DbConnection, obsažené v.net Compact frameworku. Tato abstraktní třída slouží jako předloha pro všechny třídy obsluhující připojení k datovému zdroji, ať už se jedná o Oracle klienta, standardního SQL klienta, ODBC klienta, OleDB klienta a další. Kromě samozřejmosti jako je otevírání a zavírání Vývoj na platformě Windows Mobile Strana 68 z 112

69 Práce s daty připojení nabízí i další metody. Jsou to např. začátek transakce, změna databáze, získání schéma databáze či dalších informací o databázi včetně meta-dat. System.Data.SqlCeDataAdapter SqlCeDataAdapter slouží jako jakýsi most mezi SQL Serverem a objektem DataSet 49. Tento most provede SQL příkaz pro čtení dat z SQL Serveru a načtenými daty naplní instanci objektu DataSet. Tento objekt představuje obraz dat v paměti, na kterých jsou prováděny operace a poté jsou teprve na požadavek uloženy, resp. dojde k uskutečnění všech SQL příkazů typu INSERT, DELETE a UPDATE). (26) (27) System.Data.SqlCeDataReader Kromě vkládání, upravování a mazání dat v databázi je další hlavní činností čtení. Čtení dat z databáze je samozřejmě naprosto nepostradatelnou součástí práce v jakémkoliv programu, který má sloužit uživateli pro práci s daty, která jsou uložena v databázi. Čtení dat probíhá na uživatelův požadavek. Výsledek požadavku pak slouží jako výstup aplikace. A právě to má na starosti třída SqlCeDataReader. Vytvořená instance třídy SqlCeDataReader čte data z prováděného SQL příkazu viz kapitola 0, která se příkazy zabývá. Jak se s tímto objektem pracuje, bude opět znázorněné v konečném příkladu. System.Data.SqlServerCe.SqlCeEngine Pro práci s fyzickou podobou databáze slouží třída SqlCeEngine. Umožňuje vytvoření databáze (dojde k vytvoření fyzické podoby souboru v zadaném úložišti), ale také zmenšování objemu databáze přeskládáním prázdných míst, opravení databáze smazáním poškozených řádků či pokusem o jejich opravení. Pro přechod z předchozí verze 3.1 slouží metoda Upgrade, která provede potřebné operace pro převod dat do nové verze a výsledek je uložen do nového souboru což tedy zaručuje možnou kompatibilitu s databázemi předchozí verze. To každý vývojář 49 ze jmenného prostoru System.Data Vývoj na platformě Windows Mobile Strana 69 z 112

70 Práce s daty zcela jistě ocení, protože nezřídka se stává, že nové verze produktů nejsou zpětně kompatibilní se svými staršími verzemi. System.Data.SqlServerCe.SqlCeException Při vývoji je důležité zároveň odchytávání výjimek, protože vývojář při ladění aplikace ví, ke které chybě dojde. Aplikace také může pomocí výjimek zobrazovat uživateli potřebné informace o nastalých událostech. System.Data.SqlServerCe.SqlCeParameter Parametry slouží při vykonávání SQL příkazů k lepšímu ošetření zejména vstupních dat. Vezměme si např. situaci, kdy bychom chtěli vkládat informace o uživateli obchodu, který se registruje do systému. Ve chvíli, kdyby se vstupní data skládali např. z 10 atributů tak by se SQL příkaz stal již značně nepřehledný díky spojování proměnných obsahujících tato vstupní data do jednoho uceleného příkazu. Zatímco s využitím parametrizovaných vstupů nás výsledná podoba SQL příkazu vůbec trápit nemusí, jelikož vstupy jsou jednak automaticky poskládány v ucelený SQL příkaz, ale zároveň je řešen i datový typ tohoto vstupního parametru což je velikou výhodou. System.Data.SqlServerCe.SqlCeTransaction Ne vždy je práce s databází jednoduchá v tom smyslu, že stačí vykonat pouze 1 příkaz. V takových případech vyvstává otázka jak ošetřit situace, kdy dojde k přerušení provádění příkazů a některá data již byla změněna a některá ne, i přestože ke změně mělo dojít. Ve světě databází tento problém řeší tzv. transakce. Jde o princip, kdy jsou všechny příkazy provedeny a uloženy až ve chvíli kdy je celá transakce poslána k provedení. A ve chvíli kdy dojde k nějaké události, která narušuje toto provádění, tak je možné provést tzv. Rollback. Rollback znamená, že změny již provedené se neuloží a data zůstanou v takové podobě, v jaké se nacházela před započetím provádění transakce. SQL Server Compact Edition transakce podporuje také. U transakcí lze nastavit atribut IsolationLevel, který stanovuje jak je možné s daty uvnitř databáze nakládat během transakce. Při odesílání transakce je pak možné vybrat, jak se mají změny uložit, zda okamžitě anebo až po stanoveném časovém intervale. Vývoj na platformě Windows Mobile Strana 70 z 112

71 Práce s daty Příklad práce s databází Na řádku 8 dochází k vytvoření instance třídy Produkt, který bude předmětem uložení do databáze. Fyzická podoba databáze je vytvořená na řádcích Na řádcích je vytvořeno a otevřeno připojení k databázi. Řádky zajišťují vytvoření tabulky Produkty v databázi. Řádek 37 začíná transakci, která obsahuje vložení produktu do databáze přes parametrizovaný vstup, jeho úpravu. Transakce je poté odeslána na řádku 65. Řádek 68 vytváří příkaz pro čtení, který je uskutečněn na následujícím řádku. Samotné procházení výsledků čtení a jejich zpracování je na řádcích Na řádcích je zachytávání výjimek a vrácení všech změn, které už byly v rámci prováděné transakce vykonány. Řádky pak uzavírají spojení s databází, jestliže je stále aktivní a uzavírají i spojení čtenáře dat SqlCeConnection sqlcecon = null; SqlCeTransaction sqlcetrans = null; SqlCeDataReader reader = null; List<Produkt> produkty = new List<Produkt>(); try { // Vytvoření instance produktu Produkt p = new Produkt { Nazev = "HTC TyTn II", Cena = 12499, PocetKusu = 5 }; // Vytvoření fyzické podoby databáze - vytvoření souboru SqlCeEngine sqlceengine = new SqlCeEngine("Data Source = databaze.sdf"); sqlceengine.createdatabase(); // Vytvoření spojení k databázi a jeho otevření sqlcecon = new SqlCeConnection("Data Source = databaze.sdf"); sqlcecon.open(); // Vytvoření příkazu a jeho provedení (vytvoří tabulku Produkty v databázi) SqlCeCommand sqlcecmd = new SqlCeCommand("" + "CREATE TABLE Produkty" + "(" + "ID int NOT NULL PRIMARY KEY IDENTITY(1,1)," + "Nazev nchar(128) NOT NULL UNIQUE," + "Cena money NOT NULL," + "PocetKusu int NOT NULL DEFAULT(0)" + ")", sqlcecon); sqlcecmd.executenonquery(); // Začátek transakce sqlcetrans = sqlcecon.begintransaction(); Vývoj na platformě Windows Mobile Strana 71 z 112

72 Práce s daty // Nový příkaz pro vložení produktů sqlcecmd = new SqlCeCommand("INSERT INTO Produkty" + "(Nazev,Cena,PocetKusu) " + "VALUES (@Nazev,@Cena,@PocetKusu)", sqlcecon, sqlcetrans); // 3 způsoby definování parametrizovaných vstupů sqlcecmd.parameters.add("nazev", p.nazev); sqlcecmd.parameters.add("cena", System.Data.SqlDbType.Money).Value = p.cena; SqlCeParameter sqlcep = new SqlCeParameter("PocetKusu", System.Data.SqlDbType.Int); sqlcep.value = p.pocetkusu; sqlcecmd.parameters.add(sqlcep); // Provedení příkazu - vložení produktu sqlcecmd.executenonquery(); // Změna atributů instance produktu sqlcecmd = new SqlCeCommand("UPDATE Produkty SET Cena = (Cena * 1.3)", sqlcecon, sqlcetrans); // Provedení příkazu - úprava ceny produktu sqlcecmd.executenonquery(); // Provedení transakce - tedy celého bloku příkazů od započetí transakce sqlcetrans.commit(); // Vytvoření příkazu pro čtení dat a jeho vykonání čtenářem sqlcecmd = new SqlCeCommand("SELECT * FROM Produkty", sqlcecon); reader = sqlcecmd.executereader(); // Zpracování čtení výsledků čtenáře while (reader.read()) { string nazev = reader["nazev"].tostring().trim(); double cena = Convert.ToDouble(reader["Cena"]); int pocet = Convert.ToInt16(reader["PocetKusu"]); produkty.add(new Produkt { Nazev = nazev, Cena = cena, PocetKusu = pocet }); } } // Zachycení výjimky - vrácení úprav catch (SqlCeException exc) { sqlcetrans.rollback(); Console.Write(exc.Message); } // Zavření připojení pokud je otevřené finally { if (sqlcecon.state == System.Data.ConnectionState.Open) { reader.close(); sqlcecon.close(); } } Vývoj na platformě Windows Mobile Strana 72 z 112

73 Práce s daty 7.4 Language Integrated Query (LINQ).NET Compact Framework nabízí v omezené míře také technologii LINQ, která je dostupná v plném.net frameworku. I tak lze ale využít její přínos na mobilních zařízení s operačním systémem Windows Mobile. "Technologie LINQ přináší především unifikovaný přístup k datům, ať jde o data uložená v paměti, uložená v relační databázi nebo dokumentu XML, či data, která jsou výsledkem volání webové služby. Unifikovaný přístup a dotazování dat před příchodem LINQ nebyl možný. Potřeba zjednodušení a standardizace kódu pro přístup dat vedla k vytvoření technologií ODBC, JDBC, ADO.NET a OLEDB, které vytvářejí logickou vrstvu, která zapouzdruje práci s podkladovými daty. Pro práci s daty se osvědčil doménově specifický jazyk SQL, který implementuje většina databázových systémů. Pro dotazování dat v dokumentech XML se používají jazyky XQuery a XPath." (28) Vývoj na platformě Windows Mobile Strana 73 z 112

74 Možnosti testování mobilních aplikací 8 Možnosti testování mobilních aplikací Pro testování aplikací vyvíjených pro mobilní zařízení s operačním systémem Windows Mobile je nejvhodnější způsob testování přímé ladění aplikace na cílovém zařízení, pro které je aplikace určena. Tento způsob je možný když má vývojář toto zařízení k dispozici. Ve chvíli kdy vývojář toto zařízení nemá, což je častý jev, tak je nejvhodnější alternativou softwarový emulátor Microsoft Device Emulator. Tato alternativa je vhodná např. v situacích, kdy je aplikace vyvíjena na větší počet zařízení, které mají různě veliký displej či rozlišení, rozdílně výkonný procesor anebo se liší např. nainstalovanou verzí operačního systému Windows Mobile, případně se liší v dalších parametrech. Pro tento emulátor hovoří také fakt, že je provázaný na vývojové prostředí Visual Studio, které slouží pro vývoj nejen mobilních nativních aplikací v jazyce C++ či řízených aplikací v.net Compact Frameworku. Možnosti testování mobilních aplikací jsou v prostředí Visual Studia 2008 opravdu široké. Přímo s instalací vývojového prostředí Visual Studio 2008 je distribuován Microsoft Device Emulator V3 pro zařízení s ARM procesorem, který je ke stažení i samostatně 50. Závisí však i na tom, jaké Windows Mobile Emulator Images má vývojář nainstalované. V instalaci Visual Studia 2008 jsou standardně k dispozici následující image platforem pro emulátor: Pocket PC 2003 Windows CE Windows Mobile 5 Pocket PC SDK Windows Mobile 5 Smartphone SDK S vydáním Windows Mobile 6.0, 6.1 a 6.5 jsou k dispozici formou doinstalování tyto image pro emulátor: Windows Mobile 6.0 Standard SDK Windows Mobile 6.0 Professional SDK 50 Lze ho provozovat i bez vývojového prostředí Visual Studio ovšem za cenu ztráty přímé provázanosti s vývojovým prostředím. Vývoj na platformě Windows Mobile Strana 74 z 112

75 Možnosti testování mobilních aplikací Windows Mobile 6.1 Standard SDK 51 Windows Mobile 6.1 Professional SDK 52 Windows Mobile 6.5 Standard Developer Tool Kit Windows Mobile 6.5 Professional Developer Tool Kit Image pro emulátor nejsou (na rozdíl od.net Compact Frameworku) vázány na verzi vývojového prostředí a lze je tedy doinstalovat i např. do Visual Studia Nové verze emulátorů s sebou přinášejí vždy příslušnou verzi systému Windows Mobile, pro kterou je emulátor určen 53 se všemi novými funkcemi, které nová verze operačního systému Windows Mobile nabízí. Zároveň jsou k dispozici v různých jazykových mutacích (více viz příloha B) a vývojáři mohou tedy pracovat s lokalizovanými image prostředí Windows Mobile. Každý image v sobě obsahuje nastavení pro zařízení s různým grafickým rozlišením. S každou novou verzí jsou zohledňována nová zařízení na trhu a jejich rozlišení jsou zahrnuta v příslušném image daného operačního systému Windows Mobile, pokud jsou tato zařízení dělaná pro danou verzi OS, který na zařízení běží. Ne všechna zařízení jsou např. upgradovatelná na vyšší verzi operačního systému Windows Mobile a tak nedochází k velkému nárůstu grafických rozlišení pro každou novou verzi Windows Mobile, protože u zařízení, která nejsou schopná upgradu na vyšší verzi operačního systému (většinou jsou to zařízení s atypickým grafickým rozlišením, u kterých nebylo při návrhu počítáno s upgradem na vyšší verzi OS - např. některá navigační zařízení) není zahrnuto grafické rozlišení v daném image pro testování. 8.1 Popis možností v Microsoft Device Emulator V3 Microsoft Device Emulator V3 nabízí možnosti nastavení rozčleněné do 4 kategorií. Jednotlivé kategorie budou popsány v následujících podkapitolách. 51 Zatím pouze v anglické (US) verzi, lokalizované image zatím nejsou k dispozici pro verzi Windows Mobile Zatím pouze v anglické (US) verzi, lokalizované image zatím nejsou k dispozici pro verzi Windows Mobile Verze je označena v názvu emulátoru, tedy např. Windows Mobile 6.0 Professional SDK označuje emulátor pro zařízení s operačním systémem Windows Mobile 6.0 řady Professional která označuje zejména zařízení PDA s dotykovým displejem, kdežto řada Standard označuje většinou zařízení Smartphone a zařizení bez dotykového displeje. Vývoj na platformě Windows Mobile Strana 75 z 112

76 Možnosti testování mobilních aplikací Hlavní nastavení Obrázek Dialogové okno se záložkou Hlavní nastavení V první záložce lze nastavit soubor s image (OS image name), ze kterého má emulátor zavést systém do emulovaného zařízení. U image lze ještě nastavit hexadecimální adresu paměti (Specify ROM 54 image address), od které se začne emulátor načítat, což se hodí při vlastních upravovaných ROM pamětí. Dále lze nastavit velikost paměti RAM 55 (Specify RAM size), kterou bude emulované zařízení disponovat. Lze tak vyzkoušet zatížení zařízení při různých hodnotách paměti RAM při spuštění více aplikací najednou. Při běhu emulátoru lze uložit flash paměť NAND, kterou lze poté načíst i k jinému zařízení (Flash memory file), ale pouze před jeho spuštěním. Dále lze přiřadit klávesnici u počítače funkční klávesu na zařízení (Host key, FuncKey). K zařízení lze rovněž připojit složku (Shared folder), která se v zařízení projeví jako paměťová karta tzv. Storage Card. 54 ROM Read Only Memory paměť sloužící pouze ke čtení 55 RAM Random Access Memory paměť umožňující čtení i zápis Vývoj na platformě Windows Mobile Strana 76 z 112

77 Možnosti testování mobilních aplikací Nastavení displeje Obrázek Dialogové okno se záložkou Nastavení displeje V nastavení displeje lze nastavit XML soubor s nadefinovaným skinem (Skin). V souboru skinu je nastavení grafických souborů pro základní vzhled zařízení, dále maska tlačítek, a grafika stisknutých tlačítek. Dále je v souboru nadefinována pozice tlačítek a události jejich stisku a také rozlišení displeje a kde se displej nachází v obrázku zařízení. Lze ale také nevyužívat skiny zařízení a využít volby Video, která zobrazuje pouze displej zařízení v okně bez okolních tlačítek a bez obrázku zařízení. Nastaví se rozlišení (Screen width, Screen height), barevná hloubka (Color depth). Lze také nastavit orientaci displeje (Orientation). K dispozici jsou 4 natočení (0, 90, 180, 270 ). Displej lze také zvětšit pomocí 2násobného zoomu (Zoom 2x), okno nechat vždy nahoře nad ostatními okny (Always on top), povolit či zakázat zobrazování nápověd při najetí kurzoru nad aktivní oblasti (Enable tooltips). Vývoj na platformě Windows Mobile Strana 77 z 112

78 Možnosti testování mobilních aplikací Nastavení připojení Obrázek Dialogové okno se záložkou Nastavení připojení Třetí záložka slouží k nastavení připojení. Lze povolit síťový adaptér v zařízení (Enable NE2000 PCMCIA network adapter and bind to), aby bylo možné využívat datového připojení. Virtuální síťový adaptér se musí ale namapovat na nějaký existující síťový adaptér, který je na počítači, na kterém emulátor běží. Seznam s dostupnými adaptéry je dostupný hned pod povolením virtuálního síťového adaptéru. S takto dostupným připojením lze testovat aplikace vyžadující přístup na internet např. za účelem stažení dat, aktualizací atd. Volba síťového adaptéru CS8900 je pro zařízení Windows Mobile nepoužitelná. Stejně tak používání Host-only networking není pro běžné testování datového připojení potřebné. Vývoj na platformě Windows Mobile Strana 78 z 112

79 Možnosti testování mobilních aplikací Nastavení periferií Obrázek Dialogové okno se záložkou Nastavení periferií Ve čtvrté záložce je možné připojit na 3 sériové porty přídavná zařízení, která jsou připojená k počítači. Nelze namapovat stejný COM port na více sériových portů. Při výběru COM portu, na který není nic připojeného, nemusí zařízení zavést systém. Na sériovém portu 0 se emuluje port COM 1. Na sériový port 1 lze namapovat port COM 2. Na sériový port 2 se pak mapuje port COM 3, přes který se využívá infračervený přenos dat (IrDA 56 ). Lze také vytvořit konzolový výstup všech vstupů a výstupů z portu COM 1 nastaveném na sériovém portu 0. K tomu musí být zaškrtnutá volba Create text konsole Windows for serial port 1. Také lze nastavit úroveň nabití baterie zařízení zadáním hodnoty v % a zaškrtnutím volby Battery. U emulovaného zařízení lze emulovat i zvukový reproduktor zaškrtnutím volby Speakerphone. Volbou Headset pak emulátor simuluje náhlavní soupravu a volba Carkit pak simuluje autosoupravu. 56 Infrared Data Association Vývoj na platformě Windows Mobile Strana 79 z 112

80 Praktická část 9 Praktická část Pro realizaci praktického příkladu jsem vybral vývojové prostředí Visual Studio 2008, protože podporuje vývoj pro.net framework a je provázáno se softwarovým emulátorem mobilních zařízení Microsoft Device Emultaor V3. Jako technologii pro vývoj jsem zvolil.net Compact Framework 3.5, konkrétně jazyk C# a pro práci s daty SQL Server 2008, ke kterému se bude přistupovat vzdáleně. Ukázková aplikace byla vyvíjena pro operační systém Windows Mobile řady 6, konkrétně pro verzi 6.1. Primární rozlišení aplikace jsem zvolil rozlišení QVGA pro obě dvě možnosti orientace displeje, tedy na výšku i na šířku (240x320, 320x240). 9.1 Vymezení příkladu Některé části jsou z důvodu rozsahu práce či nutné interakce s reálným subjektem vypuštěny. Z hlediska demonstrace vybraných technologií pro vývoj a fází navržené metodiky jsem vybral tyto výstupy, které jsou dále publikovány. Vybrané části: popis aplikace, konceptuální diagram tříd, diagram užití, databázový diagram (fyzický model), deployment diagram, návrh grafického uživatelského rozhraní jednoho z formulářů, vybrané části programového kódu, ukázka testování aplikace v Microsoft Device Emulatoru V3. Vývoj na platformě Windows Mobile Strana 80 z 112

81 Praktická část 9.2 Popis aplikace Jako ukázkový příklad jsem zvolil aplikaci pro evidenci záznamů cestujícího obchodníka. Tento obchodník objíždí potenciální klienty a stávající klienty a nabízí jim produkty své firmy. Každou návštěvu u těchto subjektů zaznamenává. U každé návštěvy zaznamenává jméno společnosti, kontaktní osobu, zda subjekt projevil zájem o produkty a případnou poznámku. Kromě toho může ještě obchodník odeslat přímou objednávku pro vybraný subjekt, prohlížet již zadané objednávky a objednávky také stornovat. Pro objednání produktu musí být vždy vytvořena nová objednávka. Nelze tedy v rámci jedné objednávky objednávat více produktů. U objednávky je pak veden produkt, počet objednaných kusů. Produkty může do systému zadávat také. U těch je pak vedena cena, název, popis. Jelikož jde o ukázkový příklad, tak aplikace neřeší některé reálné skutečnosti, se kterým je možné se běžně setkat při práci obchodníka. 9.3 Analýza Konceptuální diagram tříd Konceptuální diagram tříd vyvíjené aplikace popisuje klíčové třídy a vztahy mezi nimi. V konceptuálním diagramu tříd jsou vidět atributy a vlastnosti jednotlivých tříd. Atributem rozumíme proměnnou, do které se ukládají data, která jsou přístupná pouze v rámci třídy, ke které atribut patří. Pro její okolí je tento atribut skrytý. Vytvořením vlastnosti k tomuto atributu docílíme toho, že tento atribut bude přístupný i pro ostatní třídy, které ho jinak nevidí. Vlastnost třídy má v jazyce C# metody get a set. Metoda get vrací okolním třídám hodnotu atributu a metoda set jej naopak nastavuje. Od abstraktní třídy Klient dědí třídy PotencialniKlient a StavajiciKlient. U potenciálního klienta lze navíc uložit ZajmovyProdukt, který slouží obchodníkovi jako informace, o který produkt měl klient zájem v případě, že se rozhodne později tohoto potenciálního klienta znovu kontaktovat. Vývoj na platformě Windows Mobile Strana 81 z 112

82 Praktická část Obrázek Konceptuální diagram tříd Úplný diagram tříd se nachází ve fázi návrh, kde již obsahuje také znázornění ostatních tříd, které obsahují kód pro grafické uživatelské prostředí a pro práci s datovým úložištěm Diagram užití Aplikace nabízí správu produktů, správu objednávek a správu klientů. Akce, které je možné provádět s těmito objekty, zachycuje diagram užití na obrázku (Obrázek 9.3-2)a popis jednotlivých případů užití. Pro upřesnění je nutné dodat, že obchodník nemůže mazat klienty, ale pouze je přidávat a aktualizovat jejich údaje. Stejně tak nelze upravovat objednávky, ale pouze je stornovat - dojde k jejich odstranění. Pro vytvoření objednávky musí nejdříve existovat nějaký produkt, který bude objednávanou položkou a také klient, který bude objednavatelem. Popisy případů užití obsahují posloupnost akcí podle čísla kroku, role, které vykonávají příslušné akce. Vývoj na platformě Windows Mobile Strana 82 z 112

83 Praktická část Obrázek Diagram užití UC Správa produktů - přidání produktu Krok Role Akce 1 Systém zobrazení formuláře pro práci s produkty 2 Aktér vyplní informace o produktu: Název, Cena a Popis 3 Systém provede kontrolu vstupních dat 4 Systém v případě že nenalezne chybu, přiřadí jedinečný identifikátor produktu a položku uloží, v opačném případě UC Správa produktů alternativní scénář UC Správa produktů - úprava produktu Krok Role Akce 1 Systém zobrazení formuláře pro práci s produkty 2 Aktér vybere produkt ke změně 3 Systém zobrazí hodnoty k produktu do zadávacích polí 4 Aktér změní informace o produktu: Název, Cena a Popis 5 Systém provede kontrolu vstupních dat 6 Systém v případě že nenalezne chybu, tak na základě jedinečného identifikátoru produktu položku uloží, v opačném případě UC Správa produktů alternativní scénář Vývoj na platformě Windows Mobile Strana 83 z 112

84 Praktická část UC Správa produktů - smazání produktu Krok Role Akce 1 Systém zobrazení formuláře pro práci s produkty 2 Aktér vybere ze seznamu produktů produkt, který má být smazán 3 Systém na základě jedinečného identifikátoru produktu položku smaže UC Správa produktů - alternativní scénář (přidání/úprava produktu) Krok Role Akce 4a Systém zobrazí chybové hlášení 4b Aktér opraví chybně zadané informace o produktu 4c Systém provede kontrolu vstupních dat 4d Systém v případě, že nenalezne chybu, provede požadovanou akci, v opačném případě se opakuje tento scénář UC Správa objednávek - přidání objednávky Krok Role Akce 1 Systém zobrazení formuláře pro práci s objednávkami 2 Aktér vyplní informace o objednávce: Produkt, Klient a Počet kusů 3 Systém provede kontrolu vstupních dat 4 Systém v případě že nenalezne chybu, přiřadí jedinečný identifikátor objednávce a položku uloží, v opačném případě UC Správa objednávek alternativní scénář UC Správa objednávek - storno objednávky Krok Role Akce 1 Systém zobrazení formuláře pro práci s objednávkami 2 Aktér vybere objednávku ke stornování 3 Systém na základě jedinečného identifikátoru objednávky položku smaže UC Správa objednávek - alternativní scénář (přidání objednávky) Krok Role Akce 4a Systém zobrazí chybové hlášení 4b Aktér opraví chybně zadané informace o objednávce 4c Systém provede kontrolu vstupních dat 4d Systém v případě, že nenalezne chybu, provede požadovanou akci, v opačném případě se opakuje tento scénář UC Správa klientů - přidání klienta Krok Role Akce 1 Systém zobrazení formuláře pro práci s klienty 2 Aktér vyplní informace o klientovi: Jméno společnosti, Adresa, Kontaktní osoba, , Poznámka, Telefon Je stálý 3 Systém provede kontrolu vstupních dat 4 Systém v případě že nenalezne chybu, přiřadí jedinečný identifikátor klientovi a položku uloží, v opačném případě UC Správa objednávek alt. scénář Vývoj na platformě Windows Mobile Strana 84 z 112

85 Praktická část UC Správa klientů - úprava klienta Krok Role Akce 1 Systém zobrazení formuláře pro práci s klienty 2 Aktér vybere klienta ke změně údajů 3 Systém zobrazí hodnoty vybraného klienta v zadávacích polích 4 Aktér změní informace o klientovi: Jméno společnosti, Adresa, Kontaktní osoba, , Poznámka, Telefon Je stálý 5 Systém provede kontrolu vstupních dat 6 Systém v případě že nenalezne chybu, tak na základě jedinečného identifikátoru klienta položku uloží, v opačném případě UC Správa klientů alternativní scénář UC Správa klientů - alternativní scénář Krok Role Akce 4a Systém zobrazí chybové hlášení 4b Aktér opraví chybně zadané informace o klientovi 4c Systém provede kontrolu vstupních dat 4d Systém v případě, že nenalezne chybu, provede požadovanou akci, v opačném případě se opakuje tento scénář 9.4 Návrh Deployment diagram Obrázek Deployment diagram Na obrázku deployment diagramu je znázorněné rozmístění jednotlivých zařízení a SW komponent. Pro práci s databází byl vybrán Microsoft SQL Server 2008 běžící na OS Windows Server Pro běh aplikace byly vybrány zařízení schopné provozovat Windows Mobile 6. Vývoj na platformě Windows Mobile Strana 85 z 112

86 Praktická část Databázový diagram Obrázek Databázový diagram (fyzický model tabulek relační databáze) Databázový diagram znázorňuje fyzické tabulky a jejich datové atributy, které jsou předmětem pro zpracování z hlediska dat. Těmito objekty pro zpracování jsou Objednávky, Klienti a Produkty viz analýza. Jedná se o relační databázi a jednotlivé tabulky obsahují primární klíče v podobě identifikátorů id a jsou propojeny na základě cizích klíčů. Objednávka je tak propojena s tabulkou klientů přes cizí klíč klient_id a s tabulkou produktů přes cizí klíč produkt_id. Každá objednávka může mít pouze jednoho klienta a pouze jeden produkt. Vývoj na platformě Windows Mobile Strana 86 z 112

87 Praktická část Designový diagram tříd Obrázek Designový diagram tříd Na designovém diagramu tříd jsou znázorněné všechny třídy vyvíjené aplikace vyjma třídy Program, která spouští hlavní formulář se zobrazením uživatelského rozhraní. Každá hlavní třída (Klient, Produkt, Objednavka) je objektovým typem pro třídu se seznamem tohoto typu objektu. Tyto seznamy mají metody pro práci s těmito objekty. Seznamy zároveň slouží jako datový zdroj pro grafický seznam, nebo-li list položek v příslušném formuláři, který slouží ke grafickému zobrazení těchto seznamů a pro práci s těmito objekty Návrh GUI Pro demonstraci návrhu GUI jsem vybral formulář pro práci s produkty. Skládá se ze 3 vstupních textových polí pro zadávání údajů o produktu, 2 tlačítek pro spuštění požadované akce a seznamu pro zobrazení všech produktů. Návrh je řešen tak, aby se rozmístění a velikost prvků automaticky přizpůsobilo změně rozlišení a orientace displeje, což bude demonstrováno později při ukázce nasazení aplikace. Pro úsporu místa chybí viditelně tlačítko pro změnu údajů produktu. Je to z důvodu, Vývoj na platformě Windows Mobile Strana 87 z 112

88 Praktická část že tlačítko pro přidání produktu ovládá obě tyto úlohy, ale rozhodnutí akce probíhá podle skutečnosti, zda předtím uživatel vybral nějaký produkt či nikoliv. Obrázek Návrh GUI formuláře Produkty 9.5 Implementace Pro fázi Implementace jsem vybral některé úseky programového kódu vyvíjené aplikace s jejich popisem, abych demonstroval využití technologie.net Compact Framework Vybrané ukázky kódu Následující kód demonstruje využití metod z názvového prostoru Microsoft.WindowsMobile.PocketOutlook, který slouží pro přístup k údajům o kontaktech, kalendáři a úkolech. Na řádku 3 se vytváří instance OutlookSession, která umoňuje zmíněný přístup. Na řádku 4 se vytváří instance nového objektu Task, který symbolizuje úkol. Na řádcích 5-19 se nastavují některé parametry, které lze nastavit u položky úkol, tak jak je tomu u mobilního Outlooku 57. Jde konkrétně o název (Subject) úkolu, poznámku (Body) a čas připomenutí úkolu (ReminderTime). Z pohledu aplikace dojde při vytvoření klienta, který se stane 57 Tyto nastavitelné parametry jsou shodné s parametry apliakce Microsoft Office Outlook a zároveň podléhají procesu synchronizace položek mezi mobilním zařízením a osobním počítačem. Vývoj na platformě Windows Mobile Strana 88 z 112

89 Praktická část potenciálním klientem ke vložení úkolu s připomínkou o jeho budoucím kontaktování. Tento kód se nachází ve třídě PotencialniKlient public void PridejPripominku() { OutlookSession os = new OutlookSession(); Task t = new Task(); t.subject = "Kontaktovat " + this.kontaktniosoba + " ze spol. " + this.jmenospolecnosti; if (_zajmovyprodukt!= null) { t.body = "Subjekt: " + this.jmenospolecnosti + " projevil zájem o produkt: " + _zajmovyprodukt.nazev; t.remindertime = DateTime.Now.AddMonths(6); } else { t.body = "Subjekt: " + this.jmenospolecnosti + " neprojevil zájem o žádný produkt."; t.remindertime = DateTime.Now.AddMonths(1); } os.tasks.items.add(t); } Následující kód se nachází v třídě DatoveOperace. Jde o metodu, která načte ze vzdáleného SQL serveru produkty. Na SQL serveru je pro databázi ObchodniCestujici k dispozici uložená procedura s názvem NactiProdukty. Při změně SQL příkazu tak není nutné měnit programový kód aplikace, ale stačí přepsat SQL příkaz v rámci této uložené procedury na SQL serveru. Na řádku 3 se vytváří nová instance třídy SeznamProduktu, do které se budou přidávat načtené produkty reprezentované instancemi třídy Produkt. Na řádku 8 se vytváří instance třídy SqlCommand, která má udáno jako parametr název uložené procedury. Proces čtení a přidávání jeho výsledků se nachází na řádcích Po ukončení čtení (řádek 21) dojde k vrácení načteného seznamu s produkty (řádek 22). Jestliže dojde k zachycení výjimky spojené s prací s SQL (řádek 24), vrátí se pouze prázdná hodnota null (řádek 26). V obou případech vrácení však dojde k uzavření aktivního spojení s datovým zdrojem, aby nezůstalo zbytečně otevřené když jej nebude aplikace využívat, což je v zobrazeném programovém kódu na řádcích Vývoj na platformě Windows Mobile Strana 89 z 112

90 Praktická část public SeznamProduktu NactiProdukty() { SeznamProduktu sp = new SeznamProduktu(); try { sqlcon.open(); SqlCommand sqlcmd = new SqlCommand("NactiProdukty", sqlcon); sqlcmd.commandtype = System.Data.CommandType.StoredProcedure; SqlDataReader reader = sqlcmd.executereader(); while (reader.read()) { int id = Convert.ToInt32(reader["id"]); string nazev = reader["nazev"].tostring(); string popis = reader["popis"].tostring(); double cena = Convert.ToDouble(reader["cena"]); sp.pridejpolozku(new Produkt { ID = id, Cena = cena, Nazev = nazev, Popis = popis }); } return sp; } catch (SqlException exc) { return null; } finally { sqlcon.close(); } } Následující kód se nachází také ve třídě DatoveOperace. Jde přímo o konstruktor této třídy. Konstruktor při vytváření instance třídy zároveň vytvoří instanci třídy SqlConnection, která slouží k připojení k databázi. Na řádcích lze vidět nastavení parametrů připojení ke vzdálenému SQL serveru. Při vytváření a testování aplikace se server nacházel v lokální síti (s IP Internet Protocol adresou ) a stejně tak zařízení v emulátoru (s IP adresou ) SqlConnection sqlcon; public DatoveOperace() { sqlcon = new SqlConnection(@"Data Source= ,1433;Initial Catalog=vse;Persist Security Info=True;User ID=vse;Password=vse"); } Vývoj na platformě Windows Mobile Strana 90 z 112

91 Praktická část Následující kód se nachází ve třídě HlavniGUI. Jde o metodu, která je zavolána při načítání forumláře. Ukazuje, jak je volána metoda instance třídy DatoveOperace, která otestuje připojení (řádek 43) a výsledek zobrazí při načtení grafického uživatelského rozhraní. Ve chvíli kdy volaná metoda vrátí výjimku, tak jí zobrazí uživateli pomocí okna pro zobrazení zpráv (řádky 47-50). Jestliže se vrátí prázdná hodnota, tak aplikace ukáže ve stavovém řádky hlavního okna apliakce, že připojení bylo navázáno (řádek 54) private void HlavniGUI_Load(object sender, EventArgs e) { Exception exc = _datoveoperace.otestujpripojeni(); if (exc!= null) { statpripojeni.text = "Připojení: nelze navázat"; MessageBox.Show("Výpis chyby:" + Environment.NewLine, "Připojení nelze navázat", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1); } else { statpripojeni.text = "Připojení: navázáno"; } } Vývoj na platformě Windows Mobile Strana 91 z 112

92 Praktická část Testování aplikace v emulátoru Pro ukázku testování jsem zvolil čtyři obrázky zachycující: situaci, kdy nelze navázat spojení se vzdáleným SQL serverem, hlavní okno aplikace s otevřenou nabídkou, špatně vytvořené grafické uživatelské rozhraní, opravené grafické uživatelské rozhraní. Na obrázku (Obrázek 9.5-1) je zachycena situace, kdy uživatel spustí aplikaci, ale ta se nebude schopna z nějakého důvodu (chyba připojení, odmítnutím vzdáleným serverem, atd.) připojit. Dojde k zobrazení chybového hlášení uživateli. Obrázek Nelze navázat spojení se vzdáleným MSSQL Serverem Vývoj na platformě Windows Mobile Strana 92 z 112

93 Praktická část Na obrázku (Obrázek 9.5-2) lze vidět hlavní okno aplikace, které je vytvořeno v rámci třídy HlavniGUI. Je to vstupní bod pro uživatele aplikace, kde si vybírá, který formulář bude spuštěn. Při uzavření formulářů, které zle spustit z viditelné nabídky se uživatel vrátí zpět do tohoto hlavního formuláře, kde může otevřít opět všechny formuláře nebo aplikaci ukončit, případně jí minimalizovat na pozadí (křížkem v pravém horním rohu). Obrázek Hlavní okno aplikace s otevřenou nabídkou Pro demonstraci špatně navrženého uživatelského rozhraní, které nereflektuje změny v orientaci displeje, kdy dojde ke změně zobrazované plochy, jsem vybral obrázek (Obrázek 9.5-3). Lze na něm vidět, že aplikace se protáhne dolů, ale chybí její přizpůsobení pomocí posuvných lišt (pravá posuvná lišta na obrázku Vývoj na platformě Windows Mobile Strana 93 z 112

94 Praktická část patří hlavnímu formuláři aplikace, který je na pozadí a je přizpůsoben změně orientace displeje). Ovládací prvky nejsou ukotvené k hranám formuláře, a proto nedojde k jejich přizpůsobení na velikost zobrazení plochy formuláře. Obrázek Špatně navržené grafické uživatelské rozhraní Pro představu jak má vypadat dobře navržené grafické uživatelské rozhraní pro formulář s Produkty jsem vybral obrázek (Obrázek 9.5-4). Jde o stejnou orientaci displeje jako u předchozího obrázku, ale s opraveným nastavením jednotlivých ovládacích prvků a formuláře. Jak je z obrázku patrné, ovládací prvky jsou ukotveny k hranám formuláře a tak dochází při změně orientace displeje k jejich automatickému přizpůsobení zobrazitelné velikosti plochy formuláře. Na obrázku je zároveň vidět stav, kdy jsou v databázi již uloženy produkty, které jsou načteny v tomto formuláři do listu, který je zobrazuje. Vývoj na platformě Windows Mobile Strana 94 z 112

95 Praktická část Obrázek Správně navržené grafické uživatelské rozhraní Vývoj na platformě Windows Mobile Strana 95 z 112

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

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

Více

Moderní trendy využívání mobilních (dotykových) zařízení nejen ve výuce. RNDr. Jan Krejčí, PhD.

Moderní trendy využívání mobilních (dotykových) zařízení nejen ve výuce. RNDr. Jan Krejčí, PhD. Moderní trendy využívání mobilních (dotykových) zařízení nejen ve výuce RNDr. Jan Krejčí, PhD. Nezapomeneme Vyplnit dotazník na: http://dotyk.ujep.cz/dotaznik.php Kritéria pro výběr zařízení Mobilita zařízení

Více

MATURITNÍ PRÁCE dokumentace

MATURITNÍ PRÁCE dokumentace MATURITNÍ PRÁCE dokumentace Jídelníček SŠIEŘ pro Android Martin Bartoň školní rok: 2012/2013 obor: třída: Počítačové systémy PS4.A ABSTRAKT Práce je zaměřená na problematiku tvorby Android aplikací,

Více

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework úvod, historie, základy.net framework, programovací jazyky, vývojové prostředky Úvod strana 2 Cíl předmětu Seznámit se s vývojem aplikací

Více

1. ÚVOD 2. ARCHITEKTURA MOBILNÍHO TERMINÁLU 2.1. HARDWARE TERMINÁLU PRO SYMBIAN OS S OS SYMBIAN 2009/67 26.12. 2009

1. ÚVOD 2. ARCHITEKTURA MOBILNÍHO TERMINÁLU 2.1. HARDWARE TERMINÁLU PRO SYMBIAN OS S OS SYMBIAN 2009/67 26.12. 2009 APLIKACE PRO MOBILNÍ TERMINÁLY S OPERAČNÍM SYSTÉMEM SYMBIAN doc. Ing. Vít Novotný, Ph.D. Ing. Tomáš Mácha, Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací,

Více

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nástroje a frameworky pro automatizovaný vývoj Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Proces vývoje webové aplikace Předepsaná adresářová struktura. Kompilace zdrojových kódů.

Více

KIV/PIA 2012 Ing. Jan Tichava

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

Více

Mobile application developent

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

Více

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

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

Více

A7B39TUR Testování uživatelského rozhraní. HTC Desire HD. (testování mobilního zařízení) Tomáš Klejna klejntom@fel.cvut.cz

A7B39TUR Testování uživatelského rozhraní. HTC Desire HD. (testování mobilního zařízení) Tomáš Klejna klejntom@fel.cvut.cz A7B39TUR Testování uživatelského rozhraní HTC Desire HD (testování mobilního zařízení) Tomáš Klejna klejntom@fel.cvut.cz 20. 10. 2011 ČVUT v Praze Fakulta elektrotechnická 2 Obsah: Obsah... 2 Popis zařízení...

Více

Podporované mobilní telefony a PDA - VDGPRS

Podporované mobilní telefony a PDA - VDGPRS Podporované mobilní telefony a PDA - VDGPRS SICURIT CS, spol. s r.o. Vídeňská 90, 639 00 Brno 39 Tel.: 543 429 011 (sekretariát) Fax: 543 429 010 Mail to: obchod@sicurit.cz Verze 1.2 Podporované mobilní

Více

Č.j. PPR-19172-118/ČJ-2013-990640 Praha 7.7.2014 Počet listů: 8

Č.j. PPR-19172-118/ČJ-2013-990640 Praha 7.7.2014 Počet listů: 8 POLICEJNÍ PREZIDIUM ČESKÉ REPUBLIKY Odbor veřejných zakázek Č.j. PPR-19172-118/ČJ-2013-990640 Praha 7.7.2014 Počet listů: 8 dle seznamu dodavatelů, kteří si vyzvedli zadávací dokumentaci kteří požádali

Více

České vysoké učení technické v Praze Fakulta elektrotechnická

České vysoké učení technické v Praze Fakulta elektrotechnická České vysoké učení technické v Praze Fakulta elektrotechnická Diplomová práce Grafické uživatelské rozhraní pro vyhledávání dopravních spojení v jízdních řádech hromadné dopravy na kapesních zařízeních

Více

E.C.S. řada 900 - nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 )

E.C.S. řada 900 - nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 ) E.C.S. řada 900 - nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 ) Filozofie vývoje nové řady E.C.S. CNC klade důraz především na vyspělou technologii a nadčasový vzhled. Vývoji nového

Více

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

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

Více

Výukové materiály z oblasti ICT

Výukové materiály z oblasti ICT Výukové materiály z oblasti ICT Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Moderní trendy ve vzdělávání dětí se speciálními vzdělávacími potřebami

Více

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech

Více

Zrakové postižení a mobilní telefony (smartphony)

Zrakové postižení a mobilní telefony (smartphony) České vysoké učení technické v Praze Fakulta elektrotechnická Katedra Kybernetiky Biomedicínské inženýrství Zrakové postižení a mobilní telefony (smartphony) Semestrální úloha - A6M33AST Jarolímek Tomáš

Více

E-EDUCATION NEBOLI VYUŽITÍ ICT VE ŠKOLÁCH

E-EDUCATION NEBOLI VYUŽITÍ ICT VE ŠKOLÁCH E-EDUCATION NEBOLI VYUŽITÍ ICT VE ŠKOLÁCH ANDREA BAREŠOVÁ A KOL. Hewlett-Packard Abstrakt: e-education je název znamenající zapojení informačních technologií do výuky. S tímto pojmenováním přišla společnost

Více

IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE. Jiří Vaněk, Jan Jarolímek

IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE. Jiří Vaněk, Jan Jarolímek IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE Jiří Vaněk, Jan Jarolímek Anotace: Příspěvek se zabývá hlavními trendy rozvoje programů pro

Více

www.sutol.cz SUTOL 2012 konference

www.sutol.cz SUTOL 2012 konference SUTOL 2012 konference 14.11.2012 Mobilní brand ICS Radim Navrátil, YOUR SYSTEM, spol. s r.o. 14.11.2012 Téma přednášky Od roku 2011 se prodává více mobilních zařízení než PC a jak na těchto zařízeních

Více

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

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

Více

Bankovní institut vysoká škola Praha

Bankovní institut vysoká škola Praha Bankovní institut vysoká škola Praha Katedra informatiky a kvantitativních metod Mobilní aplikace se zaměřením na platformu Android Diplomová práce Autor: Přemysl Fuka Informační technologie a management

Více

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

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

Více

Programové vybavení počítače

Programové vybavení počítače Programové vybavení počítače Číslo projektu Název školy Předmět CZ.1.07/1.5.00/34.0425 INTEGROVANÁ STŘEDNÍ ŠKOLA TECHNICKÁ BENEŠOV Černoleská 1997, 256 01 Benešov IKT Tematický okruh Téma Počítač Programové

Více

M I S Y S - W E B. Intranet řešení systému MISYS. Verze 9.00. Příručka uživatele

M I S Y S - W E B. Intranet řešení systému MISYS. Verze 9.00. Příručka uživatele M I S Y S - W E B Intranet řešení systému MISYS Verze 9.00 Příručka uživatele GEPRO s.r.o. Září 2008 Copyright GEPRO s.r.o. 2008 Ochranné známky GEPRO spol. s r.o. KOKEŠ, MISYS Ochranné známky Microsoft

Více

Identifikátor materiálu: ICT-3-55

Identifikátor materiálu: ICT-3-55 Identifikátor materiálu: ICT-3-55 Předmět Téma sady Téma materiálu Informační a komunikační technologie Počítačové sítě, Internet Funkce a přehled internetových prohlížečů Autor Ing. Bohuslav Nepovím Anotace

Více

3 h 5 min Paměť: 64 MB ROM + 32 MB RAM + Mini SD Funkce adresáře:

3 h 5 min Paměť: 64 MB ROM + 32 MB RAM + Mini SD Funkce adresáře: Základní informace o telefonu Název modelu: T-Mobile SDA II Kategorie: smartphone Operační systém: Windows Mobile 2003 for Pocket PC Phone Edition Velikost: 108 x 47 x 20 mm (107 g) Displej(e): TFT, 65.536

Více

APPLE IPAD IN EDUCATION. Jan LAVRINČÍK

APPLE IPAD IN EDUCATION. Jan LAVRINČÍK THEORETICAL ARTICLES APPLE IPAD IN EDUCATION Jan LAVRINČÍK Abstract: The paper deals with the significance and general characteristics of tablets in education. A special emphasis is devoted to Tablet Apple

Více

Vývoj mobilních aplikací trochu jinak

Vývoj mobilních aplikací trochu jinak Protokol o konání semináře Vývoj mobilních aplikací trochu jinak Registrační číslo projektu CZ.1.07/2.4.00/31.0162 * Název projektu Místo konání NA2, areál VŠB TU Ostrava Zvyšování praktických kompetencí

Více

MONITORING A ANALÝZA KVALITY ELEKTŘINY

MONITORING A ANALÝZA KVALITY ELEKTŘINY MONITORING A ANALÝZA KVALITY ELEKTŘINY Doc. Ing. Jan Žídek, CSc. Kvalitativní stránka elektřiny dnes hraje čím dál významnější roli. Souvisí to jednak s liberalizací trhu s elektrickou energii a jednak

Více

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU HOST PC - TARGET PC PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),

Více

MOBILNÍ PŘÍSTUP, TRENDY A TECHNOLOGIE V MODERNÍCH IS

MOBILNÍ PŘÍSTUP, TRENDY A TECHNOLOGIE V MODERNÍCH IS MOBILNÍ PŘÍSTUP, TRENDY A TECHNOLOGIE V MODERNÍCH IS Tomáš Kozel, Filip Malý Fakulta informatiky a kvantitativních metod Univerzita Hradec Králové ABSTRAKT: Pojem mobilní technologie je v současné společnosti

Více

Kentico CMS. Hledáte rychlý, snadný a efektivní způsob jak si vytvořit firemní web? Dál už hledat nemusíte. Snadné použití pro marketéry

Kentico CMS. Hledáte rychlý, snadný a efektivní způsob jak si vytvořit firemní web? Dál už hledat nemusíte. Snadné použití pro marketéry Hledáte rychlý, snadný a efektivní způsob jak si vytvořit firemní web? Dál už hledat nemusíte. Snadné použití pro marketéry Kvalitní a nepřetržitá globální podpora Flexibilní nástroj pro vývojáře Kentico

Více

Technická dokumentace

Technická dokumentace Příloha č. 1 k veřejné zakázce malého rozsahu Technická dokumentace Obsah 1 Předpoklady... 3 1.1 Účel... 3 1.2 Přínosy pro uživatele... 3 2 Popis předmětu plnění... 3 2.1 Funkční specifikace řešení...

Více

Metody vývoje aplikací s adaptivním systémem zobrazení na mobilních platformách

Metody vývoje aplikací s adaptivním systémem zobrazení na mobilních platformách Dizertační práce Metody vývoje aplikací s adaptivním systémem zobrazení na mobilních platformách Methods of application development with adaptive displaying system for mobile platforms Autor: Studijní

Více

Point of View TAB-P731N- Android 4.0 Tablet PC. Čeština. Obsah

Point of View TAB-P731N- Android 4.0 Tablet PC. Čeština. Obsah Point of View TAB-P731N- Android 4.0 Tablet PC Čeština Obsah Obecné pokyny pro užívání zařízení... 2 Doplňující informace... 2 Obsah balení... 2 1.0 Základní informace... 3 1.1 Tlačítka a konektory...

Více

Tablet SAMSUNG GALAXY NOTE 10.1. Popis a používání zařízení ve výuce

Tablet SAMSUNG GALAXY NOTE 10.1. Popis a používání zařízení ve výuce STŘEDNÍ PRŮMYSLOVÁ ŠKOLA ELEKTROTECHNICKÁ A INFORMAČNÍCH TECHNOLOGIÍ BRNO Tablet SAMSUNG GALAXY NOTE 10.1 Popis a používání zařízení ve výuce Vytvořil: Mgr. David Čížek Obsah 1. Úvod... 2 2. Popis tabletu,

Více

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL Petr Štefan Václav Trunec, KP-sys, Čacké 155, Pardubice 1 Úvod Firma KP-SYS spol. s r. o. dodává na náš trh integrované

Více

Smartphone kdysi. Na počátku byl. SIMON (IBM, 1992)

Smartphone kdysi. Na počátku byl. SIMON (IBM, 1992) Mobilní platformy očima uživatelů 1 Smartphone kdysi Na počátku byl. SIMON (IBM, 1992) Smartphone dnes Nyní ios Apple Android Acer, HTC, Samsung, Nokia.. Windows Phone HTC, Samsung, Dell, Nokia a další..

Více

Statistica, kdo je kdo?

Statistica, kdo je kdo? Statistica, kdo je kdo? Newsletter Statistica ACADEMY Téma: Typy instalací Typ článku: Teorie Někteří z vás používají univerzitní licence, někteří síťové, podnikové atd. V tomto článku Vám představíme,

Více

Marketingová aplikace pro OS Android

Marketingová aplikace pro OS Android Mendelova univerzita v Brně Provozně ekonomická fakulta Marketingová aplikace pro OS Android Bakalářská práce Vedoucí práce: Doc. Ing. František Dařena, PhD. Jakub Machalický Brno 2013 Rád bych využil

Více

SLEDOVÁNÍ POLOHY POMOCÍ GPS

SLEDOVÁNÍ POLOHY POMOCÍ GPS 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

Více

Ing. Jiří Fůsek. Základní informace. Pracovní zkušenosti. Vzdělání. 09/2015 - nyní Freelancer. 09/2008-06/2010 Univerzita Tomáše Bati ve Zlíně

Ing. Jiří Fůsek. Základní informace. Pracovní zkušenosti. Vzdělání. 09/2015 - nyní Freelancer. 09/2008-06/2010 Univerzita Tomáše Bati ve Zlíně Základní informace Pracovní zkušenosti Ing. Jiří Fůsek Mikulova 1573/11, 149 00 Praha +420 774 331 232 fusek.jiri@gmail.com http://www.jirifusek.net/ 09/2015 - nyní Freelancer Senior C#.NET vývojář - SW

Více

DataGuard Význam bezpečnosti mobilních platforem jde ruku v ruce s rostoucí popularitou smartphonů. Bohdan Vrabec PCS spol. s r.o.

DataGuard Význam bezpečnosti mobilních platforem jde ruku v ruce s rostoucí popularitou smartphonů. Bohdan Vrabec PCS spol. s r.o. DataGuard Význam bezpečnosti mobilních platforem jde ruku v ruce s rostoucí popularitou smartphonů Bohdan Vrabec PCS spol. s r.o. divize DataGuard Agenda O nás Vývoj od roku 2009 Aktuální hrozby a trendy

Více

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

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Rezervační komponenta pro informační systém sportovního

Více

Dotykové technologie dotkněte se budoucnosti...

Dotykové technologie dotkněte se budoucnosti... Mgr. Petr Jelínek Ing. Michal Bílek Ing. Karel Johanovský Dotykové technologie dotkněte se budoucnosti... O co se vlastně jedná? dotykové obrazovky (displeje) jsou vstupní i výstupní zařízení dvě nesporné

Více

Základní programové vybavení počítače

Základní programové vybavení počítače Základní programové vybavení počítače BIOS BIOS (Basic Input Output System) Program zabudovaný do osobních počítačů (konkrétně je součástí základní desky). Při zapnutí počítače spustí operační systém.

Více

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

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

Více

Vladimír Mach. @vladimirmach 2. 1. 2013

Vladimír Mach. @vladimirmach 2. 1. 2013 Vladimír Mach @vladimirmach 2. 1. 2013 SQL Server Compact Edition Jednoduchá relační databáze Použití i v malých zařízeních s omezenými zdroji Dříve pod názvem SQL Server Mobile Časté využití při programování

Více

Vzdálené řízení modelu připojeného k programovatelnému automatu

Vzdálené řízení modelu připojeného k programovatelnému automatu Vzdálené řízení modelu připojeného k programovatelnému automatu Remote control of the model connected to Programmable Logic Controller Martin Malinka Bakalářská práce 2009 UTB ve Zlíně, Fakulta aplikované

Více

Obchodní podmínky technické podpory programu ESRI Developer Network (EDN)

Obchodní podmínky technické podpory programu ESRI Developer Network (EDN) Obchodní podmínky technické podpory programu ESRI Developer Network (EDN) Technická podpora EDN programu je poskytována ve formě balíčku 10 předplacených konzultačních hodin za cenu 15.000,- Kč. 1) V rámci

Více

Společnost Xerox vytváří škálovatelné, hostované řešení pro optimalizaci globální správy tiskových aktiv

Společnost Xerox vytváří škálovatelné, hostované řešení pro optimalizaci globální správy tiskových aktiv Microsoft Visual Studio 2005 a Microsoft SQL Server 2005 Případová studie zákaznického řešení Společnost Xerox vytváří škálovatelné, hostované řešení pro optimalizaci globální správy tiskových aktiv Přehled

Více

Metodická příručka pro učitele. InspIS SET modul školní testování

Metodická příručka pro učitele. InspIS SET modul školní testování Metodická příručka pro učitele InspIS SET modul školní testování Tato Metodická příručka pro učitele byla zpracována v rámci projektu Národní systém inspekčního hodnocení vzdělávací soustavy v České republice

Více

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

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

Více

Vývoj mobilních aplikací s využitím JavaFX Mobile

Vývoj mobilních aplikací s využitím JavaFX Mobile Vývoj mobilních aplikací s využitím JavaFX Mobile Jan Trestr RNDr. Jaroslav Icha Školní rok 2009 2010 Abstrakt Bakalářská práce se zabývá možnostmi skriptovacího jazyka JavaFX pro vývoj mobilní aplikace

Více

Uživatelský manuál na obsluhu mobilní aplikace CMOB

Uživatelský manuál na obsluhu mobilní aplikace CMOB Uživatelský manuál na obsluhu mobilní aplikace CMOB 1 Obsah 1. Popis aplikace... 3 2. Instalace aplikace na zařízení... 3 3. První spuštění aplikace... 3 4. Úvodní obrazovka aplikace... 3 5. Sekce kamer...

Více

CTUGuide (XXX-KOS) D1

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

Více

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla Mobilní malware na platformě Android Přednáška 2 Ing. Milan Oulehla Úvod Informace o technikách, které používají tvůrci mobilního malware: Bezpečnostní chyby se mění v čase Vytvoření vlastních zdrojových

Více

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

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Informační systém pro evidenci potápěčských ponorů

Více

Windows 7. Z pohledu běžného uživatele. David Gešvindr MSP MCT MCITP

Windows 7. Z pohledu běžného uživatele. David Gešvindr MSP MCT MCITP Windows 7 Z pohledu běžného uživatele David Gešvindr MSP MCT MCITP Nejčastější přání uživatelů Cíle Windows 7 Windows se změnil Chci, aby to prostě fungovalo Funguje tak, jak chcete Chci OS, který mi pomůže

Více

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural SOU Valašské Klobouky VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled Mgr. Radomír Soural Zkvalitnění výuky prostřednictvím ICT Název a číslo projektu CZ.1.07/1.5.00/34.0459 Název

Více

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST. OPERAČNÍ SYSTÉMY SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST. OPERAČNÍ SYSTÉMY PŮVODNĚ VYVINUTY K ŘÍZENÍ SLOŽITÝCH VSTUPNÍCH A VÝSTUPNÍCH

Více

Uživatelem řízená navigace v univerzitním informačním systému

Uživatelem řízená navigace v univerzitním informačním systému Hana Netrefová 1 Uživatelem řízená navigace v univerzitním informačním systému Hana Netrefová Abstrakt S vývojem počítačově orientovaných informačních systémů je stále větší důraz kladen na jejich uživatelskou

Více

Programovací jazyky Přehled a vývoj

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

Více

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

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

Více

Operační systémy. Tomáš Hudec. Tomas.Hudec@upce.cz. http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/

Operační systémy. Tomáš Hudec. Tomas.Hudec@upce.cz. http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ Operační systémy Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ Osnova definice OS historie rozdělení dle určení koncepce systémová volání rozdělení dle struktury 2 Literatura

Více

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Informační systém realitní kanceláře Jan Šimůnek

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Informační systém realitní kanceláře Jan Šimůnek UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Informační systém realitní kanceláře Jan Šimůnek Bakalářská práce 2011 Prohlášení autora Prohlašuji, že jsem tuto práci vypracoval samostatně.

Více

OSOBNÍ PLÁNOVAČ FINANCÍ PRO OS ANDROID

OSOBNÍ PLÁNOVAČ FINANCÍ PRO OS ANDROID 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 OSOBNÍ PLÁNOVAČ

Více

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni.

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni. PV239/WP Vývoj univerzálních Windows Store aplikací Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP gesvindr@mail.muni.cz Cíle kurzu Osnova kurzu 1. Seznámení s platformou a nástroji

Více

NÁVRH A REALIZACE MOBILNÍ APLIKACE PRO ZAŘÍZENÍ ANDROID

NÁVRH A REALIZACE MOBILNÍ APLIKACE PRO ZAŘÍZENÍ ANDROID VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT INSTITUTE OF INFORMATICS NÁVRH A REALIZACE MOBILNÍ APLIKACE PRO ZAŘÍZENÍ

Více

ELEARNING NA UJEP PŘEDSTAVY A SKUTEČNOST

ELEARNING NA UJEP PŘEDSTAVY A SKUTEČNOST ELEARNING NA UJEP PŘEDSTAVY A SKUTEČNOST JAN ČERNÝ, PETR NOVÁK Univerzita J.E. Purkyně v Ústí nad Labem Abstrakt: Článek popisuje problematiku rozvoje elearningu na UJEP. Snahu o vytvoření jednotného celouniverzitního

Více

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

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

Více

1.2 Operační systémy, aplikace

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

Více

Využití mobilního klienta při správě inženýrských sítí. Petr Skála Pontech s.r.o.

Využití mobilního klienta při správě inženýrských sítí. Petr Skála Pontech s.r.o. Využití mobilního klienta při správě inženýrských sítí Petr Skála Pontech s.r.o. Proč mít mobilní GIS? Mobilní GIS umožňuje práci s GIS daty v terénu: Mapy - orientace a navigace GIS data - sběr, pořizování

Více

Rozdílová dokumentace k ovládání IS KARAT.net

Rozdílová dokumentace k ovládání IS KARAT.net Dokumentace k IS KARAT.net Rozdílová dokumentace k ovládání IS KARAT.net programový modul: Rozdílová dokumentace k ovládání IS KARAT.net OBSAH: 1 ÚVOD... 3 2 PŘIHLAŠOVACÍ DIALOG... 4 3 NAVIGACE... 5 3.1

Více

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL SYSTEM FOR CONFIGURATION OF COMMUNICATION TERMINALS AND VISUALIZATION OF STATE INFORMATION FROM RAIL VEHICLES

Více

Responzivní web. Co je mobilní verze webové stránky?

Responzivní web. Co je mobilní verze webové stránky? Responzivní web Jan Sequens, Global Vision, a.s. Co je mobilní verze webové stránky? Dříve byly možnosti mobilních telefonů značně omezené (monochromatický display, paměť, procesor) a mobilní telefony

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ 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

Více

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra radioelektroniky Asistenční pomůcky pro seniory leden 2015 Student: Radek Tesař Vedoucí práce: Ing. Stanislav Vítek, Ph.D. 2 3 Čestné

Více

Ovládání RC modelu pomocí Wi-Fi. Pavel Valenta

Ovládání RC modelu pomocí Wi-Fi. Pavel Valenta České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Ovládání RC modelu pomocí Wi-Fi Pavel Valenta Vedoucí práce: Ing. Martin Komárek Studijní program: Softwarové

Více

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

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

Více

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka. MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) IT SYSTEMS a.s. Mnoho společností má implementovány aplikace, které byly vyvíjeny (případně

Více

DATA ARTICLE. AiP Beroun s.r.o.

DATA ARTICLE. AiP Beroun s.r.o. DATA ARTICLE AiP Beroun s.r.o. OBSAH 1 Úvod... 1 2 Vlastnosti Data Article... 1 2.1 Požadavky koncových uživatelů... 1 2.2 Požadavky na zajištění bezpečnosti a důvěryhodnosti obsahu... 1 3 Implementace

Více

1 Co je nového v aplikaci Filr 2.0 Desktop

1 Co je nového v aplikaci Filr 2.0 Desktop Poznámky k verzi aplikace Filr 2.0 Desktop Únor 2016 Aplikace Filr 2.0 Desktop zavádí funkci Soubory na vyžádání, která poskytuje konsolidované nebo virtuální zobrazení všech souborů na serveru Filr a

Více

ICT plán školy 2013/2014

ICT plán školy 2013/2014 Základní škola a Základní umělecká škola, Šmeralova 336/15, příspěvková organizace ICT plán školy 2013/2014 1. Základní údaje o škole Název školy: Základní škola a Základní umělecká škola, Šmeralova 336/15,

Více

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

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

Více

Aleš Rybák, Jiří Kadlec. Pluginy budoucnosti

Aleš Rybák, Jiří Kadlec. Pluginy budoucnosti Aleš Rybák, Jiří Kadlec Pluginy budoucnosti Jak se vyvíjel Liferay 4000000 3500000 3000000 2500000 2000000 1500000 1000000 500000 50 k Java LOC 2,1 M Java LOC YAML XSLT XSD XML Velocity Template Language

Více

Tabulka kompatibility mobilních telefonů testováno s multimediální navigací. Průvodce řešením problémů. Seznam telefonů

Tabulka kompatibility mobilních telefonů testováno s multimediální navigací. Průvodce řešením problémů. Seznam telefonů Problém Kontakty ze SIM karty nejsou zobrazeny v automobilu. je zobrazen pouze částečně nebo vůbec. Mikrofon nepracuje. Nelze přijmout více současně. Funkce Bluetooth nedokáže najít iphone. Průvodce řešením

Více

Počítačové kognitivní technologie ve výuce geometrie

Počítačové kognitivní technologie ve výuce geometrie Počítačové kognitivní technologie ve výuce geometrie Jiří Vaníček Univerzita Karlova v Praze - Pedagogická fakulta 2009 Počítačové kognitivní technologie ve výuce geometrie Abstrakt Kniha se zabývá využíváním

Více

Analýza možností využití mobilních zařízení v domácnosti

Analýza možností využití mobilních zařízení v domácnosti Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií Studijní program: Aplikovaná informatika Obor: Informatika Analýza možností využití mobilních zařízení

Více

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine Tyto podmínky stanoví technické podmínky a požadavky pro poskytování vybraných Bankovních služeb. Seznamte se prosím důkladně s tímto dokumentem. Vaše případné dotazy rádi zodpovíme. Článek 1. Použití

Více

3D Vizualizace muzea vojenské výzbroje

3D Vizualizace muzea vojenské výzbroje 3D Vizualizace muzea vojenské výzbroje 3D visualization of the museum of military equipment Bc.Tomáš Kavecký STOČ 2011 UTB ve Zlíně, Fakulta aplikované informatiky, 2011 2 ABSTRAKT Cílem této práce je

Více

Autonomnost solárních systémů

Autonomnost solárních systémů Autonomnost solárních systémů Autonomous of Solar systems Bc. Pavel Šimoník Diplomová práce 2010 UTB ve Zlíně, Fakulta aplikované informatiky, 2010 4 ABSTRAKT Tato diplomová práce je zaměřena na problematiku

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ 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 NOČNÍ OBLOHA

Více

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

Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora UŽIVATELSKÁ TECHNICKÁ DOKUMENTACE ANKETA : Individuální projekt z předmětu webových stránek 2012 - Anketa Jan Livora [2ITa] [sk1] 1 Obsah DŮLEŽITÉ UPOZORNĚNÍ!!!... 3 PROHLÁŠENÍ O AUTORSTVÍ:... 3 ANOTACE:...

Více

Zaměření Webové inženýrství doc. Ing. Tomáš Vitvar, Ph.D. Katedra softwarového inženýrství Fakulta informačních technologií České vysovké učení technické v Praze Den otevřených dveří 20.2.2014 http://www.fit.cvut.cz

Více

Vývoj mobilních telefonů. Barbora Bartlíková

Vývoj mobilních telefonů. Barbora Bartlíková Vývoj mobilních telefonů Barbora Bartlíková 1. Mobilní telefon První mobilní telefon spatřil svět v r. 1983. vynalezl ho americký konstruktér Martin Cooper. Byla to Motorola DynaTAC 8000X. Tento přistroj

Více

Special Electronics. ...lepší přehled. ReDat. Komplexní řešení záznamu hovorů pro kontaktní centra, dispečinky, telekomunikační operátory

Special Electronics. ...lepší přehled. ReDat. Komplexní řešení záznamu hovorů pro kontaktní centra, dispečinky, telekomunikační operátory Special Electronics...lepší přehled ReDat Komplexní řešení záznamu hovorů pro kontaktní centra, dispečinky, telekomunikační operátory ReDat od společnosti RETIA představuje komplexní řešení nahrávání hovorů

Více

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče. KAPITOLA 3 Architektura aplikací na frameworku Rails V této kapitole: modely, pohledy, řadiče. 58 Část I: Začínáme Jedna ze zajímavých vlastností frameworku Rails spočívá v tom, že klade docela závažná

Více