UNICORN COLLEGE. Vývoj ap ikací pro p a formu io. Autor BP: Daniel Honzík. : Mgr. Peter Buchlák Praha

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

Download "UNICORN COLLEGE. Vývoj ap ikací pro p a formu io. Autor BP: Daniel Honzík. : Mgr. Peter Buchlák. 2012 Praha"

Transkript

1 UNICORN COLLEGE Katedra informačních chno o ií Vývoj ap ikací pro p a formu io Autor BP: Daniel Honzík V doucí : Mgr. Peter Buchlák 2012 Praha

2 Čestné prohlášení Prohlašuji, že jsem svou bakalářskou práci na téma Vývoj aplikací pro platformu ios jsem vypracoval samostatně pod vedením vedoucího práce a s použitím výhradně odborné literatury a dalších informačních zdrojů, které jsou v práci citovány, a jsou také uvedeny v seznamu literatury a použitých zdrojů. Jako autor této bakalářské práce dále prohlašuji, že v souvislosti s jejím vytvořením jsem neporušil autorská práva třetích osob a jsem si plně vědom následků porušení ustanovení 11 a následujících autorského zákona c 1 1 Sb Nemam závazný důvod proti užití tohoto školního díla ve smyslu 6 zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon) vyjma zveřejnění zdrojových kódů, které jsou majetkem společnosti eman s r o Zdrojové kódy budou poskytnuty k nahlédnutí oponentovi bakalářské práce a komisi přítomné při obhajobě této práce V... dne... (Daniel Honzík)

3 Poděkování Děkuji vedoucímu bakalářské práce Mgr Peteru Buchlákovi za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce V neposlední řadě za poskytnutí příležitosti podílet se na různorodých projektech pro platformu ios. Taktéž týmu lidí společnosti eman za jejich ochotu a výbornou pracovní atmosféru.

4 Vývoj ap ikací pro p a formu io iphone application development 6

5 Abstrakt Cílem bakalářské práce je popis vývoje aplikace pro platformu ios od úvodního návrhu aplikace až po nasazení na App Store a související marketingové činnosti Součástí práce je seznámení se zařízeními využívající operační systém ios První částí je seznámení s platformou ios a rozdílností oproti desktopovým nebo webovým aplikacím. Následuje popis návrhu mobilních aplikací a představení velkého dopadu analytické a design části na následnou realizaci a úspěch celého projektu. Hlavní částí je obecné představení jazyku, technologií a přístupů použitých pro vývoj Poté je vysvětlena problematika provozních certifikátů a nasazení výsledného produktu na odpovídající distribuční kanál Kapitola obsahuje také marketingový pohled na způsob vývoje mezi ziskovou a PR aplikací V poslední kapitole jsou demonstrovány představená témata a technologie popsané v této práci K práci nebudou přiloženy zdrojové kódy platformy, protože se jedná o obchodní tajemství společnosti eman s r o Zdrojové kódy budou k dispozici k nahlédnutí při obhajobě této závěrečné bakalářské práce Klíčová slova: vývoj, design, analýza, návrh, aplikace, iphone, ipad, Apple, ios, Xcode, media 7

6 Abstract The goal of my thesis is to describe the process of ios application development from the initial concept to the final deployment in the App Store, including related marketing activities. Part of this thesis is a description of mobile devices using the ios operation system. The first portion of my thesis introduces the ios platform and points out the differences between desktop and web applications. Following is a description of the development process for mobile applications. The impact of the conceptual and design phases of the development process on the final result and project s success is also discussed The main section of my thesis describes the programming language and the technologies and methods used in the application development. Important topics used later in the real project are described in more detail. The next section explains product certification and introduction of products into the proper distribution channel. This part also includes an overview of marketing, which is necessary for the successful outcome of the entire project. The final section of my thesis demonstrates practical use of the topics described in the theoretical section in a real project. Project s source code is not included because it is a private property of eman Ltd. Nevertheless, source code will be available for the review at time of my thesis defence. Keywords: development, design, application, iphone, ipad, Apple, ios, Xcode, media 8

7 Obsah 1 Úvod Platforma ios Co je třeba znát před vývojem Rozdílnost při vývoji ios ios SDK Materiály pro znalost vývoje Milníky ios systémů a podporovaných zařízení Design aplikace Znalost uživatelského rozhraní Use case aplikace Things Typy aplikací Užitková aplikace Produktivní aplikace Immersive aplikace Rozdílnost ipad UI Zmezinárodnění a lokalizace Vývoj aplikací Životní cyklus aplikace Objective-C Správa paměti Cocoa Touch Storyboardy Multitasking Printing Push a local notifikace Gesture recognizers Peer-to-peer services Standard system view controllers External display support Cocoa Touch frameworky Media Grafické technologie Audio technologie

8 4.5.3 Video technologie AirPlay Media frameworky Core Services icloud Auto Reference Counting Bloky Grand Central Dispatch SQLite XML Core Services frameworky Core OS GPS a geolocation ios Accessories Webové aplikace Výhody hybridní aplikace HTML5 a limitace pro mobilní aplikace Jailbreak Nasazení aplikace ios Provisioning Portal Vytvoření developer účtu Vytvoření vývojového certifikátu Distribuční certifikáty Retail business Zakázkový business Realizace praktické části Závěr Conclusion Seznam použitých zdrojů Seznam použitých zkratek Seznam obrázků

9 1 Úvod Několik měsíců před dobou stanovenou k výběru tématu bakalářské práce se mi naskytla příležitost pracovat na vývoji pro mobilní platformu ios Se zálibou využívání Apple zařízení, jejich filozofie designu a vývoje jsem se pustil střemhlav do poměrně neznámého prostředí, se kterým jsem se doposud nesetkal. Měl jsem praktické zkušenosti pouze s věcmi typu nízko úrovňového jazyka C nebo webové front-end a back-end technologie. Vývoj mobilní aplikace je velmi flexibilní a rozmanitý na použitý přístup nebo nabídnuté softwarové či hardwarové technologie. Společnost, ve které jsem začal vytvářet ios aplikace, se zabývá převážně nativním vývojem, což je z mého pohledu nejefektivnější a nejflexibilnější forma pro samostatnou ios platformu. Z pohledu businessu firmy by se daly využít jiné, rychlejší postupy, ale v mém případě a zálibách je tento přístup naprosto dostačující Prvním projektem byla outsourcovaná aplikace pro jinou firmou, na kterém se pokazilo snad vše, co by se pokazit mohlo Byla to bohatá zkušenost jak čelit problémům od zadání, kooperace s jinou firmou, samostatného vývoje až po následující kroky k vyřešení situace Když se na tento projekt dívám zpětně, tak vidím mnoho částí, které jsem měl dělat jinak, efektivněji nebo si stát za svojí původní ideou. V této práci popisuji celkový vývoj od analýzy až po marketing mobilní ios aplikace Účelem je získat povědomí, co toto zákoutí nabízí a jaké jsou strasti Protože se jedná o důmyslnou strukturu kompilovaných knihoven s mnoholetým základem v podání Cocoa frameworku, je tento vývoj a pochopení všech jeho částí velmi rozsáhlé Předmětem této práce není vysvětlit všechna témata a technologie, ani nabídnout přesnou znalost některé z nich Jejich přesný popis a důkladná dokumentace se nachází na oficiálních místech společnosti Apple nebo je poskytnuta formou některých kvalitních publikací Kde získat znalosti je popsáno dále v této práci Po přečtení teoretické části by měl čtenář získat ucelený pohled na celkový vývoj a nabýt povědomí, pokud se chystá tímto vývojem zabývat, nebo najít shodné zkušenosti, pokud se jím již zabývá Snažím se detailněji popsat hlavní problémy nebo přístupy, se kterými se v začátcích vývojář může setkat a velmi povrchně ty, které si člověk musí projít samostatně a vysekat se na nich tak, aby plně pochopil jejich problematiku Práce je zaměřena převážně na představení návrhářského pohledu pro vývoj a popisu použitých technologií Kromě teoretického pohledu popíši jeden z praktických projektů, který jsem v rámci firmy realizoval před 4 měsíci 11

10 2 Platforma ios Mobilní platforma ios je operační systém běžící na iphone, ipod Touch, ipad a Apple TV zařízení Byl vytvořen na základě znalostí a paradigma ze systému Mac OS X Nejedná se tedy o žádného začátečníka vytvořeného z ničeho pro mobilní zařízení, jako je tomu v případě platformy Android, WebOS, Symbian a mnoha dalších Vyznačuje se velkou stabilitou a unifikovaným rozhraním oproti konkurenčním systémům Nabízí komunikační rozhraní mezi hardwarovou a softwarovou částí daných zařízení s technologií umožňující tvorbu nativních aplikací. [1][2] Po uvedení prvního iphone zařízení 9 ledna 7 byl systém nazýván neoficiálním názvem OS X Nebyla možnost, jak jednoduše vytvářet aplikace, a jeden z argumentů společnosti Apple byl, že je možné vytvořit webové aplikace, které budou vypadat jako nativní Důvodů a spekulací, proč vzniklo ios SDK, je mnoho a není třeba do nich zabíhat, hlavní věcí je, že tato platforma 6 března 8 byla představena s novým jménem jako iphone OS a vlastním SDK (Software Development Kit) S příchodem dalších zařízení jako ipad nebo Apple TV bylo logické, že není vhodné mít systém se jménem iphone OS, proto v červnu 1 byl systém přejmenován na název ios Ochrannou známku pro toto jméno odkoupil Apple od firmy Cisco Systems. [1] Architektura ios je v podstatě UNIX zastřešen několika vrstvami pro zachování abstrakce celého vývoje Základním přístupem pro vývoj aplikací je vždy používat nejvyšší možnou vrstvu pro implementaci aplikační logiky Jednotlivé vrstvy nabízí abstraktní veřejné API rozhraní, které je pod povrchem optimalizováno v takovém rozsahu, jakému nemůžeme v běžném vývoji za poskytnutých nákladů docílit Nejvyšší Cocoa Touch vrstva poskytuje Objective-C API rozhraní pro většinu potřeb při vývoji aplikací Cocoa Touch je identická kopie frameworku Cocoa z Mac OS, upravený pro mobilní zařízení bez několika částí schopných fungovat pouze na desktopovém systému Je také možnost klesnout níže například do Core Services nebo Core OS a využívat C API funkce z důvodu výkonnosti na implementaci vlastních náročných potřeb Každá vrstva obsahuje několik frameworků zastřešujících různé technologie nebo druhy implementace Využívání poskytnutého rozhraní těchto frameworků se nazývá veřejné API, tento název je trošku nadsazený, ale ve své podstatě mluvíme o používání zdokumentovaných metod frameworku Apple razí pravidlo, že žádná aplikace by neměla využívat privátní API z důvodu jejich změn, v praxi to vypadá tak že veřejné API se za celou životnost, včetně nových verzí operačního systému, nemění Po několika verzích jsou některé veřejné API označeny jako zastaralé a je nabídnuta 12

11 novější varianta, ale i přes to jsou stále ve frameworku zachovány pro zpětnou kompatibilitu. Oproti tomu privátní API se mění kdykoliv, jak to Apple uzná za vhodné a má potřebu je předělat [3][4] 2.1 Co je třeba znát před vývojem Pro nově příchozí vývojáře se zájmem vyvíjet ios aplikace je nutné si uvědomit rozsah a potřeby celého procesu vývoje Ač je ios SDK vytvořen tak, aby lidé bez předchozí znalosti pro Mac OS platformu mohli začít bez zábran vyvíjet aplikace, je zde i přes to několik zádrhelů [1] Primárním jazykem vývoje Cocoa Touch je Objective-C, je nazýván jako přesný superset jazyka C, v normální řeči to znamená, že nad jazykem C je vytvořena tenká objektová vrstva s vlastní syntaxí a design patterny ve formě jazyku Objective-C. Jeho tvorba a architektura není v plenkách, jako je tomu u mnoha dalších na míru vytvořených jazyka pro mobilní aplikace. První začátky jeho vývoje pochází z 8 let Pro nově příchozí vývojáře se na první pohled může zdát velmi nestandardní z důvodu zápisu syntaxe volání metod nebo velkého, na druhou stranu důmyslného, aplikování návrhových vzorů Je spousta velmi kvalitních publikací pro naučení a jednoduché pochopení Objective-C. [1][5][6][54][55] Pokud budeme chtít využívat oficiální nástroje, které jsou velmi kvalitní, pro tvorbu nativních aplikaci, je nutné vlastni Macintosh počítač s procesory Intel Na jednu stranu se jedná o stabilní platformu pro vývoj, na druhou o velké omezení pro nové lidi přicházející z Windows Z tohoto důvodu vzniklo mnoho způsobů jak vytvořit nativní nebo webovou aplikací bez nutnosti použití Mac počítače nebo Objective-C jazyka Zmiňuji se o nich ve 3. kapitole Další možnosti vývoje. [1] S vlastnictvím odpovídajícího hardwaru a znalostí Objective-C budeme dále potřebovat ios SDK, který poskytuje všechny potřeby pro vývoj aplikací Tento balík je dostupný zdarma po registraci na portále developer apple com Nejsme ale schopni vyvíjenou aplikaci nahrát do reálného zařízení nebo ji publikovat přes distribuční kanál App Store Pro tuto potřebu se musíme registrovat v jednom ze dvou Developer programů: [1][3] 1. Standardní program stojí $99 za rok a poskytuje technickou podporu, distribuci přes App Store a hlavně schopnost testovat a ladit aplikaci na vlastním mobilním zařízení než jen v simulátoru Tento program je určen pro jednoho vývojáře [1] 13

12 2. Firemní program stojí $ 99 za rok, je navrhnut pro firmy vytvářející vlastní inhouse ios aplikace a App Store distribuci V tomto programu je možné přizvat více vývojářů do týmu, kteří pracují na stejném projektu [1] Nově příchozí člověk pro tvorbu ios aplikací by měl mít znalost platformy, minimálně z pohledu běžného uživatele Z praxe jsem se setkal s mnoha lidmi, kteří chtěli vyvíjet pouze z důvodu dnešního boomu mobilních aplikací, ale nevlastnili žádné ios zařízení Problematickým faktorem je zde neznalost chování uživatelského rozhraní, možností co systém může nabídnout a toho, co uživatelé nemají rádi Poté, co nováček překoná znalostní bariery, musí se s těmito věcmi potýkat, ač mu mohou přijít z jeho pohledu nesmyslné Nicméně výjimky existují asi tak, jako že firma najde zaměstnance podle jejich představ [1] 2.2 Rozdílnost při vývoji ios Bez ohledu na znalosti a zkušenosti nově příchozích lidí, je třeba mít na paměti několik věcí, které se značně liší mezi vývojem ios a desktopových aplikací Pouze jedna aktivní aplikace Mobilní zařízení má omezené prostředky na paměť, cpu a další Proto je koncept systému vytvořen tak, že v jednom čase je aktivní vždy jedna aplikace S příchodem multitaskingu ve verzi ios 4 se může zdát, že běží několik aplikací najednou Není tomu tak, dochází pouze k jejich zmražení s jinou zprávou od systému vůči aplikaci, aby byla možnost se pro tento stav připravit Jsou možnosti jak nechat aplikaci běžet na pozadí, ale ty mají značná omezení a striktní pravidla [1][3] Pouze jedno okno Oproti desktopovým aplikacím, kde máme několik různých oken s vlastní velikosti, v ios máme vždy pouze jedno okno pro jednu aplikaci s fixními rozměry podle displeje. [1][3] Omezený přístup Desktopové programy mohou libovolně komunikovat s hardwarem, měnit systémová nastavení, přistupovat do všech míst na disku nebo v systému a v horších případech způsobovat problémy nebo ničit okolní části V ios je každá aplikace v tzv sandboxu, je to prostor určený pro samostatnou aplikaci, ve své podstatě se jedná na UNIX systému o složku mimo, ke které aplikace nemá přístup Komunikace se systémem a hardwarem prochází přes veřejné API a není žádná jiná možnost, jak toto omezení obejít, pokud chceme aplikaci schválit na App Store Z uživatelského pohledu je to velká výhoda z důvodu bezpečnosti 14

13 a stability Pro aplikace vlastní potřeby lze tato omezení obcházet, ale není to doporučené [1][3] Omezená odezva Mobilní zařízení je navrženo tak, aby bylo svižné a rychle použitelné Modelový příklad, uživatel v 1 vteřinách zjistí počasí, poté hned přepne do hry a v tom mu přijde SMS a on přejde ze hry do SMS aplikace Každé spuštění a ukončení aplikace má pravidla na odezvu Spouštění na úvodním načítacím okně může být maximálně vteřin Taktéž po zrušení nebo zavření aplikace je 5 vteřin na uložení stavu, dat a dokončení dalších kroků Po překročení těchto stavů je aplikace zabita systémem bez ohledu na to, zda byly provedený nutné kroky, o které se aplikace snažila. [1][3] K zavření nebo pozastavení aplikace dochází v případě, že nám přijde SMS, příchozí hovor, uživatel zmačkne Home tlačítko nebo se gesty pokusíme zobrazit multitasking bar, popřípadě přesunout do jiného okna Během zavření dojde k okamžitému zrušení grafické části aplikace a doba 5 vteřin je věnována na pozadí systému S příchodem multitaskingu v ios 4, má aplikace možnost zpracovat další úkony ve vynuceném background módu Máme zde nějakou možnost prodloužit úkony při zavření, ale opět po překročení některých limit je proces zrušen systémem [1][3] Omezení velikosti displeje S příchodem prvního iphonu se jednalo o největší display na chytrých telefonech, který má rozměr 3 x 48 pixelů (obrazových bodů) S příchodem iphone 4 a nové technologie v podobě Retina displeje se tato velikost zvětšila na 64 x 96 pixelů ipad 1, a 3 má také fixní rozměry, je zde větší možnost použitelnosti, ale i tak se nejedná o nikterak velkou plochu Proto při návrhu aplikací je nutné dbát na smysluplnost rozložení uživatelského rozhraní a toho, co uživateli poskytneme oproti desktopové verzi. [1][3] Omezené prostředky systému Mobilní zařízení mají velmi omezenou paměť, diskovou kapacitu a výkonnost cpu nebo grafického procesoru v porovnání s desktopovými nebo notebook počítači. [1][3] V současné době není situace tak kritická jako v začátcích počítačové éry, kdy jsme se snažili zobrazit složitý graf na počítači s 48 KB paměti, ale za použití grafického rozhraní můžeme velmi snadno přijít po prostředky systému [1] 15

14 V dnešní době, pro představu, má ipad 3. generace 1 4 MB RAM paměť, 1 GHz ARM Apple A5X CPU společně s PowerVR grafickým čipem a až 64 GB SSD disk Ač zde máme možnost 1 GB paměti a SSD disk, ios systém nemá možnost swapování paměti Jedná se o mechanismus, kdy nečinné části v paměti jsou zapsány na disk a paměť je tak uvolněna pro další potřebu Proto je pro aplikaci dostupná vždy jen nepoužitá fyzická paměť Cocoa Touch framework má mechanismus pro zasílání varovných zpráv na nedostatek paměti, při obdržení tohoto varování by měla být implementována logika pro uvolnění dat Například zrušit načtené obrázky, vyprázdnit data prostřednictvím ORM držené v paměti a podobně Pokud je velikost paměti danou aplikací překročena, dojde k jejímu shození a uvolnění veškeré paměti využívané touto aplikací [1] Neexistuje Garbage Collection Oproti Cocoa frameworku na desktopové verzi, Cocoa Touch nepodporuje Garbage Collection Jedná se o mechanismus recyklování paměťových míst bez nutnosti explicitního uvolnění Při vývoji tak dochází ke komplikaci v podobě správy paměti, ale benefitem jsou větší paměťové prostředky které ios aplikace mohou využívat [1] Nové věci Jak bylo v začátku zmíněno, Cocoa Touch neposkytuje některé desktopové části, jsou zde také části které má navíc oproti Cocoa Většina ios zařízení má vestavěnou kameru a unifikovanou foto knihovnu Využití geografické polohy skrze asistované GPS Využití vestavěných polohových senzorů pro orientaci zařízení v prostoru Rozdílný přístup Mobilní zařízení je navrženo pro rychlé použití, nemá klávesnici nebo myš Uživatel má možnost ovládat zařízení dotykem nebo pohybem, s těmito přístupy musíme počítat při návrhu vlastních aplikací Hodně často dochází ke kopii webových formulářů, celých stránek nebo kompletních desktopových aplikací přímo do mobilní aplikace velikosti rozměru displeje. [3] 2.3 ios SDK ios Software Development Kit obsahuje všechny potřebné věci pro vývoj nativních nebo webových aplikací Seznam věcí, které spadají do vývojových nástrojů ios SDK: [4] 16

15 Obráz k 1 - I us rac D ba íku [7] Bohatá škála Cocoa Touch knihoven a další knihovny založené na UNIX platformě Precizní Dokumentace, se kterou si zkušenější vývojář vystačí bez nutnosti použití externích zdrojů informací Vývojové prostředí Xcode, které je na míru vytvořeno pro vývoj Cocoa nebo Cocoa Touch aplikací Obsahuje spousta prvků, bez kterých by vývoj nemohl být tak plynulý Xcode popisuji v pozdějších kapitolách Ladící prostředí Instruments, sloužící pro odladění paměťových, cpu, grafických, datových a mnoha dalších částí Tento nástroj budu také dále detailněji popisovat. ios Simulátor, který je identickou kopií iphone a ipad zařízení Jeho spuštění je rychlé a pohodlné, proto je to ideální nástroj pro testování a ladění aplikací během vývoje. Obráz k 2 - Vývojové rozhraní Xcod [7] 17

16 Obráz k 3 adící nás roj Ins rum n s [7] Obráz k 4 io simu a or pro s ování ap ikací [7] 18

17 2.4 Materiály pro znalost vývoje V dnešní době, kdy mobilní aplikaci jsou horkým tématem, až by se dalo říci bublinou, která brzy splaskne, je spousta míst, odkud může nově příchozí člověk získat znalosti Z těch serióznějších jsou to různé knížky převážně probírající celkovou začátečnickou znalost ios a také ty, které popisují konkrétní hlubší části jako například Core Data, Open GL, Bonjour Networking atd. [1][8][9] Nicméně já osobně považuji hlavním zdrojem dokumentaci k jednotlivým knihovnám a několik Apple příruček pro řešení dané problematiky Většinou knihy popisující tyto témata jsou pouze nafouknuté kopie originálních příruček Na ios Developer portálu lze stáhnout příklady kódu pro každý modelový případ Veškerá dokumentace, příručky a příklady jsou aktualizovány s každou novou verzí nebo s opravou chyb. S vývojovým nástrojem Xcode je možné velmi rychle a pohodlně přejít z kódu přímo do dokumentace nebo příručky zabývající se danou problematikou [7] Protože psané slovo není občas tak vystihující jako mluvené a názorná reálná ukázka, Apple pořádá jednou ročně WWDC (Worldwide Developer Conference) konferenci v San Francisku Prezentuje více než 1 přednášek z mnoha aspektů vývoje ios Částí konference je také přítomnost Apple inženýrů, kteří zodpovědí v laboratořích jakékoliv dotazy a pomohou s praktickou částí Jejich počet byl v roce 8 kolem jednoho tisíce Kapacita konference je 5 účastníků s cenou $1599 za lístek V posledních třech letech byla během několika hodin vyprodána Veškeré materiály v podobě prezentací, ukázkových kódu, získaných letáčků nebo informací předaných od pořadatelů konference, jsou pod přísným NDA (non-disclosure agreement), se kterým musí účastníci souhlasit. [10] 19

18 Obráz k 5 pp inž nýr pomáhá účas níkovi WWDC konference s vývojovými prob émy [10] Po ukončení konference jsou volně dostupné video záznamy všech přednášek, které je možné stáhnout, pokud uživatel vlastní vývojářský účet Kvalita videí je vynikající a přesahuje často kvalitu běžných přednášek na českých školách Videa z předchozích ročníků let jsou dostupné z roku 1 a 11 Pro rok 9 je přepracovaná forma videí se stejnou informační hodnotou, ale ne identickým záznamem přednášky [10][11] 2.5 Milníky ios systémů a podporovaných zařízení Tento přehled neslouží k vyčerpávajícímu statistickému výpisu, jsou zde uvedeny pouze hlavní události pro každé zařízení a verzi systému Vyčerpávající přehled v různých tabulkách lze najít na wiki v referencích nebo v menší informativní kvalitě na stránkách Apple Frekvence a velikost paměti je určena podle testu nebo neoficiálních zdrojů. Apple nezveřejňuje tyto informace, jeho filozofii je, že vývojář má k dispozici zařízení, které může ovládat prostřednictvím zdokumentovaného API a také například přijímat hlášení o nedostatku paměti Neměl by se spoléhat na teoretické číslo pro paměť nebo procesor. 20

19 Obráz k 6 Časová osa pp zaříz ní s příchod m na rh [12] iphone + ios 1.0 [13] 29. června 2007 Začátek úspěšné cesty s prvním iphone zařízením Unikátní systém ios prostředí a hrstka aplikací bez možnosti dalšího vývoje Tento model komunikoval na datových technologiích GSM, GPRS a EDGE, se 1 8MB RAM pamětí, 41 MHz ARM pod taktovaným procesorem a volbou mezi 4-16 GB SSD disku. Vynikal vizuálně s částečným hliníkovým krytem na zadní straně, v pozdějších modelech byl tento kryt kvůli jeho váze odstraněn V této verzi bylo představeno několik aplikací, které jsou brány jako inspirace vývoje i v nynější době ipod Touch (1. generace) [14] 5. září 2007 iphone 3G + ios 2.0 [13] 11. července 2008 Hardwarově se jednalo o stejnou konfiguraci telefonu jako předchozí model Přibyla nová technologie datové komunikace ve formě UMTS HSDPA Přidáno asistované GPS a možnost použít mikrofon ze sluchátek Rozšíření velké jazykové podpory 21

20 Zlepšená vlastnost preview pro zobrazení většiny známých dokumentů (doc, xls, pdf, txt a mnoho dalších). Možnost importovat SIM kontakty Fotoaparát zaznamenává geolocation údaj do výsledné fotky Bonjour, VPN, SVG podpora a mnoho dalších Dva měsíce před uvedením ios přibyla forma ios SDK, plně zdokumentované API pro tvorbu vlastních aplikací ipod Touch (2nd generation) [14] 9. září 2008 iphone 3GS + ios 3.0 [13] 19. června 2009 Paměť rozšířena na 256 MB RAM, nový grafický čip a ARM Context-A8 CPU podtaktovaný na 600 MHz s volbou SSD disku 8, 16 a 32 GB. Přidána funkce kamery 48 p 30 FPS a rozlišení fotoaparátu zvýšeno na 3 Megapixely s vlastností autofokusu. Přidána byla také uživateli nepochopitelně chybějící vlastnost Copy / Cut / Paste, Apple byl v minulosti zdráhavý na nějaké rychlé řešení, ale nakonec přišel s dalším unikátním způsobem pro mobilní zařízení Podpora tetheringu přes Bluetooth 1 PAN síť nebo USB ipod Touch (3. generace) [14] 9. září 2009 ios [12] 2. února 2010 Tato verze obsahovala pouze bezpečnostní a systémové vylepšení, ale je poslední verzí, do které je možné aktualizovat na originálním iphone modelu ipad + ios 3.2 [15] 3. dubna 2010 Další kus revolučního zařízení, který oživil trh s tablety, přišel v konfiguraci 9 7 palců ( 5 mm, 1 4x768) velkém displeji, 1 GHz Apple A4 procesorem a 256 MB DDR RAM. Ostatní hardware byl srovnatelný s modelem iphone 3GS. Úprava ios systému pro ipad, například možnost přidat do docku 6 ikon, landscape orientace v menu a několik updatů včetně nových ipad verzí pro originální Apple aplikace. 22

21 Byla představena aplikace ibooks s novým Books Store obchodem iphone 4 + ios 4.0 [13] 24. června 2010 GSM, 10. února 2011 CDMA, 28. dubna 2011 bílý iphone Revoluční forma mobilního displeje s názvem Retina pro rozlišení 4 pixely na bod Paměť zvýšena na 512 MB RAM s CPU procesorem Apple A4 podtaktovaným na 800 MHz. Integrovány rozšíření pro nové datové technologie CDMA. V arzenálu vychytávek přibyl gyroskop, dual-mic proti šumu, mikro SIM a zadní LED světlo. Zadní kamera zvýšena na 5 Megapixelu s možností zaznamenávat 7 p HD video, také byla představena přední kamera pro video hovory s 3 Megapixelovým VGA rozlišením Zařízení vynikalo skleněným obalem s ocelovým rámem. Update systému byl až do verze 4 dostupný pouze pro iphone a ipod touch Přidán multitasking aplikací FaceTime pro video hovory přes Wi-Fi. iad mobilní reklamní síť podobná Google Adsense Představení velkého množství API rozhraní pro vývoj nových aplikací Apple TV (2. generace) [16] 1. září 2010 Předchozí, a také první verze televizního boxu byla postavena na Intel architektuře a neobsahovala ios systém, s touto verzí došlo ke kompletnímu přestavení s procesorem Apple A4, 56 MB RAM, 8 GB NAND flash cache a vylepšenou Wi-Fi. Zdroj k tomuto boxu za použití ARM architektury byl ze 46W snížen na 6W přípojku Úvodní systém pro toto zařízení byl ios 4 1 s možností přehrávat videa v maximální kvalitě 7 p ipod Touch (4. generace) [14] 9. září 2010 ios 4.2.1[12] 22. listopad 2010 Představena bezplatná služba Find My iphone, která doposud byla pouze pro uživatele s Mobile Me účtem. 23

22 Ve verzi 4 bylo mnoho oprav a vylepšení, ale také zahrnovala chybu ve Wi-Fi a VOIP komunikaci, a tak její vydání neproběhlo a byla uvolněna až další verze a tou byla Tato verze byla poslední dostupnou verzi pro iphone 3G a ipod Touch generace. Přidána technologie AirPlay pro streamování hudby, videa a obrázku přes Wi-Fi. Přidána technologie AirPrint pro hladký tisk s úvodními HP tiskárnami ipad 2 + ios 4.3 [15] 11. Března 2011 ipad konfigurací vylepšen na 512 MB DDR2 RAM, 1 GHz dual-core Apple A5 procesor, přidán gyroskop sensor, 7 Megapixelu zadní kamera a 7 Megapixelu přední kamera. AirPlay video podpora pro 3rd party aplikace. Představena služba Ping. Vylepšen JavaScript Nitro engine, z pohledu webových aplikacích se jednalo o velký pokrok Streamování itunes obsahu přes Home Sharing Funkce personal Hotspot pro některé operátory Přidána aplikace Photobooth a FaceTime do zařízení ipad iphone 4S + ios 5.0 [13] 14. října 2011 Hardware získal nový dual-core Apple A5 procesor podtaktovaný na 800 MHz, grafický čip s 9 násobným zlepšením oproti původní verzi a maximální velikost SSD disku na 64 GB. Přibyla podpora využívání ruské satelitní sítě GLONASS. Zvýšené rozlišení kamery na 8 Megapixelu, ale také vylepšena velikost samotného CCD čipu, která je zlepšením pro výsledné fotky z fotoaparátu Kamera je schopna nahrávat 1 8 p a obsahuje algoritmus pro rozpoznávání tváří implementovaný na úrovni hardwaru. Bluetooth bylo vylepšeno na verzi 4.0. Představení cloudové služby icloud mezi všemi Apple zařízeními a Windows systémy Z pohledu ios systému se jednalo o nejrozsáhlejší update za celou dobu Obsahoval přes 1500 nových API pro vývoj a řadu dalších finančně a časově nákladných vylepšení 24

23 FreePC synchronizace, která umožňuje synchronizovat ios systém přes Wi-Fi s PC nebo pouze s icloudem. Změněn mechanismus notifikací (notifikační center) přes notifikační lištu pro push a local notifikace. Přidána aplikace imessage, prostřednictvím níž lze posílat zprávy mezi Apple ID účty Nakladatelé dostali možnost přidat své periodika do aplikace Newsstand, která slouží doslovně jako novinový stánek a shlukuje všechny typy těchto aplikací na jednom místě se specifickými možnostmi magazínů Přidána aplikace Reminders, která je dle vlastního názoru jednou z designově nejhorších aplikací, co Apple vydal Bohužel je defaultně v systému a nelze smazat, její synchronizace je přes icloud Integrace Twitter účtu a příprava API pro další možné hráče (facebook, foursquare, atd.) Aplikace ipod kompletně předesignována a přejmenována na název Music Mnoho znatelných úprav v původních aplikacích Mail, Safari, Contacts, Game Center atd. ipad a iphone 4S má možnost AirPlay zrcadlení obrazu na TV, videa jsou přehrávána v 1 8 p iphone 4S přinesl virtuální inteligentní asistent SIRI s technologií Text-to-Speech a Speech Recognition. Apple TV (3rd generation) + ios 5.1 [16] 7. března 2012 Systém obsahoval pouze novou podporu přehrávání 1 8 p videa pro Apple TV, redesignované menu, podporu pro stahování filmů přes icloud a možnost restartovat zařízení Hardware televizního boxu vylepšen single-core procesorem Apple A5, rozšířením paměti na 51 MB RAM a možností přehrávat 1 8 p kvalitu videa ipad (3rd generation) [15] 16. března 2012 Hardware vylepšen na 1 GB RAM, dual-core Apple A5X procesor který podle různých testů obsahuje grafický čip srovnatelný s posledními verzemi NVIDIA karet. Přidán modul pro Bluetooth 4.0 a představena technologie LTE pro 4G modely. 25

24 Zadní kamera dosáhla dramatického zlepšení na 5 Megapixelů a většího CCD čipu. Retina display s rozlišením 48x1536 pixelů Všechny verze ipod Touch zařízení následovaly necelé měsíce po představení nového iphone modelu Jejich konfigurace byla srovnatelná s iphony bez GSM modulů Po iphone 4S již žádný ipod Touch model nenásledoval [13][14] Každá verze nového systému přinesla řadu vylepšených API pro vývojáře, jejich zpětnou kompatibilitu a vynikající dokumentaci s přednáškami jak dané featury používat Z pohledu samotného zařízení docházelo k lehkým user experience a user interface úpravám model od modelu, intenzivním aktualizacím původních Apple aplikací, které jsou po celou dobu existence vzorem mnoha lidí podílejících se na vývoji ios aplikaci Provozní doba baterie i přes větší nároky hardwaru a softwaru stále roste Jednotlivé technologie typu Wi- Fi, Bluetooth, GPS a různé sensory jsou nahrazovány nebo přidávány s novějšími typy [1][3][4][14][15] 26

25 3 Design aplikace Z pohledu celého životního cyklu vytváření aplikace od příchodu unikátního, méně použitelného nápadu nebo získané zakázky až po marketingovou kampaň a nové aktualizace v pozdější fázi, je design aplikace tou hlavní částí, která má největší dopad na úspěch finálního produktu Pojem design zahrnuje business logiku, architekturu aplikace a v neposlední řadě uživatelské rozhraní s grafickým vzhledem První dvě části jsou mnoha lidem zabývajících se analýzou a architekturou velmi známé z desktopových a webových aplikací Architektura reálné implementace je finančně a časově méně náročná, když dojde k jejímu vytvoření na papír nebo odpovídající modelovací program a poté, po finálním schválení začne reálný vývoj Mobilní aplikace jsou velmi malé a často k jejich úspěchu je potřeba se nějakých funkčností vzdát Proto architektonické návrhy mohou být nižší úrovně než je tomu například u informačních systémů, kde většina nákladů je vynaložena na modelový popis, kterému plně rozumí jen lidé zasvěceni ve svém světě a slouží pro celkové uchopení enormního rozměru systému [1][18] Takto detailní navrhování uživatelského rozhraní, jako je tomu v případě ios aplikací, není tak úplně běžné v desktopových aplikacích Trochu lépe jsou na tom webové aplikace, ale ve většině případů i tam je to pouze o subjektivním názoru velmi malé skupiny lidí nebo uživatelského testu provedeného nad omezeným počtem účastníků Úplným opakem tohoto přístupu je filozofie společnosti Apple, jejich vzhled aplikací má daná pravidla a masivně podložené testy pro každou část S nadsázkou by se dalo říct, že žádný prvek se nenachází na svém místě, tak aby tam neměl daný účel. [3][4][17] S příchodem iphone v roce 7 Apple dodal zařízení s úvodními aplikacemi jako je Mail, Kalendář, Safari prohlížeč a mnoho dalších Tyto aplikace jsou ve své podstatě velmi jednoduchou verzí desktopových aplikací, ale splňují všechny potřeby uživatelů využívající mobilní zařízení pro posílání mailu, pořádání schůzek nebo prohlížení webového obsahu Postupem času s přicházejícími aktualizacemi a novým zařízením, přicházely další desktopové varianty pro ipad a iphone Aplikace Pages, Numbers nebo Keynotes předvedly, že také na mobilním zařízení může být pohodlné vytvářet dokumenty nebo prezentace, kvality na kterou jsme zvyklí z desktopových stanic Tyto oficiální aplikace bývají často inspirací mnoha UI UX designerů nebo analytiků zabývajících se uživatelským rozhraním [1] Základním pravidlem pro navrhování mobilních ios aplikací je snaha poskytnout řešení, ne funkcionality Když je návrhář na 99 okně ve své aplikaci Počasí a velmi přemýšlí kam 27

26 všechny filtry a volby ve formě tlačítek dá, měl by si připomenout, co se snaží uživateli doručit a jestli by neměl spíše ubírat než přidávat obsah [18] V následujících částech bude nastíněna příručka ios Human Interface Guidelines, kde většinu podložených UI částí pro návrh aplikací můžeme najít s praktickou Use Case ukázkou aplikace Things. Také bude představeno, jaké jsou hlavní typy aplikací, a co by se mělo dodržovat za účelem docílit vybraný typ Také zmíním specifické hardwarové prvky mobilních aplikací, které neexistují nebo nejsou standardní na běžných počítačích V neposlední řadě nastíním možnosti přístupnosti k lidem s handicapem, a jak je jednoduché zahrnout tyto prvky do vlastních aplikací. [17][18] 3.1 Znalost uživatelského rozhraní Existuje dokument zmíněný v úvodu kapitoly, ios Human Interface Guidelines Obsahuje většinu znalostí potřebných k pochopení filozofie návrhu aplikací a částečného představení technických možností platformy pro tvorbu UI Jeho rozsah je kolem 15 stran, kvalitně strukturovaným obsahem a výstižnými obrázky Platforma ios je popularitou rostoucí a moderní platformou Není tedy žádným údivem, že vývojem nad touto platformou se zabývá také velké množství hloupých nebo naivních lidí Ať se toto tvrzení libí nebo ne, postupem času je v praxi viditelné, že není tak daleko od pravdy Počet lidí podílející se na vývoji ios aplikací a počet čtenářů zmíněného dokumentu je rozdílný. [17][18] Představím příklad z několika pozic vývoje, člověk zabývající se zpracováním požadavků klienta, nemůže rámcově odhadnout časovou náročnost přání zákazníka Technická implementace se později může lišit na naprostých detailech v řádech dnů, oproti minutám kdyby byla zmíněná znalost Stejný dopad má design aplikace, který vznikne před samotným vývojem a posléze až v částech vývoje, kdy je většina aplikace implementována Mohou přijít na povrch další komplikace, které vyžadují přepracování již existujícího Nebudu ospravedlňovat ani samotný vývoj v podobě bušení zdrojového kódu, jsou případy, kdy standardní prvky byly implementovány zcela znovu s horší funkčností nebo rozdílným chováním oproti jejich existujícím variantám Není nic horšího, než když se začne hádat vysoce postavený člen týmu se subjektivním názorem nebo argumentem z jiné platformy, jak by výsledná věc měla vypadat Všem těmto věcem je snadné předejít, přečtením si 15 stránek UI kuchařky a dostat povědomí o možnostech na poměrně stejnou úroveň. [17][18] 28

27 Osobně jsem se tímto dokumentem v prvních částech vývoje také nezabýval a byl jsem rád, že jednotlivé okna vůbec vyjíždějí, jakýmkoliv způsobem a aplikace je spustitelná Postupem času jsem začal přemýšlet nad drobnostmi, jako jsou tlačítka a jejich pozice Proč jsou napravo a ne nalevo Proč se zobrazí u jistých tlačítek takové okno a pro jiné se zablokuje celé uživatelské rozhraní Jestli není špatně, že máme v aplikaci více alert oken než normálních oken a mnoho dalších věcí které by mi z uživatelského pohledu vadili Časem jsem tento 15 stránkový dokument přelouskal s dalšími příručkami v podobě tisíce stránek konkrétních technických možností vývoje nad ios a návrhem UI Na konci bych mohl dospět k názoru, že to co nejde na ios udělat jednoduše, je ve většině případů koncepčně špatně navrženo. Takto podobně vypadá cesta mnoha vývojářů pro ios a zřejmě i jiných mobilních platforem, je jen rozdílnost v době jak rychle se jedinec adaptuje na filozofii dané platformy. [17][18] 3.2 Use case aplikace Things Desktopová Mac OS aplikace Things od firmy Cultured Code je populární task manager V roce 9, během Apple WWDC konference, vyhrála tato společnost ocenění Apple Design Award za nejlepší návrh ios aplikace V rámci přednášky byly prezentovány důvody a dopady změn, které byly při návrhu aplikace vykonány Představím zde kroky, se kterými se autoři potýkali při vývoji této aplikace, a co se vůbec bralo v úvahu Při představě, že se snažíme zredukovat desktopovou aplikaci do velikosti necelých 1 x6 cm, je pro mnohé složitým úkolem [19] Obráz k 7 Ikona aplikace Things [19] V začátcích byla snaha o vytvoření podobného vzhledu jako má desktopová aplikace Things Tento vzhled vypadal dobře, ale sami autoři cítili, že neodpovídá tomu, na co jsou iphone uživatelé zvyklí Proto vytvořili několik dalších návrhů ve formě skic [19] 29

28 Obráz k 8 růběh návrhu mobi ní ap ikac od d sk opového až po výs dný vzh d [19] Jedním z hlavních návrhových rozhodnutí, byl výběr navigace S tímto problémem se setkává spousta lidí při návrhu různorodých aplikací V případě Things, se autoři rozhodovali mezi použitím Tab Baru nebo Toolbaru Autoři původně zamýšleli použití Tab Baru, protože jeho využití znatelně rozděluje tematické části aplikace [19] Obráz k 9 Návrh využi í Tab aru [19] Brzy ale dospěli k závěru, že v mobilní aplikaci není dostatek místa a uživatelé potřebují ikony pro manipulaci vybraného obsahu (vytvoření úkolu, označení, přesunutí, nastavení, ) Tyto ovládací prvky museli být snadno dostupné Také dospěli k názoru, že 30

29 kategorizace aplikace má více než 5 částí, a tak by 5. a další následující byly schovány v poslední ikoně prezentující Další obsah [19] Obráz k 10 Návrh a r a izac využi í Too baru [19] Další částí aplikace bylo vytvoření nového úkolu V první verzi bylo implementováno uživatelské rozhraní pro rychlé přidání, ale ve své podstatě nebylo rychlé, protože uživatel musel tapnout na ikonu +, následně na vybrané pole a teprve pak mohl začít psát Proto se snažili najít řešení, jak by uživatel mohl rovnou začít přidávat nový úkol Chtěli na jednu stranu zabránit zbytečným přetapnutí do jiného pole a na druhou stranu mít vše po ruce. Proto vytvořili buňku, která po tapnutí zobrazí rozšířené nastavení, a bez něj je uživatel schopen rovnou vyplňovat název rychlého úkolu [19] Obráz k 11 Návrh a imp m n ovaný vzh d nového úko u [19] 31

30 Obráz k 12 Návrh a r a izac vy vář ní nového úko u [19] Obráz k 13 Op ima izovaný návrh a r a izac nového úko u v v rzi 1.1 [19] Těchto několik částí je pouze špička ledovce z celého návrhu aplikace Je to ale dostatečné pro nastínění problémů, které je nutné řešit v rámci vývoje na ios Rychlé náčrtky, popřípadě nefunkční UI s prezentací prvků pro živější představu, zabere naprosté minimum času v porovnání s tím, kdy se vytvoří plně implementované UI, a poté dojde 32

31 k jeho předělání Vzpomínám si na situaci, kdy jsme u jednoho projektu použili animace u tabulkového seznamu a následně přidávali více logických úkonů a funkcionalit, které v začátku nebyly zmíněny Navrhovalo se doslova za pochodu Došlo to do fáze, kdy nebylo možné animace používat a celé UI se muselo přepsat Spousta promarněného času v porovnání s tím, jak malá byla výsledná aplikace a jak jsme se mohli všem problémům v začátcích vyvarovat Ne vždy lze takto přemýšlet a navrhovat, ale je nutné se o to minimálně snažit [19] 3.3 Typy aplikací Užitková aplikace Užitkové aplikace poskytují uživateli možnost rychle přistoupit ke specifickému typu informací nebo provést velmi specifickou úlohu Tento typ je zaměřen na jednu jedinou věc a tou je rychlé použití v řádech několika vteřin Názorným příkladem, který zde popíši, je Apple aplikace Weather (Počasí) Tento druh by měl splňovat 3 základní části: velmi rychlé načtení, jednoduchý vzhled a intuitivní navigaci. V neposlední řadě také standardní uživatelské rozhraní. [17][18] Rychlé načtení Aplikace musí být připravena hned po prvním načtení, většina uživatelů má omezený čas, který může aplikacím věnovat Tento přístup je preferován pro většinu aplikací, ale pro Utility aplikace je zásadním Doba spouštění by neměla trvat déle než doba využití aplikace Nastíním modelový příklad nad zmíněnou aplikací Počasí [17][18] Uživatel má dilema ve výběru oblečení Sáhne tedy po telefonu a spustí aplikaci Počasí Instantně mu naběhne v řádech desetinách vteřin, předpověď s graficky a textově informativní hodnotou, pro jeho polohu zjištěnou přes geolocation Jediným swipem prstu, může jeho zvědavost zjistit jaké je počasí v jiných místech světa, z předem definovaného seznamu Následně je aplikace zavřena a uživatel pokračuje výběrem oblečení Doba využití aplikace nepřekročila ve většině případů déle než 5 vteřin [18] Jednoduchý vzhled a intuitivní navigace Po zobrazení a načtení údajů o počasí, je třeba jejich stručná a výstižná reprezentace V mnoha situacích má uživatel opravdu jen jednotky vteřin a raději aplikaci zavře a nepoužije, než aby zdlouhavě hledal Grafická prezentace, jako je tomu u tématu 33

32 zaměřeném na počasí, často vystihne situaci mnohem lépe, než textová forma V rámci navigace by se uživatel neměl cítit nejistě a jeho první dojem by měl odpovídat funkcionalitě pracovního toku aplikace [18] Standardní uživatelské rozhraní V této části může nadpis klamat, ale ani Počasí není výjimkou v použití standardních prvků Prezentace dat vlastní grafickou formou je jedna věc, ale navigace mezi okny v podobě Page Control nebo nastavení za použití informačního tlačítka, jsou základní věci, se kterými je uživatel seznámen a očekává jejich standardní chování [18] Existují samozřejmě výjimky, zaleží jen na samotných autorech dané aplikace, jak moc seriózní a užitkovou aplikaci chtějí vytvořit Příkladem je úkolovník Clear Vyznačuje se unikátním chováním, vlastní navigací a netypickým ovládáním. Zřejmě neosloví tolik uživatelů jako je to u aplikace Počasí, ale minimálně najde mnoho spokojených uživatelů, kteří očekávají tu onu výjimku. [20] Obráz k 14 Ov ádací s a ap ikac ar [20] Produktivní aplikace Produktivní aplikace se oproti užitkovým aplikacím vyznačují rozmanitými možnostmi a obsahují vše potřebné od sociální interakce skrze facebook až po mobilní bankovnictví Čas strávený nad využitím těchto aplikací se liší v důsledku úloh, které vykonáváme V případě úkolovníku nebo přečtení ů to může být v řádech vteřin, až po psaní dokumentů nebo komunikaci přes Skype, popřípadě sociální sítě, dosahujeme desítky minut. [18] 34

33 Specifikace tohoto typu je velmi rozdílná, ale nejvýstižnější části by se dali shrnout do dvou bodů, kterými je hierarchická struktura a zkratky pro ovládání [18] Hierarchická struktura Téměř všechny produktivity aplikace mají hierarchickou strukturu složenou ze seznamu položek a detailního přehledu Seznam je často tvořen scrolovatelným prvkem s jednotlivými položkami v podobě tabulkového listu, který je základním prvkem většiny standardních ios aplikací Z každé položky vede hierarchie na detailní přehled v podobě jednoho okna s možností scrolování [18] Většina produktivity aplikací využívá horní navigační lištu, která zastřešuje celý tok hierarchie v unifikovaném rozhraní Výjimkou není ani tabulka složená ze až 5 ikon na spodní části UI, která logicky odděluje části aplikace podle výstižné ikony a popisku [18] Zkratky pro ovládání Produktivní aplikace často vyžadují zadat textovou hodnotu pro zaslání u, vyhledávání nebo vyplnění formuláře Zadávat text na mobilním zařízení s rozměry dotykové klávesnice není nic pohodlného, proto je dobré tento úkon minimalizovat jak to jen jde. [18] Uvedu příklady existujících řešení Pro vyplnění ové adresy máme možnost zapsat několik začátečních znaků a zbytek je nám napovězen, ušetříme psaní převážné části textu Oprava textu je dokonce standardně vestavěna v ios systému Ve formuláři udávající pozici z místa do místa, je možnost předvyplnit startovní místo podle geolokace nebo předdefinovaného seznamu V dlouhém seznamu hodnot lze využít vyhledávací rozhraní se standardní nebo vlastní logikou, než scrollovat napříč seznamem o řádu tisíce hodnot. [18] Immersive aplikace Aplikace tohoto typu se vyznačuje vtáhnutím uživatele do děje Příkladem mohou být hry, vykonávání speciálních úloh nebo přehrávání medií Typická doba využití je v řádech minut až hodin Různorodost a tenká hranice, kdy se jedná o Immersive aplikaci nelze jednoznačně určit, ale hlavními body tohoto typy jsou: Zaměření se na obsah a přizpůsobený uživatelský požitek [18] 35

34 Zaměření se na obsah Veškerá plocha displeje je věnována obsahu, který je hlavní věcí této aplikace Pro hry, přehrávání medií nebo čtení knížek, dochází taktéž ke schování status baru se stavem baterie, času a mnoha dalšími hodnotami Nastavení a různé volby jsou dostupné, ale nenacházejí se v aktivním obsahu Například v přehrávání videa máme celý display věnován pouze videu, po tapnutí získáme možnosti na zobrazeném panelu jako je pauza, zastavení videa, ovládání hlasitosti atd. [18] Přizpůsobený uživatelský požitek Tento druh aplikací vytváří vlastní uživatelské rozhraní a rozdílné chování uživatelů, které se liší od popsaných standardu v HIG dokumentu Často bývá tendence vytvořit každou aplikaci jako Immersive, ale z popisu předchozích dvou typů, by již zde mělo být patrné, že pro vytvoření úkolovníku bychom se neměli snažit o tento typ a proč [18] 3.4 Rozdílnost ipad UI Stejně tak jako je kladen specifický důraz designu na webové stránky, iphone zařízení nebo desktop aplikace, ipad není výjimkou Nemohu zde dostatečně naznačit fakt, že ipad není iphone položený 4x vedle sebe Někteří mají tendenci recyklovat jednotlivé okna iphone aplikací a použít je pro ipad aplikaci nebo vytvářet větší uživatelské rozhraní, které má stejnou strukturu a vzhled, jen je všude víc místa V konečném produktu bude výsledná aplikace méně nebo spíše vůbec ne použitelná, ale její uživatelský dojem a všechna ta pravidla, která jsem naznačoval v předchozích částech, budou pryč [1][3][17][18][23] Zodpovědnější designeři věnují částem navrženým pro ipad mnohonásobně více času, display je větší, nabízí jiné možnosti a je zde k zachycení více detailu, které jsou v podání iphone zařízení na čtvrtinové ploše iphone aplikace jsou často pouze v portrait orientaci, oproti tomu ipad aplikace bývají ve všech 4 orientacích, protože ipad prosazuje myšlenku, že zařízení nemá žádnou základní orientaci, uživatel ho může vzít z jakékoliv pozice a aplikace by se měli natočit odpovídající orientaci [1][3][17][18][23] Z toho je patrné, že vytvářet uživatelské rozhraní pro ipad je jak po stránce návrhu, tak po implementační části časově náročnější než iphone aplikace Tato myšlenka a zbytečných desítek hodin práce navíc se pro ne-majitele ios zařízení může zdát jako rozmazlenost ios uživatelů Z části je to pravda, uživatelé ios zařízení jsou hýčkáni intuitivním designem 36

35 a funkčností pro dané zařízení, ale tyto prvky jsou částmi úspěchu, na kterých si ios zařízení staví a všechny aplikace, které se chtějí svést na vlně popularity mobilních přístrojů ios [1][3][17][18][23] 3.5 Zmezinárodnění a lokalizace Tato část se velmi podobá tomu, co se děje u webových stránek, možnost poskytnout stejnou aplikaci v různých jazycích a upravených formátech pro daný kraj V podání mobilní ios aplikace nastávají komplikace se zahrnutým počtem regionů a upraveného obsahu v jiných částech světa Apple během schvalovacího procesu důkladněji testuje aplikace, které mají více jazykových mutací nebo poskytují obsah do míst typu Izrael nebo Čína Odmítnutím aplikací se Apple brání proti právním útokům ve zmíněných zemí, v každé zemi jsou jiné místní zákony a u citlivého obsahu nemusí autoři vždy tyto části dodržovat, ať již cíleně nebo nevědomě. [1][3][18] Přizpůsobení zmezinárodnění ve formě číselných formátů, typu použitého kalendáře nebo dalších věcí, je jednoduchou záležitostí v implementační části Lokalizace je ještě jednoduší pro způsob implementace, její práce spočívá pouze v samotném překladu textů a následného ověření aplikace, že všechny texty odpovídají kontextu aplikace [1][3][18] 37

36 4 Vývoj aplikací 4.1 Životní cyklus aplikace U ios aplikace je nutné vědět, zda běží v popředí nebo v pozadí Zdroje na mobilním zařízení jsou velmi limitované a aplikace se chová rozdílně v pozadí než v aktivním stavu Operační systém také limituje, co je aplikace schopna na pozadí vykonávat z důvodu zvýšení životnosti baterie a dodání více prostředků jiné aplikaci, která je právě na popředí [4] Během aktivního stavu aplikace systém zasílá dotykové události ke zpracování Mechanismus ve frameworku UIKit zaštiťuje většinu složité práce k zasílání specifických událostí ke zvoleným objektům Vše, co je třeba ze strany programátora udělat, je pouze přepsání odpovídajících metod [4] Aplikace se vždy nachází v jednom stavu nebo přechází z jednoho do druhého Například pokud uživatel zmačkne Home tlačítko nebo nastane příchozí hovor, dosavadní stav běžící aplikace se změní [4] Neběžící aplikace - aplikace doposud neběží nebo běžela, ale byla systémem přerušena Neaktivní - aplikace běží v popředí, ale nepřijímá právě žádné události Tento stav bývá dočasný jako přechod mezi jinými stavy Aktivní - aplikace běží v popředí a přijímá události Toto je normální stav běžící aplikace. Na pozadí - aplikace běží v pozadí a provádí část kódu Většina aplikací po vypnutí ještě chvíli setrvá v pozadí, aby douložili většinu potřebných věcí, a následně jsou vypnuty Je zde ale možnost pro vyžádání více času, aby nedošlo k přerušení aplikace po překročení limitního času Poslední variantou jsou aplikace, které byly úmyslně odeslány na pozadí pro jeden z registrovaných stavů módů a v tomto stavu setrvávají, dokud nejsou opět aktivní Pozastaveny - aplikace je v pozadí, ale nevykonává žádnou činnost Systém do tohoto stavu přesune aplikace bez upozornění, jejich instance ale zůstává v paměti Pokud dochází k paměťovým nedostatkům, systém má možnost tyto pozastavené aplikace zrušit a získat tak jejich využívanou paměť. 38

37 4.2 Objective-C Jazyk Objective-C je jednoduchý počítačový jazyk, stvořen pro programování sofistikovaných objektově orientovaných programů Je ve své podstatě rozšířením standardního jazyka C Další přidané části pochází z jazyka Smalltalk, jednoho z prvních objektově orientovaných jazyků Představím zde pouze ty nejvýraznější rozdílnosti oproti jiným programovacím jazykům [5][6] Jedná se o kompilovaný jazyk, který pro svůj chod potřebuje runtime systém Ten bychom si mohli představit jako operační systém umožňující chod zkompilovaných aplikací v Objective-C. [5][6] Každá třída obsahuje deklarační ( h) a implementační ( m) soubor Je možná pouze dědičnost jedné nadřazené třídy, není zde tedy mnohonásobná dědičnost jako je zvykem například v jazyce C Tento jazyk, díky svojí historii a zastřešení společností Apple, má bohaté provázání mnoha návrhových vzorů Velká část z nich se zabývá oddělením dědičnosti, jako jsou například vzory Delegát, Kategorie, Notifikace, Observer, Responder Chain, Flyweight a mnoho dalších Tato sofistikovanost komplikuje přehlednost a porozumění kódu začínajícími programátory bez znalostí nebo celkovém povědomí o návrhových vzorech [5][6][54][55] Pro vytvoření objektu je třeba alokovat paměť a zavolat inicializační metodu dané třídy, tím dojde k vytvoření instance, která je datového typu id Nejedná se o nic jiného než ukazatel v paměti, kde se nachází daný objekt Objective-C je dynamicky typový jazyk, proto všechny ukazatele mohou za běhu programu odkazovat na různě typové hodnoty V rámci programování za použití vývojového rozhraní Xcode, většinu deklarací provádíme typově, a kompilátor nám je tak schopen sdělit informaci zda výsledné sestavení kódu dává smysl nebo se snažíme přiřazovat rozdílné typy a volat neexistující metody Pokud použijeme základní typ id například místo NSString, kompilátor nemůže poznat, o jakou proměnnou se jedná a nenapoví nám, jestli volané metody existují nebo ne Z toho plyne, že všechna volání metod jsou prováděna dynamicky. [5][6] Metody v Objective-C mohou být instanční a třídní, oproti jiným jazykům se na první pohled liší svojí syntaxí [53] + (NSString *)localizednameofstringencoding:(nsstringencoding)encoding; - (void)insertstring:(nsstring *)astring atindex:(nsuinteger)loc; 39

38 nad objektem. Vykonání metod nad objektem neboli instancí třídy je zajištěno zavoláním zprávy [mutablestring atindex:0]; Jak je vidět, v tomto příkladu jsem nad objektem mutablestring zavolal metodu insertstring:atindex s dvěma argumenty Zpráva je typu selector a může být také uchována jako proměnná typu SEL, poté je možné nad daným objektem vykonat selector. SEL selector [object performselector:selector withobject:1]; [object performselector:@selector(showstatisticswithuserid:) withobject:1]; [object showstatisticswithuserid:1]; Všechny tyto příklady volání metod jsou analogické Objective-C také podporuje tečkovou syntaxi pro proměnné hodnoty, která je alternativou syntaxe oproti hranatým závorkám x = person.address.street.name; x = [[[person address] street] name]; y = window.contentview.bounds.origin.y; y = [[window contentview] bounds].origin.y; V obou případech se jedná o analogický zápis, tečkovou syntaxi můžeme kombinovat se závorkami Tyto, na první pohled exotické věci, jsou pouze nástin rozdílnosti Objective-C oproti jiným programovacím jazykům Během programování ios je k dispozici velká škála frameworků, která je jen velkou kolekcí Objective-C tříd Programátor má k dispozici header soubory a může snadno zobrazit všechny veřejné metody dané třídy, tyto metody jsou již v úvodu zmiňované veřejné API Pro efektivní a smysluplné programování v jazyce Objective-C je zapotřebí pochopit minimálně základní návrhové vzory tohoto jazyka Celý ios framework je na nich založen a běžný zádrhel programátorů je právě v neznalosti zmíněných návrhových vzorů a důvodů typu, proč se někdy některá metoda zavolá a jindy ne, nebo proč a kdy se musí volat rodičovská metoda [5][6][55] 4.3 Správa paměti Správa paměti je jednou ze základních věcí pro úspěšné a bezproblémové programování Je nutné zajistit, aby každý objekt, pro který bylo na začátku potřeba alokovat paměťový prostor, vrátil, neboli dealokoval paměť zpět k využití [1][5][6] 40

39 Správa paměti je založena na počítání referencí objektu (anglicky reference counting nebo retain count) Po založení objektu je jeho retain count roven jedné Za použití metody release snížíme zase toto číslo o jedna a pokud retain count je roven nule, dojde k dealokaci objektu Za použití metody retain, dojde ke zvýšení retain countu o jedna nahoru Nikdy by neměla být volána dealokace objektu manuálně, kdyby byl retain count vyšší než nula a došlo k dealokaci objektu, ostatní objekty odkazující na tento prostor v paměti by s největší pravděpodobností hodili chybu během chodu programu [1][5][6] Car *car = [[Car alloc] init]; // retaincount = 1 car.name Porsche ; park.bestcar = car; // retaincount = 2 [car release]; // retaincount = 1 V tomto příkladu byl vytvořen objekt Car a přiřazen property objektu park Ten si zvýšil jeho retain count o jedna a následně na posledním řádku došlo ke snižení retain count prostřednictvím metody release Nedošlo ale k dealokaci objektu car, protože je jeho retain count stále roven jedné Až zanikne objekt park, dojde také k zavolání release nad property bestcar která obsahuje referenci na objekt car Pokud žádný jiný objekt nezvýší retain count objektu car, dojde k jeho dealokaci. Jiným názorným příkladem je setter metoda pro property proměnných Objective-C podporuje nazevproperty; a takto dojde k automatickému vytvoření setter a getter metod Někdy je ale potřeba vytvořit si tyto metody podle vlastních potřeb, nicméně správa paměti musí být zachována - (void)setname:(nsstring *)str { if (str!= name) { [str retain]; [name release]; name = str; } } V tomto triviálním příkladu byl napřed zvýšen retain count objektu str o jedna. Následně došlo k zavolání release pro objekt v proměnné name, který byl uvolněn, pokud jeho retain count klesl na A v posledním kroku došlo ke kopii ukazatele z argumentu str do proměnné name Celý proces je v podmínce pro ověření že se nesnažíme přiřadit stejný objekt, který již v proměnné name existuje. 41

40 Objective-C nabízí tři mechanismy pro správu paměti: Manual Reference Counting (MRC), klasický způsob správy paměti, který byl představen v předchozích odstavcích. [21] Auto Reference Counting (ARC), jedná se o stejný mechanismus jako manuální počítání referencí, ale není spravováno manuálně programátorem, nýbrž kompilátorem během kompilace zdrojového kódu Programátor nemusí nikdy, neboli nesmí nikdy, psát volání release metody nad objekty Výhodou tohoto mechanismu je, že správa paměti využívá plný potenciál manuálního počítání referencí, než je tomu v případě garbage collection Využití ARC má dokonce vyšší výkonnost oproti MRC. Kompatibilita tohoto mechanismu je od verze ios [21] Garbage collection, který pro ios neexistuje z důvodu neúsporného uvolňování paměti a omezených zdrojů na mobilním zařízení [4] 4.4 Cocoa Touch Vrstva Cocoa Touch obsahuje klíčové frameworky pro vytváření ios aplikací Tato vrstva definuje základ aplikační infrastruktury a podporu pro klíčové technologie jako multitasking, dotykové události, push notifikace a mnoho high-level systémových služeb [4] Storyboardy V ios 5 byl představen mechanismus storyboardů pro navrhování uživatelského rozhraní oproti jednotlivým nib souborům Před existencí storyboardů bylo třeba vytvořit několik nezávislých UIViewController tříd s jejich nib soubory s následnou relací provedenou v kódu Nebylo možné představit si celou hierarchii aplikace. Storyboardy umožňují ve vývojovém rozhraní Xcode vytvořit všechna okna aplikace s přechodem mezi nimi, které jsou nazývány segues Je tak zachycen celý tok a uživatelské rozhraní aplikace [4] Je možné využít jeden storyboard soubor, ve kterém se nachází všechna okna aplikace nebo použít více storyboard souborů Během kompilace dochází k rozdělení všech oken na nezávislé soubory, jako tomu bylo před příchodem storyboardu, z důvodů výkonnosti a toho, jak program za chodu načítá jednotlivé okna Pohodlný přístup k obsahu storyboardu z kódu aplikace je zajištěn UIKit frameworkem [4] Nevýhodou tohoto tvoření aplikací, je zpětná kompatibilita Projekty postaveny za použití storyboardu jsou schopny provozu pouze na verzi ios 5 a vyšší [4] 42

41 4.4.2 Multitasking Aplikace postaveny na verzi ios 4 a vyšší, nejsou po stisknutí Home tlačítka na zařízení vypnuty, ale dojde k jejich pozastavení a uchování v paměti Multitasking zaštítěn UIKit frameworkem podporuje hladký přechod mezi pozastaveným stavem, aktivním stavem nebo během na pozadí Za účelem získání více paměti a větší životnosti baterie, může systém libovolně aplikace nacházející se v pozastaveném stavu zrušit, a získat tak plné prostředky obsazeny rušenou aplikací Toto chování pozastavené aplikace dovoluje její rychlé spuštění do míst, ve kterých byla přerušena Aplikace mají možnost běžet v pozadí jako je tomu u jiných platforem, nicméně tento stav má restrikce aby nedocházelo k plýtvání zdrojů [4] Aplikace může požádat o rozšiřující čas na vykonání určitého úkolu Aplikace může nahlásit potřebu svého chodu v pozadí, jako specifická služba, která se periodicky spouští na pozadí Aplikace může použít lokální notifikace pro vygenerování uživatelských výstrah ve vyhrazeném čase, zda aplikace běží nebo nikoliv. Navzdory stavu, ve kterém se aplikace nachází nebo přes který přechází, celý mechanismus nevyžaduje práci na straně programátora Systém pomocí delegátu v hlavním AppDelegate třídě volá jednotlivé delegátní metody pro vykonání částí kódu, týkajících se různých stavů [4] Printing Verze ios 4.2 uvedla UKit podporu pro tisk. Aplikace tak mohou zaslat obsah k bezdrátovým tiskárnám v dosahu Většinu částí komunikace a zobrazení unifikovaného uživatelského rozhraní pro nastavení tisku a výběru tiskárny, zaštiťuje UIKit Z pohledu programátora jsou dostupné třídy pro prezentování výběru tiskárny a spuštění samotného tisku Aplikace má možnost nastavit jeden ze tří typů způsobů tisku: Tisknutí jednotlivých souborů - dokumenty typu pdf, doc nebo různé formáty obrázků Formátovaný tisk - poskytuje možnost vlastního sestaveného textu nebo HTML obsahu. Renderovaný tisk - přináší plně přizpůsobitelný tisk podle přání programátora 43

42 Většina aplikací od společnosti Apple poskytuje možnost tisku s renderovaným výstupem Například při procházení map je možnost vytisknout větší zobrazenou plochu, než tu, kterou je vidět na displeji telefonu Na stránce se nachází další textové informace a za použití navigace, několik obrázků map, kterými v různých místech budeme přecházet. Tento způsob je ideální formou jak prezentovat přes tisk více obsahu, než je možné vidět na displeji. [4][21] Push a local notifikace Push notifikace byly představeny ve verzi ios 3, za použití Apple Push Notification Service (APNS) lze informovat uživatele o nových zprávách i když aplikace zrovna neběží Z pohledu tvůrce aplikace lze docílit zobrazení textové zprávy v upozorňovacím okně, nastavení badge u ikony aplikace nebo přehrání krátké zvukové stopy [4] Mechanismus push notifikací pracuje následovně, aplikace po jejím spuštění zašle APNS serveru dotaz na registraci push notifikace s vlastním UUID (identifikační číslo zařízení) APNS v odpovědi zašle token pro push notifikace, který je unikátní na instanci systému, to znamená, že pokud dojde ke zformátování systému, bude vygenerován nový token a předchozí zprávy budou ztraceny Následně po získání tokenu je třeba tento token zaslat vlastnímu back-end serveru, který uchovává databázi tokenů Pro zaslání notifikace tento vlastní server pošle zprávu APNS serveru se seznamem tokenů a striktně definovanou strukturou notifikační zprávy APNS server doručí všem požadovaným tokenům, které jsou registrovány push notifikaci jednotlivým zařízením Aplikace může být neaktivní nebo úplně vypnuta, přejímání notifikačních zpráv zaštiťuje systém Po zobrazení zprávy je možnost tuto zprávu zrušit nebo zobrazit, a tím dojde ke spuštění aplikace Programátor má možnost jak rozeznat jestli aplikace byla spuštěna přes ikonu nebo z notifikace a jak notifikační zpráva vypadá [4] Druhou variantou bez nutnosti složité komunikace s APNS servery a vlastním notifikačním serverem, jsou lokální notifikace Tyto notifikace přišli s ios 4 a podporují vlastní nastavení upozorňovacích zpráv v definovaném čase Nejedná se tedy o zprávy přes internet, ale o zprávy nastavené aplikací Opět pro jejich zobrazení není nutné, aby aplikace běžela, po zaregistrování lokální notifikace systém zajistí její doručení [4] 44

43 4.4.5 Gesture recognizers Verze ios 3 přinesla detekci standardních a vlastních gest. Každé okno nebo prvek v uživatelském rozhraní podporuje přiřazení UIGestureRecognizer objektu, který rozpoznává různá standardní gesta [4] Tapování (jakýkoliv počet tapů) Pinching in and out (pro přibližování) Panning nebo tahnutí Swipování (v jakémkoliv směru) Rotování (prsty rotují v opačném směru) Dlouhé zmačknutí Tyto gesta bývají často algoritmicky náročná pro detekci a za použití třídy UIGestureRecognizer odpadá spousty práce Programátor má také možnost vytvořit detekci vlastního gesta, často se jedná o složitější algoritmus pro efektivní zachycení požadovaných gest Není moc doporučováno vytvářet zbytečně vlastní gesta, protože uživatelé nebudou na jejich použití zvyklí, a je třeba jim názorně ukázat, jak se vykonávají [4] Peer-to-peer services Game Kit framework poskytuje peer-to-peer spojení prostřednictvím Bluetooth S novou verzí ios 5 a Bluetooth 4 má tento druh díky výkonnostním a úsporným stránkám velké využití Komunikaci lze navázat s jiným zařízením v blízkosti a zajistit tak funkčnost jako je hraní multiplayer her Ač byla tato technologie primárně navržena pro použití ve hrách, meze na její aplikovatelnost v jiných typech ne-herních aplikací se nekladou [4] Standard system view controllers Cocoa Touch poskytuje mnoho view controlleru pro prezentování standardního rozhraní systému Designerům aplikací je doporučováno využít tyto univerzální view controllery pro zachování konzistence a uživatelského pocitu Kdykoliv je potřeba vykonat jednu z následujících činností, můžeme použít existující view controller: [4][24] Zobrazit nebo editovat kontaktní informace - použití view controlleru v Address Book UI frameworku. Vytvořit nebo editovat informace kalendáře - použití view controlleru v Event Kit UI frameworku. Vytvořit nebo SMS zprávu - použití view controlleru v Message UI frameworku 45

44 Rychlý náhled obsahu souboru - použití UIDocumentInteractionController třídy v UIKit frameworku. Zachytit snímek za použití kamery a zobrazit ho v knihovně obrázků - použití UIImagePickerController třídy v UIKit frameworku. Zachytit video clip - taktéž použití UIImagePickerController třidý v UIKit frameworku External display support ios zařízení mohou být připojeny k externímu displeji za použití standardních, často velmi předražených, kabelů Aplikace má možnost odeslat na externí display rozdílné informace a použít zařízení pouze pro jejich ovládání [4] Cocoa Touch frameworky Seznam frameworků vyskytujících se ve vrstvě Cocoa Touch [4] Address Book UI Framework Standardní uživatelské a grafické rozhraní pro využití seznamu kontaktů [4] Event Kit UI Framework událostí [4] Standardní uživatelské a grafické rozhraní pro vytváření a editování kalendářových Game Kit Framework Možnosti peer-to-peer a in-game voice mechanismů Tento framework není pouze určen ke hraní, nachází se v něm také rozhraní pro síťové spojení prostřednictvím Bonjour [4] iad Framework Vytváření reklamních ploch v unifikovaném rozhraní za použití Apple služby pro prezentaci reklam. [4] Map Kit Framework Poskytuje kontejner pro mapu s možností scrollování, zoomu, nastavení anotací nebo přidání vlastní vrstvy přes existující mapu [4] 46

45 Message UI Framework Standardní uživatelské a grafické rozhraní pro vytváření ových zpráv a načítání příchozí pošty [4] Twitter Framework Podpora unifikovaného rozhraní pro zasílání twitter zpráv Tento framework byl přidán v ios 5 a má z pohledu implementace spoustu výhod oproti standardnímu způsobu autentizace prostřednictvím webových twitter API [4] UIKit Framework UIKit poskytuje klíčovou infrastrukturu pro implementaci grafických a event-driven aplikací v ios Každá ios aplikace využívá tento framework pro využití následujících vlastnosti: [4] Správa aplikace. Správa uživatelského rozhraní, včetně storyboardu a nib souborů. Grafická podpora a podpora více displejů. Multitasking. Tisk. Vlastní upravené standardní prvky. Podpora pro dotykové a pohybové události. Objekty reprezentující standardní systémové pohledy nebo controllery. Podpora pro text a webový obsah. Podpora vyjmutí, kopírování a vložení. Podpora animací uživatelského rozhraní. Integrace s dalšími aplikacemi přes URL schema. Podpora Apple Push Notification služby. Podpora dostupnosti postiženým uživatelům. Plánování a spouštění lokálních notifikací. Vytváření PDF. Podpora vlastního vstupu, chovajícího se jako systémová klávesnice. Přístup k datům akcelerometru. Vestavěná kamera. Uživatelská foto knihovna. 47

46 Přístup k informacím o zařízení. Přístup ke stavu baterie. Přístup k ostatním sensorům. Přistup ke vzdálenému ovládání sluchátek. 4.5 Media Vrstva medií obsahuje grafické, audio a video technologie přizpůsobené k poskytnutí nejlepšího multimediálního zážitku dostupného na mobilním zařízení Technologie z této vrstvy jsou navrženy tak, aby programátor mohl jednoduše postavit aplikace, která vypadá pěkně a zní skvěle [4] Grafické technologie Vysoce kvalitní grafika je základní částí všech ios aplikací Nejjednodušší a nejefektivnější formou pro vytvoření aplikace je použití statických obrázků společně se standardním uživatelským rozhraním, jeho prvky nacházejícími se v UIKit frameworku a nechat systém vše vykreslit Nicméně nastávají situace, kdy se programátor nespokojí s těmito základními grafickými prvky, ale je třeba je překročit pro více sofistikované řešení Pro tyto situace je možnost využít některé z následujících grafických technologií: Core Graphics (také nazýváno jako Quartz) - pracuje s D vektory a obrázkově založeným renderováním Core Animation (část Quartz Core frameworku) - pokročilá kontrola pro animování standardních elementů a dalšího obsahu Core Image - pokročilá podpora pro manipulaci s videem a statickými obrázky OpenGL ES a GLKit - podpora pro D a 3D renderování za použití hardwarové akcelerace přes grafický čip Core Text - poskytuje libovolně upravovatelné renderování textu Image I/O - rozhraní pro čtení a zápis mnoha obrázkových formátů Assets Library framework - přístup k fotkám a videím v uživatelské foto knihovně Většina částí v běžících aplikacích na zařízení s Retina displejem je schopna automaticky upravit grafický výstup pro docílení lepšího vzhledu na tomto zhuštěném rozlišení Obsah, který je vykreslen se automaticky roztáhne a přepočítá do plné velikosti tohoto highresolution displeje Vektorové prvky, ať standardní, např písmo, nebo vlastnoručně vykresleny zdrojovým kódem, jsou upraveny a obohaceny o další extra pixely k docílení ostrosti finální podoby Veškeré obrázky pro Retina display mají x za jménem 48

47 souboru, například x png UIKit pak automaticky rozpozná podle dostupného hardwaru displeje a dodaných obrázků, jestli načíst standardní nebo high-resolution variantu. [4][24][25] Audio technologie Audio technologie v ios slouží k dodání a poskytnutí bohatého požitku přehrávání různých audio stop Schopnost přehrávat HD audio, nahrávat HD audio nebo spouštět vibrace na některá zařízení [4] Systém nabízí několik cest jak přehrávat a nahrávat audio obsah Následující seznam frameworku je seřazen od těch vysoko úrovňových až po ty nízko úrovňové, včetně Media Player frameworku, který je nejjednodušším řešením pro rychlé a pohodlné přehrávání Jako je tomu u všech vysoko a nízko úrovňových frameworků, ty vyšší poskytují optimalizovanou základní funkčnost s minimálním úsilím oproti těm nižším, které nabízí celou škálu vlastností, ale s více pracnou implementací [4] Media Player framework - jednoduchá cesta jak přistoupit k uživatelově itunes knihovně s podporou přehrávání audio stop a play listů. AV Foundation framework - jednoduše použitelné Objective-C rozhraní pro správu přehrávání a nahrávání audia OpenAL - mezi platformové rozhraní pro plně nastavitelné přehrávání prostorového zvuku. Core Audio framework - nízko úrovňové rozhraní pro přehrávání a nahrávání zvuku, vykonávání vibrací, spouštění audio stop a FX stop v jednom okamžiku včetně správy bufferu, streamování nebo multikanálové podpory Aplikace zabývající se modifikací zvuku v profesionálním měřítku se bez tohoto frameworku neobejdou. Audio technologie na ios podporují následující audio formáty: AAC Apple Lossless (ALAC) A-law IMA/ADPCM (IMA4) Linear PCM µ-law DVI/Intel IMA ADPCM 49

48 Microsoft GSM 6.10 AES Video technologie Systém nabízí několik cest jak přehrávat a nahrávat video obsah pro většinu potřeb Následují seznam video technologií je opět seřazen od nejvýše úrovňových až po ty nízko úrovňové [4] Třída UIImagePickerController - UIKit přes tuto třídu poskytuje standardní rozhraní pro nahrávání videa na zařízení s podporou kamery Media Player framework - jednoduché rozhraní pro prezentování plně nebo částečně viditelného videa z vlastní aplikace AV Foundation framework - rozhraní pro správu nahrávání a přehrávání videa Core Media - tato technologie je základem pro všechny předchozí zmíněné video frameworky nebo poskytuje vlastní nízko úrovňový přístup pro manipulaci s mediem. Video technologie v ios poskytuju přehrávání video souboru s koncovkami.mov,.mp4,.m4v, a.3gp za použití následujících standardních kodeků: H 64 video, do 1 5 Mbps, 64 x 48 pixelů, 3 snímků za vteřinu, Low-Complexity verze H.264 Baseline Profile s AAC-LC audio do 160 Kbps, 48 khz, stereo audio in.m4v,.mp4, a.mov souborové formáty H.264 video, do 768 Kbps, 320 x 240 pixelů, 3 snímků za vteřinu, Baseline Profile do Level 1.3 s AAC-LC audio do 160 Kbps, 48 khz, stereo audio in.m4v,.mp4, and.mov souborové formáty MPEG-4 video, do 2.5 Mbps, 640 x 480 pixelů, 3 snímků za vteřinu, Simple Profile s AAC-LC audio do 160 Kbps, 48 khz, stereo audio in.m4v,.mp4, and.mov souborové formáty Několik dalších audio formátů, zmíněných v předchozí části popisující audio technologie AirPlay AirPlay je technologie umožňující streamování audia na Apple TV zařízení a dalších AirPlay přijímačům Podpora je specifikována v AV Foundation frameworku a Core Audio frameworcích Jakýkoliv audio obsah je možné přehrát automaticky za použití tohoto 50

49 frameworku a distribuovat ho jednoduchým uživatelským rozhraním pro AirPlay Systém se postará o celou komunikaci a zbytek nezbytné práce pro přehrání na jiném zařízení [4] Uživatelé mohou v ios 5 zrcadlit obsah ipad zařízení na Apple TV pro jakoukoliv běžící aplikaci Vývojáři mohou zobrazit na externím displeji rozdílný obsah místo zrcadlení, za použití UIScreen objektu připojeného v ipad přes AirPlay ios 5 také nabízí více cest odkud získat obsah pro AirPlay, jednou je třída AVPlayer v AV Foundation frameworku a druhou UIWebView třída v UIKit frameworku Media Player také nabízí rozšiřující informace, pokud je zobrazen na externím displeji. [4] Názornou ukázkou je herní aplikace Asphalt, vyznačující se vynikající grafikou a hraním více zařízení na jednom externím displeji Po připojení například 4 ios zařízení s touto hrou, dojde tak k rozdělení obrazu na 4 části, kde každý hráč vidí svoje závodní auto ios zařízení se stanou pouze ovladačem a platformou pro grafické zobrazení stavu závodu každého účastníka. [4] Media frameworky Seznam frameworků vyskytujících se ve vrstvě Medií [4] Assets Library Framework Dotazově založené rozhraní pro přístup do uživatelské knihovny fotek a videa [4] AV Foundation Framework Několik Objective-C tříd pro přehrávání souborů nebo pamětových dat zvuku Tento framework obsahuje spousty základních, ale také pokročilých věcí, které pro přehrávání zvuku jsou potřeba [4] Správa obsahu médií Editování medií. Zachycování videa. Přehrávání videa. Správa stop. Správa metadat pro media záznamy. Precizní synchronizace mezi zvukovými stopami. Objective-C rozhraní pro získání detailů o zvukovém souboru, například datový formát, sample rate nebo počet kanálů 51

50 ios 5 také podporuje v AV Foundation frameworku streamování audia a videa za použití AirPlay a třídy AVPlayer Ve zkratce tento framework umožní jakékoliv přehrávání pro všechny potřeby náročných vývojářů [4] Core Audio Nízko úrovňová sada frameworků pro generování, nahrávání, mixování a přehrávání zvuku Lze skrze něj také aktivovat vibraci na zařízeních s touto funkcionalitou [4] Core Graphics Framework API rozhraní pro Quartz D vykreslování Stejný framework je použit na Mac OS X pro většinu grafického vykreslování Poskytuje podporu pro kreslení vektorové cesty, antialiasované renderování, přechody, obrázky, barvy, prostorová transformace a vytváření PDF dokumentů Ačkoliv jsou API tvořeny převážně C funkcemi, je využito objektové abstrakce pro prezentaci základních kreslících objektu, aby bylo jejich implementace jednoduchá, uchovatelná a znovu použitelná [4] Core Image Framework Pro manipulaci se statickými obrázky a videem Poskytuje mnoho operací od jednoduchých korekcí přes dotyk až po více sofistikované jako detekce obličejů Všechny úpravy provedeny tímto frameworkem jsou nedestruktivní, původní zdroj není tak jakkoliv změněn Většina zpracování je prováděna na grafickém čipu pro lepší výkonnost [4] Core MIDI Framework Standardní cesta pro komunikaci s MIDI zařízením jako je třeba hardwarová klávesnice, přes síťové rozhraní nebo 3 -pinový konektor [4] Core Text Framework Jednoduché a vysoce výkonné C funkce pro vykreslování textu Všechen text, který se v aplikacích nachází, je tvořen za použití tohoto frameworku Jeho použití je více komplexní než využití existujících prvku UIKit frameworku, ale nabízí naprostou volnost v sestavení vlastního vzhledu [4] 52

51 Core Video Framework Pouze abstraktní framework pro Core Media framework, většina aplikací tento framework nikdy nevyužije [4] Image I/O Framework Importování a exportování obrázkových dat a jejich metadat Tento framework podporuje všechny druhy standardních typů obrázku na ios [4] GLKit Framework Jednoduché rozhraní pro vytváření OpenGL ES aplikací se sadou potřebných tříd, kterými jsou převážně kontejnery pro renderování OpenGL ES obsahu [4] Media Player Framework Standardní rozhraní pro přehrávání videa a audia Obsahuje standardní přehrávač a možnost plného nebo částečného rozlišení [4] OpenAL Framework Framework pro manipulaci a nastavení prostorového zvuku v ramci aplikace [4] OpenGL ES Framework Mnoho tříd pro vykreslování D a 3D obsahu OpenGL framework je vždy využit ve spojení s EAGL rozhraním Toto rozhraní je částí OpenGL ES frameworku a poskytuje rozhraní mezi vykreslující OpenGL ES kódem a nativními objekty definovány v UIKitu [4] Quartz Core Framework Quartz Core framework obsahuje rozhraní pro Core Animation, jedná se o mechanismus a renderování animací pro mnoho základních prvků Animace jsou integrovány v mnoha místech do většiny základních a také pokročilých elementů napříč celým systémem [4] 53

52 4.6 Core Services Vrstva Core Services obsahuje základní služby systému, které jsou využívány všemi aplikacemi I přes to, že programátor přímo nevyužívá některou z těchto služeb, mnoho částí systému je na nich postaveno. [4][26] icloud S příchodem ios 5 přibyla služba icloud, jedná se o službu, která umožňuje aplikaci zapsat uživatelské dokumenty a další data na centrální místo s přístupem z různých míst za určité autorizace a podpory ios zařízení Dokumenty se tak stávají všudypřítomnými pro daného uživatele, který je může měnit na centrálním uložišti mimo dané zařízení Tato služba je velmi robustně specifikována a nabízí programátorům nejvyšší možný komfort v synchronizaci dokumentů napříč všemi zařízeními icloud nabízí dva druhy přístupu pro sdílené uložiště, každý z nich má různý účel [4][27] icloud uložiště pro dokumenty - nabízí synchronizaci a ukládání uživatelských dokumentu a dat v icloud profilu daného uživatele icloud uložiště pro klíč-hodnota - nabízí možnost sdílet malé množství dat napříč instancemi vlastní aplikace Většina aplikace bude používat icloud uložiště pro dokumenty a sdílení dokumentů od uživatele Toto je koncept, pod kterým si představuje funkčnost icloudu většina uživatelů Uživatel se stará, zda je dokument sdílen napříč mnoha jeho izařízeními a je schopen upravovat tyto dokumenty z libovolného zařízení Oproti tomu uložiště icloud pro klíč-hodnota data je něco, co si uživatel nepředstaví Je to forma sdílení dat (v řádech desítek kilobyte) pro danou aplikaci Mluví se zde o nekritických datech jako je nastavení a stavy aplikace, nikoliv důležitá aplikační data [4][27] Názornou ukázkou je aplikace ibooks, ta využívá tuto možnost pro uchování posledního otevřeného dokumentu, pro každý dokument zaznamenává, jaké stránky byly přečteny a kde uživatel skončil Po čerstvém spuštění aplikace ibooks na iphonu, může uživatel pokračovat ve čtení, tam kde skončil minulý den na ipadu Auto Reference Counting Tento mechanismus automatického uvolňování paměti v době kompilace byl vysvětlen v části správy paměti Jedná se o výborný mechanismus ušetření psaní zbytečného kódu Ale je nutné mít na paměti, jak bylo také řečeno na přednášce WWDC zabývající se správou paměti, že pro komplexní pochopení principu správy paměti je nutné v první řadě 54

53 pochopit manuální počítání referencí Bez této znalosti se při dostavení chyby za použití ARC může jednat o slepou cestu, kdy programátor má mizivé šance na vyřešení problému [4][21] Bloky Bloky byly představeny v ios 4, je to konstrukce jazyka C která je zahrnuta do vlastního Objective-C kódu Blok je v podstatě anonymní funkce a její data nad rámec scope. V jiných jazycích jsou tyto funkce nazývány closure (JavaScript) nebo lambda (Ruby, Lisp, Python) Bloky jsou často vhodné pro odpovědi, které se vykonávají asynchronně Ve verzi ios 5 se s bloky doslova roztrhl pytel, jsou použity ve většině API metod Nicméně dodržují jednu konvenci, aby nedošlo k nepřehlednosti kódu, pokud se v metodě nachází argument ve formě bloku, měl by být vždy jako poslední argument a pokud možno pouze jeden Praktické použití bloků je zachyceno v následujícím přehledu: [28] Náhrada místo delegátů a jejich metod Náhrada za návratové funkce Implementace completion handlerů pro jednorázové operace. Pro iteraci nad kolekcí a vykonání úkolu nad iterovaným objektem. Společně s dispatch frontami pro vykonávání asynchronních operací Grand Central Dispatch Od verze ios 4 byl představen také Grand Central Dispatch (GCD), jedná se o BSD úrovňovou technologii, která je využívána pro správu spouštění úkolů v aplikacích GCD kombinuje asynchronní programovací model s vysoce optimalizovaným základem pro pohodlnou, a také více efektivní alternativu využívání vláken Syntaxe a princip GCD je založen na blokových funkcích [28] SQLite Mobilní zařízení má možnost využití populární SQLite databáze za použití SQLite knihovny Všechny funkce v této vrstvě jsou z důvodu výkonnosti implementovány C funkcemi a bloky kódu pro vytvoření a správu databáze jsou často velmi nepřehledné Alternativou je použití externích knihoven ios nicméně nabízí ORM (Objektově Relační Mapovaní) v podobě technologie Core Data, která je abstraktní vrstvou využívající SQLite jako jeden z mnoha druhů persistentních uložišť [4][8][29] 55

54 4.6.6 XML Foundation framework poskytuje třídu NSXMLParser na Mac OS X platformě pro získání elementu z XML dokumentu Rozšířená podpora pro manipulaci s XML obsahem je za použití knihovny libxml Jedná se o open source knihovnu, která poskytuje parsování, zapisování XML dat nebo transformaci XML obsahu do HTML Pro ios platformu je často z výkonnostních důvodů preferován JSON [4][8][29] Core Services frameworky Seznam frameworků vyskytujících se ve vrstvě Core services [4] Accounts Framework Tento framework byl představen v ios 5 a klade si za cíl vytvořit single sign-on rozhraní, kde si uživatel v centrálním míste vyplní přihlašovací údaje, a za použití tohoto rozhraní dojde k jejich využití První službou využívající tento framwork je Twitter. Jeho integrace do systému byla implementována společností Apple a v budoucnu můžeme předpokládat další populární služby nebo vlastní mechanismus pro definování jiných služeb [4][30] Address Book Framework Programový přístup do databáze kontaktních údajů v telefonu [4] CFNetwork Framework Síťové rozhraní se sadou vysoce výkonných C funkcí používající objektově abstraktní rozhraní pro využití síťových protokolů Tato abstrakce poskytuje programátorovi plnou kontrolu nad nízko úrovňovými BSD sokety a jejich manipulaci. Tento framework zlehčuje mnoho typických síťových spojení komunikujících přes FTP nebo HTTP nebo rozpoznávající DNS hosty S CFNetwork frameworkem jsou možné následující úkony: [4][31] Použití BSD soketů. Vytvoření zabezpečeného spojení za použití SSL nebo TLS. Rozpoznání DNS hosta. Práce s HTTP servery, autentizace na HTTP a HTTPS servery. Práce s FTP servery. Publikování, rozpoznání a procházení Bonjour služeb. 56

55 Core Data Framework Core Data framework je formou ORM (Objektově Relačního Mapování) nad strukturou dat Může být využit za použití persistentního uložiště jako je SQLite, XML nebo vlastně definované struktury souborů Také může být využit pouze pro uchování dat v paměti, bez nutnosti uložení na SSD disk Použití Core Data vyžaduje jiný pohled na věc a architekturu datového modelu, pro mobilní aplikace je tato technologie plně dostatečným rozhraním pro správu jakéhokoliv množství dat a vykonávání operací na mobilním zařízení [4][8] Core Data spravuje model aplikačních dat a výrazně redukuje množství kódu potřebného k vykonání, jako tomu je v případě použití SQLite Core Data poskytuje následující funkčnosti: Uchování objektových dat v SQLite databázi pro optimální výkonnost Třída NSFetchedResultsController pro správu výsledků za použití table views Správa undo a redo operací, na ios je tento mechanismus standardně vypnut Podpora validace atributů Podpora šíření změn a zajištění relace mezi objekty tak aby zůstali konzistentními Podpora pro seskupování, filtrovaní a organizaci dat v paměti Core Foundation Framework Tento framework je základem pro Foundation framework, obsahuje nízko úrovňovou implementací stejných vlastností, jako nabízí Foundation [4] Core Location Framework Core Location framework disponuje technologií asistovaného GPS, která je popsaná v podkapitole GPS a geolocation Framework také obsahuje manipulaci s kompasem pro určení orientace zařízení v magnetické ose země a mechanismus pro rozeznávání změny uživatele za použití GSM věží Striktní nastavení rozpoznávání pozice v tomto módu neplýtvá příliš energie, jako je tomu oproti AGPS. [4] Core Media Framework Nízko úrovňový framework, který je základem pro AV Foundation framework Programátor má možnost přistoupit k němu přímo a na velmi nízké úrovní vykonávat nejsložitější potřeby pro audio a video [4] 57

56 Core Telephony Framework Převážně API pro použití GSM a VoIP hovorů [4] Event Kit Framework Rozhraní pro přístup do databáze kalendáře [4] Foundation Framework Foundation framework je objektovým wrapperem nad Core Foundation frameworkem. Poskytuje následující podporu různých základních vlastností: [4][24] Kolekce (pole, slovníky, sety, atd ). Bundle. Řetězce a práci s nimi. Datum a čas. Nastavení aplikací. URL a stream. Vlákna a run loops. Bonjour. Komunikační porty. Zmezinárodnění. Regulární výrazy. Cache. Mobile Core Services Framework Tento framework definuje pouze všechny druhy souborů v operačním systému za použití Uniform Type Identifiers (UTI) Každý soubor má tak přiřazenou koncovku a svůj typ, který definuje, o jaký soubor se jedná, a čím může být popřípadě otevřen [4] Newsstand Kit Framework Aplikacemi využívající Newsstand Kit jsou často magazíny a další periodika, které za použití tohoto frameworku mohou stahovat svůj obsah na pozadí systému bez nutnosti běhu Dotahnutím obsahu systém zajistí aktualizaci v Newsstand záložce a zobrazení badge na ikonu aplikace magazínu. [4] 58

57 Quick Look Framework Rozhraní pro zobrazování rychlých náhledů mnoha dokumentů, obrázků a dalších datových souborů [4] Store Kit Framework Aplikace mohou vyžadovat zakoupení rozšířeného obsahu. Správa a celý mechanismus nakupovaní je zastřešen Store Kit frameworkem Programátor má k dispozici omezené API, které zobrazí uživateli standardní rozhraní pro vyplnění údajů k přihlášení se do itunes obchodu Za použití této abstrakce nemají tvůrci aplikací šanci jak zcizit logovací údaje uživatelů [4] Aplikace nahrané do App Store vyžadují schvalovací proces, který je o to striktnější, pokud se v aplikaci nachází využívání plateb za použití Store Kit frameworku. [4] System Configuration Framework Tento framework poskytuje síťové prostředky pro detekování stavu Wi-Fi nebo GSM datového spojení [4] 4.7 Core OS Vrstva Core OS obsahuje všechny low-level vychytávky, na kterých jsou další technologie postaveny. I když při vytváření aplikací do této vrstvy nemusí programátor nikdy sáhnout, její části jsou často využity frameworky z vyšších vrstev Pro řešení potřeb komplexní síťové komunikace nebo zabezpečení s externím příslušenstvím použijeme frameworky z této vrstvy. [4][29] Accelerate Framework Tento framework slouží k vysoko výkonnostnímu zpracování obrazu, lineární algebry nebo DSP (digital signal processing library) Výhodou využití těchto algoritmů oproti psaní vlastních, je jejich vysoce optimalizovaná hardwarová výkonnost na všech ios zařízení [4] Core Bluetooth Framework Core Bluetooth framework umožnuje programátorovi komunikaci přes Bluetooth Low-Energy příslušenství Rozhraní jazyka Objective-C v tomto frameworku poskytne scan těchto příslušenství, připojení nebo odpojení dostupných, čtení nebo zápis atributů prostřednictvím této služby [4] 59

58 External Accessory Framework External Accessory framework poskytuje podporu pro komunikaci s externím příslušenstvím připojeným k ios zařízení Příslušenství lze připojit přes 3 -pinový dokovací konektor nebo bezdrátově za použití Bluetooth Tento framework zaštiťuje způsob, jakým komunikovat s externím příslušenstvím, vytvářet spojení přes komunikační session a poté libovolně manipulovat za použití podporovaných příkazů [4] Generic Security Services Framework Framework se sadou standardní služeb týkající se zabezpečení ios aplikací [4] Security Framework Bezpečnostní prvky pro zabezpečení dat ve vlastních aplikacích Framework nabízí možnosti využití certifikátu, veřejných a privátních klíčů a PKI mechanismus Poskytuje také možnost generování kryptografických pseudonáhodných čísel Zabezpečený úložný prostor jako je Keychain nebo krytovaný mechanismus souboru za použití vlastního a hardwarového klíče [4] Knihovna Common Crypto nabízí podporu pro symetrické šifrování, HMAC a hashe Pokud je nutné v aplikaci vytvořit vlastní šifrovací mechanismus za použití SHA1, MD5 nebo třeba AES, musí být použita právě knihovna CommonCrypto ze Security frameworku [52] Systém Systém obsahuje prostředí kernel, ovladače a nízko úrovňové rozhraní UNIX pro operační systém Zastřešuje správu virtuální paměti systému, vlákna, souborový systém, síť a mezi procesovou komunikaci Ovladače v této vrstvě také poskytují rozhraní mezi dostupným hardwarem a systémovými frameworky Z důvodu bezpečnosti je přístup ke kernelu a ovladačům omezen pouze na systémové frameworky a aplikace [4] ios poskytuje sadu rozhraní pro přístup k mnoha nízko úrovňovým částím operačního systému Aplikace přistupují k těmto částem přes knihovnu LibSystem Rozhraní této knihovny jsou funkce jazyka C a nabízejí podporu pro následující části: [4] Vlákna (POSIX vlákna) Síťové sdílení (BSD sokety) Přístup k souborovému systému Standardní I O Bonjour a DNS služba 60

59 Lokální informace Alokace paměti Matematické výpočty 4.8 GPS a geolocation Geolokace je neodmyslitelnou součástí mnoha chytrých telefonů Principiální funkčnost s dopadem na životnost baterie a trochou historie popíši v následujících odstavcích. [2][29] Global Position System pochází jako projekt U. S. Air Force z roku 197, od té doby byl armádou použit v mnoha válkách a znamenal velkou taktickou výhodu V roce 1983 Ronald Regan přislíbil dostupnost GPS pro civilní využití, armáda opravdu tuto možnost poskytla, ale se záměrným degradováním signálu Až do roku 1996 bylo možné získat přesnost polohy maximálně ve stovkách metrů, té doby Bill Clinton nařídil odstranění degradace signálu a civilisté mohli využívat GPS s plnou přesností do metrů Posledním z výrazných zlepšení byl rok 1998, kde Al Gore oznámil plány na další zvýšení přesnosti a spolehlivosti GPS. [2][29] Tato síť satelitů pracuje na bázi triangulace pozice z minimálně 3 dostupných satelitů Přijímač získá data ve formě času a pozice z minimálně 4 dostupných satelitů pro přesnější výpočet a poté je schopen určit polohu Nevýhodou je, že každý satelit má přenosovou rychlost 5 b s, proto získání úvodní pozice na standardním GPS trvá 3-4 vteřin než přijímač stáhne všechna data Další kritickým bodem je naprosto přesná synchronizace času mezi satelitem na oběžné dráze a přijímačem Při desynchronizaci hodin přijímače a satelitu o 1 mikro vteřinu, dochází ke zkreslení signálu v řádech stovek metrů Global Position System obsahuje 4 satelitů obíhající zemi Jedná se pouze o jednu satelitní síť z mnoha, dalšími je budoucí Evropský projekt Galileo, který si klade cíle získat 3 aktivních satelitů, a dosáhnout tak viditelnost minimálně 8 z nich v případě určování pozice na jakémkoliv místě na zemi Dalšími jsou ruský GLONASS, dva čínské Beidou, COMPASS, indický IRNSS a japonský QZSS Pro získání pozice v ios zařízení se využívá síť GPS a GLONASS. [2][13][29][40] Zlomovým bodem byl rok 4, kdy společnost QUALCOMM přišla s fungujícím řešením asistovaného GPS pro mobilní zařízení Všechny mobilní zařízení využívají AGPS, které je ve své podstatě zdokonalenou formou standardního GPS Ve stručnosti řečeno, 61

60 místo využívání příjmu dat referenčního času a pozice z konkrétního satelitu, získáváme tyto data z GSM vysílače nebo Wi-Fi hotspotu. [29] V rámci vývoje mobilních aplikací jsme schopni nastavit přesnost získání signálu Tento údaj se nastavuje v CLLocationManager objektu za použití property desiredaccuracy. Jak je vidět z názvu, CoreLocation framework si sám zpracuje získání signálu a pokusí se docílit vytoužené přesnosti získaného signálu Následující konstanty představují teoretický zdroj pro údaje na přesnost signálu: [29] Tabulka ons an y pro nas av ní př snos i pozice Použitý příjímač GPS GPS GPS Wi-Fi nebo GPS na otevřené ploše GSM Tower GSM Tower Konstanta kcllocationaccuracybestfornavigation kcllocationaccuracybest kcllocationaccuracynearesttenmeters kcllocationaccuracyhundredmeters kcllocationaccuracykilometer kcllocationaccuracythreekilometers Fyzický čip pro zpracování informací o GPS se nachází v 3G modulu daného zařízení, proto ipad varianty bez 3G modulu nejsou schopny ukazovat GPS pozici bez dostupnosti Wi- Fi hotspotu Pokud tedy budeme chodit po otevřeném prostranství s ipadem s 3G modulem, ale ne datovým signálem (nemáme v zařízení SIM kartu), jsme schopni získat naši pozici Na druhou stranu pokud budeme chodit po městě s ipadem bez 3G modulu a v dostupnosti bude některý z Wi-Fi hotspotů, jsme schopni v řádu desítek až stovek metrů, získat naši pozici bez nutnosti připojit se na zabezpečený hotspot Systém k tomu využívá WHOIS databázi IP adres Dále máme případ, kdy se nacházíme uvnitř budovy a jsme připojeni datovým signálem Také v tomto případě můžeme velmi přesně určit naši polohu přes satelitní data, které nám jsou poskytnuty z AGPS serveru podle dané dostupnosti a výpočtu změny pozice [13] S tímto krátkým úvodem o principu fungování GPS v mobilních zařízeních se můžeme podívat na problematiku vysávání baterie Systém se snaží poskytnout odpovídající přesnost, v mnoha aplikacích nastavenu na tu nejlepší Dochází k zapínání všech druhů datových spojení, komunikaci a výpočtům pozice daného zařízení Obecně datové moduly 62

61 jako Wi-Fi, Bluetooth, GSM, GPS jsou ty s největším příkonem, proto při jejich hromadné aktivaci, je patrná životnost baterie [2][13][40] 4.9 ios Accessories Výrobci elektronických zařízení a různých příslušenství pro iphone, ipad a další i zařízení, mohou prostřednictvím External Accessory frameworku vytvořit komunikaci s jejich vlastní elektronikou ios poskytuje Bluetooth nebo AirPlay technologie pro propojení Apple zařízení například s headsetem nebo vzdáleným ovládáním pro hudební přehrávač [32] Tvůrci těchto produktů mají možnost registrace v MFi Programu (Made For ipad, Made For iphone, Made For ipod, ) Po registraci získají přístup k hardwarové a softwarové dokumentaci, certifikátům, technické podpoře a mnoha dalším věcem [32] Komunikace mezi iphonem a externím příslušenstvím je zajištěna prostřednictvím iap protokolu (ipod Accessory Protocol). Aplikace jsou schopny přehrávat audio v pozadí, komunikovat přes Voice over IP, zjišťovat lokaci taktéž na pozadí nebo dokončovat různé úkoly Příslušenství má možnost zaslání notifikace, přes kterou dojde ke spuštění aplikace nainstalované v telefonu Pro audio nebo video přenosy lze poskytnout metadata přes iap protokol, jedná se o popisné informace o každé hudební stopě nebo videu Doporučuje se zaslat všechna dostupná metadata, příslušenství si jejich údaje přebere a zpracuje podle možností zobrazení [32] Seznam dostupných metadat je následující: Album Title, Album Track Count, Album Track Number, Artist, Artwork, Composer, Disc Count, Disc Number, Genre, Persistent ID, Playback Duration, Title, Elapsed Playback Time, Playback Rate, Playback Queue Index, Playback Queue Count [32] Webové aplikace Na otázku Vyvíjet webové nebo nativní aplikace? není jednoznačná odpověď, přichází několik úvah, které si musíme odpovědět před tím, než zvolíme konkrétní variantu řešení [34] Pro koho vytváříme aplikaci? Jak komplikovaná logika v aplikaci bude? Je třeba nějaká forma integrace? Spokojíme se s limitami, co nám webové technologie mohou poskytnout? 63

62 Máme dostatek kvalifikovaných lidí, kteří vytvoří aplikaci? Toto je pouze několik otázek z mnoha, než se společnost rozhodne zvolit konkrétní variantu Vše je otázka peněz a dostupných prostředků, nemusíme si mazat med kolem pusy, abychom nevěřili, že nativní implementace aplikace je několikanásobně výkonnější z mnoha dalšími benefity, na které dočasný stav webových technologií nestačí [34] Pokud jsme společnost vytvářející aplikace primárně pro webové uživatele, popřípadě jednoduché formuláře bez složitější integrace nebo logiky aplikace, byla by pro nás webová forma tou výhodnější cestou Ve světě je levnější najmout do týmu šikovného kodéra y s pokročilou schopnosti JavaScriptu, který je schopen levněji vytvořit takovýto druh aplikace za kratší dobu než programátor implementující nativní aplikaci V ČR je tento přístup problematický pro nedostatek prostředků Většina českých frontenďáků žije v domnění, že znalost jquery objektu, za sebou jakkoliv poskládané, bez špetky pohledu na výkonnost nebo udržovatelnost, plně dostačuje na pozici JavaScript developer Vrátím se zpět k technologii od HR problémů, a je také dobré zmínit výkonnostní restrikce. Na desktopu se v JavaScriptu, krom pokulhávání 3D grafiky, meze nekladou, ale na mobilním zařízení, kde není dostatek CPU a paměti, nemůžeme počítat se stejným výkonem [33][39] Na druhou stranu vývoj v ios pro nativní aplikaci je v některých podobných aplikacích srovnatelně dlouhý Nevýhodou je aplikovatelnost pouze pro jednu platformu na rozdíl od webového řešení Pro další porovnání představím typy webů nebo aplikací, které můžeme nalézt v mobilním zařízení: [4] Neoptimalizovaný web Klasická webová stránka, u které musí uživatel několikrát použít gesta, aby byl schopen přečíst si aspoň odstavec textu Někdy může také obsahovat flash, ať celostránkový nebo částečný, tím pádem je tento blok stránky na mobilním zařízení nepoužitelný [4] Optimalizovaný web Oproti předchozí variantě se jedná o stejnou stránku, která obsahuje jiný kaskádový stylesheet pro více uživatelské zobrazení Flashe a podobné pluginy jsou nahrazeny textem nebo obrázky, popřípadě úplně odstraněny Někdy bývá použit styl, který je částečné k nerozeznání s nativní nebo webovou aplikací, například Word Press blog [4] Webová aplikace 64

63 Sofistikované řešení za použití HTML, JavaScriptu a CSS simulující nativní vzhled aplikace s offline nebo online variantou Příkladem tohoto typu je Gmail, tady je na první pohled vidět, že nestačilo vyměnit pouze styl stránky Webové aplikace nelze monetizovat pokud se nejedná o placenou službu [35][39] Nativní aplikace Implementace formou Cocoa Touch frameworku a webovou komunitou velmi nenáviděná varianta Graficky, integračně a s ohledem na využití API nebo CPU se ostatní typy tomuto nemohou nijak rovnat. V běžném vývoji, pro většinu potřeb bez šolichání předchozích řešení, je toto nejlepší cesta Tím ale nemíním, že bychom pro klasické tapací, oknové aplikace, neměli volit jiný, finančně a časově výhodnější typ. [1][2] Hybridní aplikace V tomto případě se jedná o mix webové a nativní aplikace Vytvoříme nativní kontejner ve kterém přijímáme námi definovanou komunikaci z webové aplikace, která může a nemusí být online Pokud máme dostatečně kvalifikované lidi na obou stranách, jak pro vývoj nativní části, tak pro vývoj webové části, může toto být finančně a časově výhodnější řešení Ukázkou této varianty je aplikace Linkedin nebo Hotel Tonight, které můžeme stáhnout z App Store jako klasické nativní aplikace [1][2][4] Výhody hybridní aplikace Kolem této varianty je v poslední době velká debata, je to z důvodu odpadnutí prostředků na nativní část Za použití služeb typu PhoneGap 37 (skoupeno společností Adobe), Titanium Appcelerator [38] nebo Worklight (skoupeno společností IBM), si mohou weboví vývojáři vytvořit vlastní plnohodnotnou aplikaci s použitím zdokumentovaných API Každá služba poskytuje jiný přístup, následuje krátký popis prvních dvou zmíněných Obráz k 15 I us ra ivní proc s vývoj hybridních ap ikací [37] 65

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

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

Více

Telekomunikační koncová zařízení

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

Více

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

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

Více

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

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

Více

Obsah. Úvod 13 Co a kde v knize najdete 13 Pro koho kniha je a jak ji číst 14 Zpětná vazba od čtenářů 15 Errata 15

Obsah. Úvod 13 Co a kde v knize najdete 13 Pro koho kniha je a jak ji číst 14 Zpětná vazba od čtenářů 15 Errata 15 Obsah Úvod 13 Co a kde v knize najdete 13 Pro koho kniha je a jak ji číst 14 Zpětná vazba od čtenářů 15 Errata 15 Kapitola 1 Seznamte se 17 Co je v krabici a jak ipad vypadá 17 Sluchátkový konektor 17

Více

NOTEBOOK DELL INSPIRON 13Z 5000 TOUCH NOTEBOOK, I5-7200U, 4GB, 128GB SSD, 13.3" FHD DOTYKOVÝ, W10, ŠEDÝ, 2YNBD ON-SITE

NOTEBOOK DELL INSPIRON 13Z 5000 TOUCH NOTEBOOK, I5-7200U, 4GB, 128GB SSD, 13.3" FHD DOTYKOVÝ, W10, ŠEDÝ, 2YNBD ON-SITE 13.02.17 7:05:40 NOTEBOOK DELL INSPIRON 13Z 5000 TOUCH NOTEBOOK, I5-7200U, 4GB, 128GB SSD, 13.3" FHD DOTYKOVÝ, W10, ŠEDÝ, 2YNBD ON-SITE Cena celkem: 19 239 Kč (bez DPH: 15 900 Kč) Běžná cena: 21 162

Více

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

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

Více

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

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

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

Více

instalace, implementace a integrace se systémem spisové služby (SSL)

instalace, implementace a integrace se systémem spisové služby (SSL) PŘÍLOHA Č. 1 ZADÁVACÍ DOKUMENTACE TECHNICKÁ SPECIFIKACE ZÁKAZNÍKA 1 Komplexní dodávka interaktivních úředních desek (IUD), včetně instalace, implementace a integrace se systémem spisové služby (SSL) 1.1

Více

Formy komunikace s knihovnami

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

Více

První použití notebooku GIGABYTE

První použití notebooku GIGABYTE Gratulujeme Vám ke koupi notebooku GIGABYTE! Tato příručka vás provede nastavením Vašeho notebooku při jeho prvním spuštění. Konečná konfigurace produktu závisí na daném modelu zakoupeném v prodejně. GIGABYTE

Více

ELEKTRONICKÉ PODÁNÍ OBČANA

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

Více

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

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

Více

Kontrola obsahu balení

Kontrola obsahu balení Gratulujeme Vám ke koupi notebooku GIGABYTE! Tato příručka vás provede nastavením Vašeho notebooku při jeho prvním spuštění. Konečná konfigurace produktu závisí na daném modelu zakoupeném v prodejně. GIGABYTE

Více

Dobré UX jako nejlepší marketingový nástroj mobilních aplikací. Vladimír Korbel

Dobré UX jako nejlepší marketingový nástroj mobilních aplikací. Vladimír Korbel Dobré UX jako nejlepší marketingový nástroj mobilních aplikací Vladimír Korbel Osnova Co je to User Experience (UX)? Proč je UX důležitá UX přínosy pro business Dobrý design v kontextu mobilních aplikací

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

KANTOR IDEÁL Vzdělávání a podpora pedagogických pracovníků ZŠ a SŠ při integraci ICT do výuky. registrační číslo: CZ.1.07/1.3.00/51.

KANTOR IDEÁL Vzdělávání a podpora pedagogických pracovníků ZŠ a SŠ při integraci ICT do výuky. registrační číslo: CZ.1.07/1.3.00/51. KANTOR IDEÁL Vzdělávání a podpora pedagogických pracovníků ZŠ a SŠ při integraci ICT do výuky registrační číslo: CZ.1.07/1.3.00/51.0023 Kterou cestou se vydat? Tři základní operační systémy A z tohoto

Více

Thunderbolt 3 (USB-C) Slouží k nabíjení MacBooku Pro a k připojení externího úložiště či monitoru. HD kamera FaceTime

Thunderbolt 3 (USB-C) Slouží k nabíjení MacBooku Pro a k připojení externího úložiště či monitoru. HD kamera FaceTime Vítá vás váš MacBook Pro Pojďme rovnou začít. MacBook Pro se spustí automaticky, jakmile zvednete víko. Průvodce nastavením vás pak provede několika jednoduchými kroky potřebnými k uvedení počítače do

Více

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

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

Více

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

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

Více

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

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

Více

SAMSUNG E1170. Stránka 1 z 6

SAMSUNG E1170. Stránka 1 z 6 Stránka 1 z 6 SAMSUNG E1170 Cena : 416,- Kč bez DPH 499,- Kč s DPH Jednoduchý mobilní telefon vhodný pro nenáročné uživatele, seniory apod. Nabízí všechny základní funkce mobilní komunikace, imituje elegantní

Více

Aplikace GoGEN Smart Center

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

Více

Zabezpečení mobilních bankovnictví

Zabezpečení mobilních bankovnictví Konference Security 2015 Zabezpečení mobilních bankovnictví Petr Dvořák CEO, Lime - HighTech Solutions s.r.o. petr@lime-company.eu Obsah Vlastnosti mobilních zařízení. Architektura mobilního bankovnictví.

Více

Operační systém (OS) Porty. PC zdroj Instalace. Podmínka Záruka

Operační systém (OS) Porty. PC zdroj Instalace. Podmínka Záruka Příloha č. 4 - Technické podmínky OPVK 1.4 Stolní počítač žákovský- učebna Platný název zařízení Název výrobce Platný webový odkaz (link) na stránky výrobce Platný webový odkaz (link) na stránky dovozce

Více

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ FAKULTA ELEKTROTECHNICKÁ

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ FAKULTA ELEKTROTECHNICKÁ ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ FAKULTA ELEKTROTECHNICKÁ Testování e-mailového klienta na přístroji NOKIA Lumia 710 drazajak@fel.cvut.cz 1 1. Obsah 1. Obsah 1 2. Úvod 2 2.1. Popis aplikace 2 2.2. Testované

Více

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

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

Více

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

BBW200 UŽIVATELSKÝ MANUÁL

BBW200 UŽIVATELSKÝ MANUÁL BBW200 UŽIVATELSKÝ MANUÁL BBW200 Aplikace BeeWi SmartPad: Děkujeme vám za zakoupení chytrého senzoru teploty a vlhkosti BBW200 Smart Temperature & Humidity Sensor od BEEWI. Přečtěte si prosím následující

Více

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

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

Více

ZADÁVACÍ DOKUMENT ACE

ZADÁVACÍ DOKUMENT ACE Příloha с. 1 Výzvy к podání nabídek ZADÁVACÍ DOKUMENT ACE 1. Podmínky a požadavky na zpracování nabídky 1.1. Předmětem zakázky je dodávka těchto mobilních zařízení: 10 ks počítačů ALL in One, 3 ks počítačů

Více

Thunderbolt 3 (USB-C) Slouží k nabíjení MacBooku Pro a k připojení externího úložiště či monitoru. HD kamera FaceTime

Thunderbolt 3 (USB-C) Slouží k nabíjení MacBooku Pro a k připojení externího úložiště či monitoru. HD kamera FaceTime Vítá vás váš MacBook Pro Pojďme rovnou začít. MacBook Pro spustíte stisknutím zapínacího tlačítka nebo zvednutím víka. Průvodce nastavením vás poté provede několika úvodními kroky, takže budete moci svůj

Více

PROFESIONÁLNÍ ODPOSLECH MOBILNÍHO TELEFONU SPYTEL

PROFESIONÁLNÍ ODPOSLECH MOBILNÍHO TELEFONU SPYTEL Podrobné informace: Odposlech mobilního telefonu SpyTel 1 PROFESIONÁLNÍ ODPOSLECH MOBILNÍHO TELEFONU SPYTEL ODPOSLECH TELEFONU SPYTEL PROČ ZVOLIT NAŠE ŘEŠENÍ? Jsme si vědomi, že na trhu existuje celá řada

Více

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA INTERPI Interoperabilita v paměťových institucích Program aplikovaného výzkumu a vývoje národní kulturní identity

Více

iphone - proč a jak mění svět mobilního Internetu Mobile Internet Forum 2008 Petr Mára, petrmara.com

iphone - proč a jak mění svět mobilního Internetu Mobile Internet Forum 2008 Petr Mára, petrmara.com iphone - proč a jak mění svět mobilního Internetu Mobile Internet Forum 2008 Petr Mára, petrmara.com Jak to začalo... iphone vzniká po zkušenostech s ipodem, obchodem itunes Store a na základech Mac OS

Více

INTERAKTIVNÍ PUBLIKACE pro smartphony a tablety

INTERAKTIVNÍ PUBLIKACE pro smartphony a tablety INTERAKTIVNÍ PUBLIKACE pro smartphony a tablety PŘEDSTAVENÍ PUBLIKACE Naše aplikace a interaktivní digitální publikace pro smartphony a tablety, jsou určeny jako marketingová podpora prodeje firem, které

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

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: 21 Název materiálu: Možnosti komunikace a synchronizace Ročník: Identifikace materiálu:

Více

IP kamera. Uživatelský manuál

IP kamera. Uživatelský manuál IP kamera Uživatelský manuál Upozornění: Tento manuál nemusí zcela přesně popisovat některé technické detaily nebo může obsahovat tiskařské chyby. Pokud byste nemohli vyřešit některé problémy pomocí tohoto

Více

Windows 10 (5. třída)

Windows 10 (5. třída) Windows 10 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na Pracovní ploše ikona Student 17 (se jménem přihlášeného uživatele) ikona Tento počítač

Více

Animace ve WPF. Filip Gažák. Ing. Václav Novák, CSc. Školní rok: 2008-09

Animace ve WPF. Filip Gažák. Ing. Václav Novák, CSc. Školní rok: 2008-09 Animace ve WPF Filip Gažák Ing. Václav Novák, CSc. Školní rok: 2008-09 Abstrakt Hlavním tématem práce bude nový prvek pro tvorbu uživatelského prostředí ve WPF animace. V teoretické části se nejprve seznámíme

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

InternetovéTechnologie

InternetovéTechnologie 8 InternetovéTechnologie webdesign, mobile first Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky Webové stránky a aplikace - Webové stránky - množina vzájemně propojených stránek, které obsahují informace

Více

CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA

CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA Obsah Cyclope Print Management Software- uživatelská příručka... 1 1. Přehled produktu... 2 2. Stručný popis produtku CPMS... 2 2.1. Stažení CPMS...

Více

Zkontrolujte dodané příslušenství.

Zkontrolujte dodané příslušenství. Gratulujeme ke koupi tabletu od společnosti Gigabyte. Tato instalační příručka nabízí informace které vám pomohou se spuštěním a nastavením notebooku Gigabyte. Konfigurace Vašeho zařízení záleží na zakoupeném

Více

Procesory nvidia Tegra

Procesory nvidia Tegra VŠB-TU Ostrava Fakulta elektrotechniky a informatiky Procesory nvidia Tegra Petr Dostalík, DOS140 Pokročilé architektury počítačů Představení nvidia Tegra V únoru roku 2008 představila společnost nvidia

Více

Instalace a od-instalace aplikace Google / Android

Instalace a od-instalace aplikace Google / Android Instalace a od-instalace aplikace Google / Android Petr Novák (Ing., Ph.D.) novakpe@labe.felk.cvut.cz 28.06.2017 Obsah 1 Úvod... 1 2 Povolení instalace aplikace... 2 3 Stažení aplikace... 3 4 Instalace

Více

Mobilní informační průvodce - RegTim

Mobilní informační průvodce - RegTim Mobilní informační průvodce - RegTim nabízí zpřístupnění kulturního a přírodního dědictví regionu s využitím moderních mobilních informačních technologií pro podporu cestovního ruchu a inovativní propagaci

Více

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

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

Více

Návod k využívání interaktivních funkcí

Návod k využívání interaktivních funkcí Návod k využívání interaktivních funkcí Vážení zákazníci, těší nás, že jste se rozhodli využívat výhody Interaktivní TV. Svoji Interaktivní TV budete ovládat přes velmi jednoduchou a intuitivní aplikaci.

Více

První kroky s METEL IEC IDE

První kroky s METEL IEC IDE První kroky s poskytuje programování v IEC 61131-3 jazycích, podporuje jak grafickou tak textovou podobu. Umožňuje vytvářet, upravovat a ladit IEC 61131-3 (ST, LD, IL, FBD) programy pro řídicí jednotky

Více

JUMO LOGOSCREEN 600. Dotyková budoucnost záznamu: Obrazovkový zapisovač

JUMO LOGOSCREEN 600. Dotyková budoucnost záznamu: Obrazovkový zapisovač JUMO LOGOSCREEN 600 Dotyková budoucnost záznamu: Obrazovkový zapisovač Nová generace Obrazovkový zapisovač JUMO LOGOSCREEN 600 je nový úvodní model řady LOGOSCREEN, který je určen pro skutečný provoz na

Více

Návrh zpravodajské aplikace idnes po Android

Návrh zpravodajské aplikace idnes po Android Návrh zpravodajské aplikace idnes po Android Semestrální projekt pro předmět PDA 1 D1! 4 Název! 4 Popis! 4 Cílová skupina! 4 D2! 5 Uživatelé! 5 Aktivity! 5 System Support! 5 Cílová platforma! 6 Context!

Více

O 2 TV. jediná televize, která se vám přizpůsobí

O 2 TV. jediná televize, která se vám přizpůsobí O 2 TV jediná televize, která se vám přizpůsobí Vítejte ve světě O 2 TV Vítejte ve světě zábavy a odpočinku! Ve světě, kde se nemusíte nikomu a ničemu přizpůsobovat. Díky svým unikátním funkcím je O 2

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

VirtualBox desktopová virtualizace. Zdeněk Merta

VirtualBox desktopová virtualizace. Zdeněk Merta VirtualBox desktopová virtualizace Zdeněk Merta 15.3.2009 VirtualBox dektopová virtualizace Stránka 2 ze 14 VirtualBox Multiplatformní virtualizační nástroj. Částečně založen na virtualizačním nástroji

Více

ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu:

ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu: ešení pro správu klientských počítač a mobilní tisk Číslo dokumentu: 410173-221 Leden 2006 Obsah 1 ešení pro správu klientských počítač Konfigurace a nasazení....................... 1 2 Správa a aktualizace

Více

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

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

Více

Podrobný postup pro vyplnění, odeslání a stažení žádosti o poskytnutí dotace prostřednictvím veřejnoprávní smlouvy v elektronickém systému dle

Podrobný postup pro vyplnění, odeslání a stažení žádosti o poskytnutí dotace prostřednictvím veřejnoprávní smlouvy v elektronickém systému dle Podrobný postup pro vyplnění, odeslání a stažení žádosti o poskytnutí dotace prostřednictvím veřejnoprávní smlouvy v elektronickém systému dle Programu Výměna zdrojů tepla na pevná paliva v rodinných domech

Více

eman s.r.o. Profil společnosti

eman s.r.o. Profil společnosti eman s.r.o. Profil společnosti Kdo jsme? Společnost eman je předním českým poskytovatelem mobilních řešení. Nabízíme služby v oblasti zakázkového vývoje mobilních aplikací, mobilních a responzivních webů

Více

Příručka pro rychlý start

Příručka pro rychlý start Příručka pro rychlý start Vítá vás váš MacBook Pro Pojďme rovnou začít. MacBook spustíte stisknutím zapínacího tlačítka. Průvodce nastavením vás poté provede několika úvodními kroky, takže budete moci

Více

Uživatelský manuál. XMEye aplikace pro zválený dohled. 1/14

Uživatelský manuál. XMEye aplikace pro zválený dohled. 1/14 Uživatelský manuál XMEye aplikace pro zválený dohled 1/14 www.patronum.cz Vítejte! Děkujeme za nákup digitálního videorekordéru PATRONUM! Součástí vlastností tohoto DVR je možnost zváleného dohledu přes

Více

Bohuslav Mach, Správce úkolů. pro informační systém firmy s-cape.cz 1/6

Bohuslav Mach, Správce úkolů. pro informační systém firmy s-cape.cz 1/6 Správce úkolů pro informační systém firmy s-cape.cz 1/6 Popis aplikace - D1 Aplikace umožňující uživateli s vytvořeným účtem v informačním systému firmy s-cape.cz prohlížet a editovat s nim spojené úkoly.

Více

MOBILNÍ TELEFON SAMSUNG GALAXY S8+ (G955) ŠEDÝ MOBILNÍ TELEFON, OCTA CORE 2,3GHZ, 4GB RAM, 64GB, LTE, 6,2", IP68, ANDROID 7.

MOBILNÍ TELEFON SAMSUNG GALAXY S8+ (G955) ŠEDÝ MOBILNÍ TELEFON, OCTA CORE 2,3GHZ, 4GB RAM, 64GB, LTE, 6,2", IP68, ANDROID 7. 19.12.17 5:19:38 MOBILNÍ TELEFON SAMSUNG GALAXY S8+ (G955) ŠEDÝ MOBILNÍ TELEFON, OCTA CORE 2,3GHZ, 4GB RAM, 64GB, LTE, 6,2", IP68, ANDROID 7.0, ŠEDÝ Cena celkem: 24 490 Kč (bez DPH: 20 240 Kč) Běžná

Více

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

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

Více

Aplikace gdmss, idmss V

Aplikace gdmss, idmss V Aplikace gdmss, idmss V3.46.000 DAHUA VARIANT plus, spol. s.r.o., U Obůrky 5, 674 01 TŘEBÍČ, tel.: 565 659 600 technická linka 565 659 635 (pracovní doba 7:00 15:30) www.variant.cz evs@variant.cz Tato

Více

Příručka pro rychlý start

Příručka pro rychlý start Příručka pro rychlý start Vítá vás váš MacBook Air Pojďme rovnou začít. MacBook spustíte stisknutím zapínacího tlačítka. Průvodce nastavením vás poté provede několika úvodními kroky, takže budete moci

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

Uživatelská příručka CZ

Uživatelská příručka CZ Minix NEO U9-H Uživatelská příručka CZ Děkujeme Vám za zakoupení Minix NEO U9-H Minix NEO U9-H je výkonné multimediální centrum na bázi Android 6.0 Marshmallow s osmijádrovým procesorem a grafikou Mali

Více

Lantronix, Inc. xprintserver Office Edition: Obchodní prezentace Listopad 2012

Lantronix, Inc. xprintserver Office Edition: Obchodní prezentace Listopad 2012 Lantronix, Inc. xprintserver Office Edition: Obchodní prezentace Listopad 2012 Které zařízení způsobilo revoluci v IT? Str. 2 Obchodní prezentace 2012 Lantronix. Jsou ipady používány ve firemním prostředí?

Více

Studie webů automobilek

Studie webů automobilek Studie webů automobilek červen 2006 [manažerské shrnutí] Obsah Obsah... 1 Manažerské shrnutí... 2 Kvalita obsahu a použitelnost webu... 3 Základní nedostatky negativně ovlivňují použitelnost většiny webů...

Více

Minix NEO Z64 Windows 8.1

Minix NEO Z64 Windows 8.1 Minix NEO Z64 Windows 8.1 Uživatelská příručka CZ Děkujeme Vám za zakoupení Minix NEO Z64 s OS Windows 8.1 Minix NEO Z64 je revoluční kompaktní Mini PC s čtyřjádrovým procesorem Intel Atom. NEO Z64 nově

Více

Windows 8.1 (5. třída)

Windows 8.1 (5. třída) Windows 8.1 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na pracovní ploše - Hlavní panel - ikony na Hlavním panelu (zvýrazněná ikona spuštěné

Více

Uživatelská příručka

Uživatelská příručka PŘÍLOHA B Uživatelská příručka Před prvním spuštění aplikace je nezbytné ujasnit si některé pojmy: web URL webových stránek, pro které se budou zjišťovat pozice. klíčové slovo - Slovní spojení nebo samostatné

Více

Inthouse Systems s.r.o. Specifikace. Inthouse App a Inthouse Studio pro Siemens Climatix 6XX. Verze software 1.X. Revize dokumentu 6

Inthouse Systems s.r.o. Specifikace. Inthouse App a Inthouse Studio pro Siemens Climatix 6XX. Verze software 1.X. Revize dokumentu 6 Inthouse Systems s.r.o. Specifikace Inthouse App a Inthouse Studio pro Siemens Climatix 6XX Verze software 1.X Revize dokumentu 6 Datum 4. 11. 2016 Obsah Obsah 1 Úvod 2 Základní přehled systému 2 Inthouse

Více

První použití přístroje GIGABYTE Slate PC

První použití přístroje GIGABYTE Slate PC Gratulujeme Vám k nákupu GIGABYTE Slate PC! Tento manuál Vám pomůže nastavit Váš Slate PC.Konfigurace je závislá na vybraném modelu, který jste si zakoupili. Společnost GIGABYTE si rezervuje právo na změnu

Více

Olga Rudikova 2. ročník APIN

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

Více

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací Mobilní zpravodajská aplikace idnes A7B39PDA - Principy tvorby mobilních aplikací Autor: Marek Krátký kratkma2@fel.cvut.cz Popis D1 Zpravodajská aplikace idnes je určena pro chytré telefony nebo pro tablety.

Více

NÁVOD K POUŽÍVÁNÍ DIGITÁLNÍ PENĚŽENKY MASTERCARD MOBILE

NÁVOD K POUŽÍVÁNÍ DIGITÁLNÍ PENĚŽENKY MASTERCARD MOBILE 1 Podporované platformy Aplikace MC Mobile je podporovaná na zařízeních: iphone (iphone 3GS, iphone 4, iphone 4S, iphone 5) ipad (ipad, ipad 2, ipad 3rd generation) Android. Pozn.: minimální podporované

Více

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

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

Více

TECHNICKÁ SPECIFIKACE PŘEDMĚTU VEŘEJNÉ ZAKÁZKY. Pořízení Počítačů a strojů na zpracování dat 2017 pro Vysokou školu polytechnickou Jihlava

TECHNICKÁ SPECIFIKACE PŘEDMĚTU VEŘEJNÉ ZAKÁZKY. Pořízení Počítačů a strojů na zpracování dat 2017 pro Vysokou školu polytechnickou Jihlava TECHNICKÁ SPECIFIKACE PŘEDMĚTU VEŘEJNÉ ZAKÁZKY Pořízení Počítačů a strojů na zpracování dat 2017 pro Vysokou školu polytechnickou Jihlava OBSAH Segment č. 1 Notebook A... 3 15 x Notebook A... 3 Segment

Více

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011 Osobní počítač Zpracoval: ict Aktualizace: 10. 11. 2011 Charakteristika PC Osobní počítač (personal computer - PC) je nástroj člověka pro zpracovávání informací Vyznačuje se schopností samostatně pracovat

Více

Příručka pro rychlý start

Příručka pro rychlý start Příručka pro rychlý start Vítá vás váš MacBook Air Pojďme rovnou začít. MacBook spustíte stisknutím zapínacího tlačítka. Průvodce nastavením vás poté provede několika úvodními kroky, takže budete moci

Více

Operační systém (OS) Porty. PC zdroj Instalace. Podmínka Záruka

Operační systém (OS) Porty. PC zdroj Instalace. Podmínka Záruka Příloha č. 4 - Technické podmínky OPVK 1.4 Stolní počítač žákovský- učebna Platný název zařízení Název výrobce Platný webový odkaz (link) na stránky výrobce Platný webový odkaz (link) na stránky dovozce

Více

MOBILNÍ TELEFON HUAWEI P9 LITE DUALSIM MOBILNÍ TELEFON, DOTYKOVÝ, 5,2" DISPLEJ, 16 GB, 2 GB RAM, ANDROID 6, ZLATÝ

MOBILNÍ TELEFON HUAWEI P9 LITE DUALSIM MOBILNÍ TELEFON, DOTYKOVÝ, 5,2" DISPLEJ, 16 GB, 2 GB RAM, ANDROID 6, ZLATÝ 04.03.17 14:25:00 MOBILNÍ TELEFON HUAWEI P9 LITE DUALSIM MOBILNÍ TELEFON, DOTYKOVÝ, 5,2" DISPLEJ, 16 GB, 2 GB RAM, ANDROID 6, ZLATÝ Cena celkem: 6 990 Kč (bez DPH: 5 777 Kč) Běžná cena: 7 689 Kč Ušetříte:

Více

USB-C Slouží k nabíjení MacBooku a k připojení externího úložiště či monitoru.

USB-C Slouží k nabíjení MacBooku a k připojení externího úložiště či monitoru. Vítá vás váš MacBook Pojďme rovnou začít. MacBook spustíte stisknutím zapínacího tlačítka nebo zvednutím víka. Průvodce nastavením vás provede několika jednoduchými kroky, po nichž se můžete hned pustit

Více

Software programové vybavení. 1. část

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

Více

Athena Uživatelská dokumentace v

Athena Uživatelská dokumentace v Athena Uživatelská dokumentace v. 2.0.0 OBSAH Obsah... 2 Historie dokumentu... 3 Popis systému... 4 Založení uživatele... 5 Přihlášení uživatele... 7 První přihlášení... 8 Založení profilu zadavatele/dodavatele...

Více

Návrh stránek 4IZ228 tvorba webových stránek a aplikací

Návrh stránek 4IZ228 tvorba webových stránek a aplikací 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2013/12/12 20:40:58 $ Obsah Úvod... 3 Recept na dobré webové stránky... 4 Použitelnost... 5 Jak se pozná použitelný web...

Více

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

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

Více

Informace k aktualizaci Poski REAL

Informace k aktualizaci Poski REAL Informace k aktualizaci Poski REAL verze 2.12, vydání 13.12.2013 Vážení zástupci realitních kanceláří, dovolujeme si Vás informovat o vydání nové verze programu Poski REAL, verze 2.12, která opět přichází

Více

Návrh uživatelských rozhraní NOV-WEB. Jakub Bartoš, Pavel Dvořák, Jakub Motyčka, Kamil Procházka

Návrh uživatelských rozhraní NOV-WEB. Jakub Bartoš, Pavel Dvořák, Jakub Motyčka, Kamil Procházka Návrh uživatelských rozhraní D3 NOV-WEB Web pro stránky předmětů Jakub Bartoš, Pavel Dvořák, Jakub Motyčka, Kamil Procházka Prototyp - Prototyp je vytvořen formou webové stránky. Výchozí stránka prototypu

Více

Technická specifikace: MĚÚ Nové Město na Moravě

Technická specifikace: MĚÚ Nové Město na Moravě Technická specifikace: MĚÚ Nové Město na Moravě - pevný disk - RAID SERVER - 1ks HDD RAID do serveru Formát 3,5" interní Serial ATA III Kapacita disku min. 1 000 GB (1 TB) Rychlost čtení min. 128 MB/s

Více

Průvodce Mobilní agendou

Průvodce Mobilní agendou Průvodce Mobilní agendou DATUM VYTVOŘENÍ: 18.11.2014 AUTOR: Mgr. Jiří Brusenbauch VERZE DOKUMENTU: 1.0 Advokátní agenda v novém kabátě! Vaše online kancelář všude s vámi. Naše jedinečná aplikace Advokátní

Více

Newsletter RIBTEC automatické aktualizace Praktická novinka v servisu a podpoře k softwaru RIBTEC od verzí 15.0

Newsletter RIBTEC automatické aktualizace Praktická novinka v servisu a podpoře k softwaru RIBTEC od verzí 15.0 1.1 Automatické aktualizace RIBTEC Pomocí nového Prostředí automatických aktualizací můžete udržovat Váš software stavební statiky RIBTEC od verzí 15.0 a vyšších na aktuálním stavu. Tento systémový nástroj

Více

Constructo. Uživatelská příručka

Constructo. Uživatelská příručka Constructo Uživatelská příručka Constructo 1 Úvod 3 Filosofie systému 4 Registrace do systému 5 Přihlášení do systému 8 Popis rozhraní 9 O projektech 10 Nastavení rolí v projektu 11 Moduly 13 Stavební

Více

Technická dokumentace

Technická dokumentace Příloha č.1 výzvy Technická dokumentace k veřejné zakázce malého rozsahu Obsah Technická dokumentace... 1 Předmět zadání k podání cenové nabídky:... 3 Dodávka a služby budou zahrnovat:... 3 Specifikace

Více