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



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

Aplikace pro bezpečné ukládání dat do paměti mobilních zařízení BRNO UNIVERSITY OF TECHNOLOGY

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

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

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

Použité pojmy a zkratky

Podporované mobilní telefony a PDA - VDGPRS

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

ZÁKLADY INFORMATIKY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ. Ing. Roman Danel, Ph.D. Ostrava 2013

ABSTRAKT KLÍČOVÁ SLOVA

Stylový společník, který nabízí pokročilou grafiku i zabezpečení. Oficiální webové stránky VAIO Europe

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

Váš stylový multimediální společník v karamelově smetanovém provedení. Oficiální webové stránky VAIO Europe

Chytrý osobní laptop s rychlým procesorem Intel, 4GB pamětí RAM a grafikou ATI. Oficiální webové stránky VAIO Europe

SUTOL 2012 konference

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

Ten nejlepší zážitek z vysokého rozlišení. Vlajková loď mezi zábavními notebooky s Full HD a jednotkou Bluray Disc Combo

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

Procesory nvidia Tegra

Váš stylový multimediální společník v korálově růžovém provedení. Oficiální webové stránky VAIO Europe

Web n walk NÁVOD PRO UŽIVATELE. Manager

16.990,- Xperia Z MOBILNÍ TELEFONY GSM PŘÍSLUŠENSTVÍ 3.490, ,- březen. to nejlepší od Sony ve smartphonu. Xperia miro.

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

Kupní smlouva o dodávce IT vybavení 2013

Max. v pohotovosti: 220 h Max. doba hovoru: 4 h

Data Sheet Fujitsu LIFEBOOK AH531 Notebook

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

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

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

Digitální video, formáty a kódování. Jan Vrzal, verze 0.8

Skupina oborů: Elektrotechnika, telekomunikační a výpočetní technika (kód: 26)

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

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

Analogové mobilní systémy AMPS , , NMT TACS

O aplikaci Parallels Desktop 7 for Mac

Nastavení tabletu Sony Xperia Tablet Z

Dell Latitude E6420/E6520

UHV High+ / GSM II SIMPLY CLEVER. Telefonní držák (bez SOS tl.) Zobrazení síly signálu. A05 od měsíce výroby. volaných,přijatých a

Compatibility List. GORDIC spol. s r. o. Verze

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Řada Aspire Stručné pokyny

Programové vybavení počítače

AMILO Mini Ui 3520 Velmi malé a stylové. vybavení na cesty Počet stran: 5. Hlavní parametry

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

Aspire 8530 řady. Stručné pokyny

Nastavení telefonu Samsung P7300 Galaxy Tab 8.9

Vestavné systémy BI-VES Přednáška 10

Nastavení telefonu HTC Desire 200

Data Sheet Fujitsu LIFEBOOK AH552/SL Notebook

OpenStage - zařízení pro otevřenou jednotnou komunikaci

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

UŽIVATELSKÁ PŘÍRUČKA K SADĚ. Nokia PC Suite 6.81

Převody datových formátů

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

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

NAS SYNOLOGY DS214SE. Osobní NAS server za příjemnou cenu.

Data Sheet Fujitsu LIFEBOOK LH532 Notebook

Elegantní společník do práce i domů, který spojuje výkon a pokročilé zabezpečení. Oficiální webové stránky VAIO Europe

SCS Data Manager. Poznámky k verzi. Verze 3.00

Data Sheet Fujitsu LIFEBOOK UH572 Ultrabook Notebook

Výklad učiva: Co je to počítač?

Data Sheet Fujitsu LIFEBOOK A532 Notebook

Data Sheet Fujitsu LIFEBOOK SH531 Notebook

Informace. OpenStage T Zařízení pro otevřenou a jednotnou komunikaci

Windows 10. Availability and experience may vary by market and hardware.

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

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Osobní počítač

Název Popis Lhůta. dne Odmítnuté platby Zobrazení, tisk a export seznamu odmítnutých plateb. Informace připraveny k vyzvednutí z bankovního

Stručný obsah KAPITOLA 1 KAPITOLA 2 KAPITOLA 3 KAPITOLA 4 KAPITOLA 5 KAPITOLA 6 KAPITOLA 7 KAPITOLA 8 KAPITOLA 9 KAPITOLA 10 KAPITOLA 11 KAPITOLA 12

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

Gammu a Wammu. Michal Čihař <michal@cihar.com>

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

Virtualizace koncových stanic Položka Požadováno Nabídka, konkrétní hodnota

Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor

T-Mobile Internet. Manager. pro Windows NÁVOD PRO UŽIVATELE

Datasheet Tenký klient FUJITSU FUTRO S720

Mid Android M001, M002, M003

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

Představení notebooku Uživatelská příručka

Datasheet Fujitsu LIFEBOOK A512 Notebook

Nastavení telefonu Sony Ericsson XPERIA X10 mini

Hardware. Z čeho se skládá počítač

Videoformáty na internetu Ing. Jakub Vaněk KIT digital Czech a.s. Situation: Q4 09 and 2010 Budget

Nastavení telefonu ZTE KIS PLUS

SIM karty a bezpečnost v mobilních sítích

Nastavení telefonu Samsung i9000 Galaxy S

Účinná ochrana před vysokými náklady za mobilní datová spojení v zahraničí i v tuzemsku. Pro mobilní telefony s OS Symbian S60 3rd a 5th Edition

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

Technická dokumentace

Základní deska (mainboard, motherboard)

Vestavné průmyslové počítače. Martin Löw

ceník platný od

CTUGuide (XXX-KOS) D1

instaluj Naučte se víc...

TRUST USB2 EASY FILE TRANSFER CABLE. Instrukce při prvním použití 1. Instalace ovladače (4.2) 2. Připojení kabelu (4.3)

Co je to počítač? Počítač je stroj pro zpracování informací Jaké jsou základní části počítače? Monitor, počítač (CASE), klávesnice, myš

O autorovi 6 O odborném redaktorovi 7 Úvod 21 Laptop nebo notebook? 21 Co je cílem této knihy 22 Webové stránky autora 23 Osobní poznámka 23

Transkript:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS PROGRAMOVÁNÍ MOBILNÍCH TELEFONŮ MOBILE PHONE PROGRAMMING BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR JÁN OCHODNICKÝ Ing. TOMÁŠ MÁCHA BRNO 2009

ABSTRAKT Bakalářská práce je zaměřena na možnosti v programování mobilních telefonů. Teoreticky rozebírá nejrozšířenější operační systémy a programovací jazyky na operační systém Symbian. Dále teoreticky popisuje technologii GSM, komunikaci mezi mobilní stanicí a základovou stanicí a přenášené parametry spojení. Práce obsahuje dva programy pro operační systém Symbian. Program FDSearch je vytvořen v programovacím jazyku Python for S60. Aplikace slouží na vyhledávání složek a souborů v mobilních telefonech. Druhý program About Net je vytvořen v programovacím jazyku Symbian C++ a je zaměřen na zachytávání systémových informací ze sítě. Klíčová slova: OS, programovací jazyk, GSM, Python, Symbian, C++ ABSTRACT This bachelor thesis is focused on mobile phone programming. The paper theoretically analyzes most expanded operating systems and Symbian operating system programming languages. Also theoretically describes the GSM technology, communication between mobile station and base station and transferred parameters of connection. Bachelor thesis includes two programs for Symbian operating system. Program FDSearch is created in Python for S60 programming language. This application serves to search directories and files in the mobile phone. The second program About Net is created in Symbian C++ programming language and is intent on capturing system information from network. Keywords: OS, programming language, GSM, Python, Symbian, C++

PROHLÁŠENÍ Prohlašuji, že svou bakalářskou práci na téma Programování mobilních telefonů jsem vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené bakalářské práce dále prohlašuji, že v souvislosti s vytvořením této bakalářské práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení 152 trestního zákona č. 140/1961 Sb. V Brně dne...... podpis autora

PODĚKOVÁNÍ Děkuji vedoucímu bakalářské práce Ing. Tomáši Máchovi, za metodickou pomoc a cenné rady při zpracování bakalářské práce. V Brně dne...... podpis autora

Seznam zkratek AAC ALP AMPS AMR API ARM BCC BER BSC BSIC BSS BTS CDC CDMA CGI CID CLDC CRO D-AMPS DBMS DFRD DRM EDGE EV-DO GCN GIF GPRS GPS GSM HTML ICS IDE iden IM IMEI IMSI IrDA IS JRE LAC MCC MIDI MIDP MIDP MIK MNC MPEG MSIN NCC NMT NSS OPL OS OSS PACE PDA Advanced Audio Coding Access Linux Platform Advanced Mobile Phone System Adaptive Multi-Rate Application Programming Interference Advanced RISC Machine Broadcast Color Code Bit Error Rate Base Station Controller Base Station Identity Code Base Station Subsystem Base Transceiver Station Connected Device Configuration Code Division Multiple Access Cell Global Identity Cell IDentifier Connected Limited Device Configuration Cell Reselect Offset Digital AMPS Database Management System Device Family Reference Designs Digital Rights Management Enhanced Data rates for GSM Evolution Evolution-Data Optimized GPRS Core Network Graphic Interchange Format General Packet Radio Service Global Positioning System Groupe Spécial Mobile, Global System for Mobile communication HyperText Markup Language Internet Connection Sharing Integrated Development Environment Integrated Digital Enhanced Network Instant Messenger International Mobile Equipment Identity International Mobile Subscriber Identification Infrared Data Association (komunikační rozhraní) Interim Standard Java Runtime Environment Local Area Code Mobile Country Code Musical Instrument Digital Interface Mobile Information Device Profile Mobile Information Device Profile Mobile Internet Kit Mobile Network Code Moving Picture Experts Group Mobile Station Identification Number Network Color Code Nordic Mobile Telephony Network and Switching Subsystem Open Programming Language Operating System Operation Support Subsystem Palm Application Compatibility Environment Personal Digital Assistant

PDC PIE PNG PPTP VPN QVGA RAM ROM SDK SIM SMS SSL/TLS STL TA TCP/IP TDMA TMSI TS UI UMTS USB VoIP WAP XML Personal Digital Cellular Pocket Internet Explorer Portable Network Graphic Point-to-Point Tunneling Protocol, Virtual Private Network Quarter Video Graphic Array (320x240 pixelů) Random Access Memory Read Only Memory Software Development Kit Subscriber Identity Module Short Message Service Secure Socket Layers/ Transport Layer Security Standard Template Library Timing Advance Transmission Control Protocol/ Internet Protocol Time Division Multiple Access Temporary Mobile Station Identification Time Slot User Interface Universal Mobile Telecommunications System Universal Serial Bus Voice over Internet Protocol Wireless Application Protocol (mobilní internet) Extensible Markup Language

Obsah ÚVOD... 11 1 Operační systémy pro mobilní zařízení... 12 1.1 PalmOS... 13 1.1.1 Prvotní verze PalmOS... 14 1.1.2 Současnost a PalmOS... 14 1.2 Windows Mobile... 15 1.2.1 Pocket PC verze... 16 1.2.2 Windows Mobile verze... 16 1.3 Android... 17 1.4 Symbian... 18 1.4.1 EPOC verze... 19 1.4.2 Symbian OS v6.0 až 8.1... 20 1.4.3 Verze 9.0 a novější... 20 1.5 Jiné používané OS... 21 1.6 Porovnání OS... 21 1.7 Serie Symbian OS... 23 1.7.1 Výběr verze OS Symbian... 24 2 Programovací jazyky... 25 2.1 PalmOS, Windows Mobile, Android... 25 2.2 Programovací jazyk C++... 26 2.2.1 Základní principy... 26 2.2.2 Vývoj... 26 2.2.3 Knihovna C++... 27 2.2.4 Rysy jazyka... 27 2.2.5 Symbian C++... 28 2.3 Java... 28 2.3.1 Vývoj... 28 2.3.2 Filozofie... 29 2.3.3 Java ME... 29 2.4 Python... 30 2.4.1 Vývoj... 30 2.4.2 Standardní knihovna... 30 2.4.3 Vlastnosti... 31 2.4.4 Python for S60... 31

2.5 Další programovací jazyky... 31 2.6 Výběr programovacího jazyku... 32 2.7 SDK... 33 2.8 Shrnutí... 33 3 Program FDSearch... 34 3.1 Vývojové prostředí... 34 3.2 Vytvoření rámce programu... 34 3.3 Jádro programu... 35 3.3.1 Zadávání požadavků... 35 3.3.2 Vyhledávání... 35 3.4 Výpis nalezených kořenů... 37 4 Síť GSM a její základní parametry... 39 4.1 Technologie GSM... 39 4.2 Komunikace mezi BTS a mobilní stanicí v GSM... 40 4.2.1 Idle mód... 41 4.2.2 Dedicated mód... 42 5 Program About net... 43 5.1 Vývojové prostředí... 43 5.2 Uživatelské rozhraní... 44 5.3 Jádro programu... 45 5.3.1 Idle mód... 46 5.3.2 Dedicated mód... 49 5.4 About Net shrnutí... 49 Závěr... 50

Seznam obrázků Obrázek 1: Nokia N95... 12 Obrázek 2: Přiklad UI pro PalmOS... 13 Obrázek 3: Příklad UI pro OS Windows Mobile 6.1 Standard... 15 Obrázek 4: T-Mobile G1 s OS Android... 18 Obrázek 5: Vrstvový model OS Symbian... 19 Obrázek 6: Příklad UI pro OS Symbian... 21 Obrázek 7: Okno zadávání hledaného výrazu v programu FDSearch... 35 Obrázek 8: Výpis prohledávaného adresáře v hlavičce programu FDSearch... 36 Obrázek 9: Plocha výběru způsobu výpisu v programu FDSearch... 37 Obrázek 10: Kompletní a zkrácený výpis nalezených kořenů v programu FDSearch... 38 Obrázek 11: Možnost třídění nalezených kořenů v programu FDSearch... 38 Obrázek 12: Bloková architektura sítě GSM... 40 Obrázek 13: Vývojové prostředí Carbide.c++... 43 Obrázek 14: Úvodní obrazovka aplikace About Net... 44 Obrázek 15: Menu aplikace About Net... 45 Obrázek 16: Zobrazení hodnoty CGI v aplikaci About Net... 46 Obrázek 17: Zobrazení hodnoty RXLevel v aplikaci About Net... 47 Obrázek 18: Anonymizované zobrazení hodnoty IMSI a TMSI v aplikaci About Net... 48 Seznam tabulek Tabulka 1: Tabulka parametrů daných OS... 22 Tabulka 2: Tabulka parametrů programovacích jazyků... 32

ÚVOD Rozmach telekomunikačních služeb v posledních letech zvyšuje požadavky i na mobilní telefony. Stejně jako integrací funkcí z jiných zařízení tak i přidáváním nových aplikací se možnosti mobilních telefonů blíží běžným počítačům. Právě tvořením nových aplikací je možné ze zařízení s běžnými funkcemi vytvořit multifunkční zařízení. V první části jsou popsány OS pro mobilní telefony. Výběr vhodného OS je důležitou součástí při rozhodování se jaký typ programovacího jazyka a samotného programu zvolím. OS jsou základním programem inteligentních mobilních zařízení, které vykonávají obsluhu zařízení a řídí přístup k jeho zdrojům. Každý výrobce řeší tyto problémy jiným způsobem. Taky je rozdíl v jejich rozšíření ve světě. V práci je proto kladen důraz na zhodnocení kladů a záporů jednotlivých OS. I sebelepší program určený pro nevhodný OS může skončit jako průměrný produkt. Druhá kapitola pojednává o programovacích jazycích. Programovací jazyky jsou nástroje, které umožňují člověku nadefinovat pomocí algoritmů a postupů, jak se má zařízení chovat. V krátkosti jsou shrnuty programovací jazyky pro OS, které nebyly vybrány v této práci. Podrobněji jsou popsány tři základní jazyky pro vybraný OS. Dále jsou uvedeny alternativy a jiné možnosti programování. Získání přehledu pak usnadňuje rozhodování volby nejvhodnějšího programovacího jazyku. Vhodnou volbou programovacího jazyku pro cílovou aplikaci je možné ušetřit čas, potřebný na jeho vývoj. Taky ne každý programovací jazyk je vhodný na daný typ aplikace. Práce tedy popisuje různé OS a programovací jazyky na tvorbu aplikací pro mobilní zařízení. V druhé části obsahuje příklad aplikace na vyhledávání souborů. Jedná se o jednoduchý vyhledávač souborů, který může být později rozšířen o komplexní vyhledávání současně v paměti a menu telefonu, a tak nahradí manuální hledání souborů a funkcí. Aplikace po zadání hledaného výrazu prohledá paměť a zobrazí cesty k jednotlivým výsledkům. Nalezené cesty k soborům aplikace umí použít a tedy soubor otevřít. Třetí kapitola popisuje samotnou aplikaci a k tomu použité součásti. Cílem je demonstrovat použití daného jazyka a naznačit možnost, jak řešit vyhledávaní v mobilním telefonu. Popsaná jednoduchá aplikace má možnost být dále rozšiřována o nové funkce a zpříjemnění ovládaní bez nutnosti měnit již napsaný zdrojový kód. Vyhledávání a selekce vhodných dat je v dnešní době, která je prosycena informacemi, klíčem k širšímu poznání. Proto jsou důležité i vyhledávací prostředky. A právě vyhledávání a selekce dat je v praxi aplikováno v třetí části práce, která popisuje možnosti získávání parametrů ze sítě GSM a jejich přehledné zobrazení. Ve čtvrté kapitole je rozebrána technologie GSM, zejména komunikace mezi mobilní stanicí a základnovou stanicí. Popisuje aktivní a pasivní hovorový mód prostřednictvím jejich parametrů. V poslední kapitole je navržena a popsána aplikace zaměřena na sběr popsaných parametrů ze čtvrté kapitoly. Cílem kapitoly je nejen navrhnout jednoduchou ukázku aplikace ve zvoleném jazyku ale i analýza možností získávání informací ze sítě. 11

1 OPERAČNÍ SYSTÉMY PRO MOBILNÍ ZAŘÍZENÍ Současně se vznikem nové třídy mobilních zařízení, takzvaných inteligentních telefonů (smartphone), byly vyvinuty operační systémy (OS) pro tyto zařízení. Právě OS je základním prvkem inteligentních telefonů. Umožňuje jednoduchou rozšiřitelnost o nové funkce a aplikace, a stejně tak synchronizaci s kompatibilním počítačem. Nové aplikace jsou schopny vytvořit z mobilního zařízení jak manažerský přístroj pomocí kancelářských aplikací, tak i multimediální zařízení, na kterém je možné sledovat video, poslouchat hudbu nebo hrát hry. Svými parametry se smartphone blíží osobnímu počítači. Nevýhodou těchto telefonů je naopak poměrně vysoká cena, velké rozměry a slabá výdrž baterie. Klasickým příkladem inteligentního telefonu je Nokia N95 (Obrázek 1 [http://www.mobileguerilla.com/images/nokia-n95-closed.jpg]). Obrázek 1: Nokia N95 Základním parametrem OS pro mobilní zařízení je tedy jejich možnost rozšíření o nové aplikace. Například souborové manažery na práci se soubory uloženými v paměti zařízení nebo na paměťové kartě, kancelářské balíčky na editaci a psaní dokumentů, vytváření tabulek nebo prezentací. Dále často obsahují zařízení na vytváření archívů, internetové prohlížeče, emailové manažery, multimediální přehrávače na přehrávání hudby a videa, hry a nebo Instant messaging klienty atd. Samozřejmě trh s operačními systémy je otevřený, a tak došlo k vývoji nových OS. Ty jsou stavěny buď jak mobilní verze OS pro počítače, nebo samostatné OS určené přímo pro inteligentní zařízení. Nejpoužívanější a nejznámější jsou Symbian od Symbian Ltd., iphone OS od Apple Inc., BlackBerry OS od RIM BlackBerry, Windows Mobile od Microsoft Corp., Linux, který nevyvíjí konkrétní společnost, PalmOS od Palm Inc. a Android od Google Inc. Vyjmenování začíná nejpoužívanějším a končí nejméně používaným pro první kvartál roku 2009. Představitelem inteligentního telefonu s PalmOS je například Palm Centro. Windows Mobile využívá například mobilní telefon HTC Touch Diamond. Se Symbian pracuje například už zmíněná Nokia N95, s OS Android T-Mobile G1 atd. [13] 12

1.1 PALMOS PalmOS je operační systém pro zařízení vyšší třídy vázané na danou platformu. Byl vytvořený v roce 1996. Primárně je určený pro zařízení PDA a používá se nejen v komunikátorech, ale i v náramkových hodinkách, kapesních hracích konzolách, čtečkách čárových kódů, anebo GPS zařízeních. Pracuje s dotykovým displejem, podporuje multimédia, paměťovou kartu a technologie Bluetooth, infračervený přenos a Wifi. OS dokáže v jednom okamžiku pracovat jen s jednou aplikací, což znamená, že nepodporuje skutečný multitasking. Při přepínaní aplikací se aktuální stav aplikace uloží a při jejím následném zvolení tak uživatel nepozná, že se aplikace spouští znovu. Tento fakt znamená, že OS má nízké nároky na paměť, výkon, a tedy i na výdrž baterie. Samozřejmě v dnešní době by byl tento model mírně omezující, a tak od verze 5 dokáže pracovat se dvěma rezidentními aplikacemi, což umožňuje například poslouchání hudby na pozadí. Aktuální verze PalmOS (Obrázek 2), která vznikla na konci roku 2006, nabízí tedy jednoduchý single-tasking upravený o možnost běhu některých aplikací na pozadí, nebo běh aplikací na celé obrazovce, přičemž podporované rozlišení začínají u monochromatických obrazovek a končí při barevných obrazovkách o rozlišení 480x320 obrazových bodů (pixelů). Využívá protokol TCP/IP. Dále pracuje s rozhraním Graffiti 2. Graffiti technologie umožňuje přes vrstvu, pracující na principu dotykového displeje, psát písmena a znaky, a tím urychlit psaní na zařízení. Na správu a synchronizaci mobilního zařízení s počítačem slouží technologie HotSync. Také umožňuje, jak už bylo uvedeno, přehrávání a nahrávání videa a audia. Bezpečnost zařízení je řešena zamknutím pomocí hesla a možností nastavit vybrané aplikace jako soukromé. Na komunikaci s okolím může využívat serial port, USB, IrDA, Bluetooth nebo Wifi. Paměť může být rozšířená o paměťovou kartu. Také kromě základních aplikací umožňuje práci i s aplikacemi třetích stran. [5] Obrázek 2: Přiklad UI pro PalmOS 13

1.1.1 Prvotní verze PalmOS Podobně jako jiné OS i PalmOS má několik generací. První verze PalmOS 1.0 a všechny verze do 5. generace jsou stavěny na jádře Dragonball (AXM 68000). V této verzi OS nerozlišuje mezi RAM a pamětí na ukládání souborů. Aplikace byly instalovány do paměti RAM. Jelikož systém nepodporoval přídavnou paměť, a jeho vnitřní paměť měla velikost od 0,5 MB do 1 MB, byl systém závislý od obnovovacích impulzů RAM, které udržovaly informace v paměti. Verze podporovala monochromatické displeje o rozlišení 160x160 pixelů. Komunikace s uživatelem probíhala přes rozhraní Graffiti nebo přes virtuální klávesnici. Na synchronizaci s PC se používal HotSync přes serial port. Obsahovala předem instalované aplikace Address (telefonní seznam), Date Book (kalendář), Memo Pad (poznámky), a To Do List (program pro práci s kancelářskými dokumenty). Ve verzi PalmOS 2.0 byla operačnímu systému přidaná práce prostřednictvím TCP/IP, síťový HotSync a podsvícení displeje. Objevily se aplikace jako Mail (poštovní klient) a Expense (správa financí). Verze PalmOS 3.0 spuštěna se zařízeními Palm III series přidává podporu IrDA a rozšířených fontů. Nabízí vylepšené předem instalované aplikace a vylepšené spouštění aplikací. Tato verze obsahuje několik podverzí. PamOS 3.1 přinesl minimum nových funkcí. Například větší podporu síťového HotSync. PalmOS 3.2 přidává Web Clipping, řešení umožňující práci se soubory na internetu ze zařízení, čímž se šetří jeho kapacity a paměť. V PalmOS 3.3 je zrychlený HotSync a je možnost použít jej i přes IrDA. Ve verzi PalmOS 3.5 je poprvé použita podpora 8bitových barevných displejů. Také zpříjemňuje ovládání menu, rozšiřuje Datebook. PalmOS 4.0 poprvé přidává podporu externí paměti, jako jsou například paměťové karty. Zásadně změnila práci s pamětí. RAM se využívá už jen na běh aplikací. Zavedena schopnost práce s rozhraním USB. Mobile Internet Kit, který pozůstává z Web Clipping a MultiMail (mailová schránka), je tu už součástí systému. MIK byl později k dispozici i pro PalmOS 3.5. Dále verze obsahuje nový manažer na koordinaci informací z různých aplikací a možností upozornit uživatele pomocí zvuku, blikání LED diody anebo vibracemi. Podporuje už 16bitovou barevnou obrazovku a různé časové zóny. Také je rozšířená bezpečnost. Ve verzi PalmOS 4.1 je později doplněno vylepšené rozhraní Graffiti 2 z PalmOS 5.2. 1.1.2 Současnost a PalmOS PalmOS 5 je už vystavěn na procesorech ARM. S aplikacemi pracujícími na základech Dragonball pracuje pomocí PACE emulátoru. Na nových základech systém teď běží spolehlivěji a rychleji. Objevuje se PalmSource Web Browser na prohlížení internetových stránek. Verze PalmOS 5.2 podporuje rozlišení 480x320. Je přidáno rozhraní Graffiti 2. Verze PalmOS 5.3 přidává podporu QVGA rozlišení. Následuje ještě stále poměrně hodně rozšířená verze PalmOS Garnet. Podporuje různé rozlišení displeje od 160x160 do 480x320 pixelů. Přidává knihovny pro Bluetooth. Jako poslední se zahájil vývoj Garnet OS 5.5 kompletně postavený na Linuxu. Někde se uvádí název ALP OS. Nikdy však nebyla vydána. Nejvyšší verze je Garnet OS 5.4.9. Palm OS Cobalt je další generací vyvíjenou před Garnet OS 5.5. Je to už moderní OS postavený na novém jádře podporujícím multitasking, práci s pamětí, multimediální a grafické programy a podobně. Dokáže pracovat s Bluetooth i Wifi. 14

V únoru 2009 bylo prezidentem a výkonným ředitelem společnosti Palm Inc. ohlášeno ukončení vývoje a podpory PalmOS a vydávaní nových přístrojů s tímto OS. Je však možné, že se tento OS objeví na zařízeních třetích stran. PalmOS v současnosti sice stále používaný, ale prakticky již mrtvý, můžeme považovat za OS, který určil směr, kterým se inteligentní zařízení budou ubírat. Společnost se chce dále věnovat pouze vývoji zařízení s Windows Mobile a WebOS. U WebOS jde o OS postavený na linuxu. Bude využívat běžné prostředky na vývoj aplikací, čím ulehčí vývojářům práci. Taky bude přizpůsoben moderním zařízením s dotykovými displeji apod. [5] [12] 1.2 WINDOWS MOBILE Windows Mobile je operační systém s integrovanou sadou základních aplikací pro mobilní zařízení postavený na Microsoft Win32 API. Dnes Windows Mobile běží na kapesních počítačích (Pocket PC), inteligentních telefonech, zařízeních Portable Media Center, ale i v automobilech. Je navržen tak, aby byl podobný stolové variantě Microsoft Windows. Samozřejmě je možné systém doplňovat o software třetích stran. OS měl původně jméno Pocket PC, ale v třetí generaci si změnil jméno na současné. OS Windows Mobile nezobrazuje jako uživatelské prostředí pracovní plochu, jak je to u stolní varianty, ale obrazovku Dnes (Today; Obrázek 3 [http://www.multicellphone.com/images/how%20to%20customize%20sliding%20pan el%20home%20screen%20in%20windows%20mobile%206.1%203.jpg]). Na obrazovce Dnes je zobrazený aktuální čas a datum, informace o uživateli, následující události, emailové zprávy a úkoly. Na dolní liště se nachází nabídka start a kontakty. OS dále obsahuje sadu Office mobile, která je ekvivalentem Microsoft Office a Outlook Mobile, pracující nejen s poštou, ale i s kontakty nebo úkoly. Také je integrovaný Internet Explorer Mobile, Windows Media Player, klient pro PPTP VPN na tvorbu privátních virtuálních sítí, a taktéž je integrovaný ICS, umožňující využívat služby telefonu prostřednictvím počítače. Obrázek 3: Příklad UI pro OS Windows Mobile 6.1 Standard Jak bylo uvedeno na začátku, tak Windows Mobile běží na několika typech zařízení. Původně byl ale vyvíjený pro Pocket PC. Ty se dělily na dvě skupiny, s integrovaným telefonním modulem, anebo bez tohoto modulu. Další platformou, kde přešel Windows Mobile, jsou inteligentní telefony. Ze začátku konstruované bez dotykových obrazovek, aby se dali dobře ovládat jednou rukou. Následující platformu 15

představoval Portable Media Center. Jedná se o multimediální zařízení zaměřené na zábavu, a proto byl kladen důraz na integrované Windows Media Center a Windows Media Player. V automobilech se Windows Mobile objevil nejpozději. Tam sdružuje mnoho funkcí jako například informace, komunikaci a také zábavu. Vychází ve dvou verzích. V základní je integrovaná Bluetooth a USB technologie na přepojení se zařízeními a přehrávání hudby. Ve standardní verzi je možnost připojení GPS modulu, GSM telefonu. Systémy pracují na procesorech ARM o frekvenci 300 MHz, 32 MB RAM a obsahují integrovaný mikrofon. [6][11] 1.2.1 Pocket PC verze Na začátku vývoje se OS pro mobilní platformy od Microsoft jmenoval Pocket PC. Pracovali na principech systému Windows CE 3.0 a byli graficky skromné. Neměli ještě standardní procesorovou architekturu, a proto využívali různých architektur (ARM, SH-3, MIPS, atd.). První verze OS nesla název Pocket PC 2000. Byl zčásti následovníkem systému pro Palm-Size PC. Unikátní zařízení, kde Microsoft dělal první pokusy s mobilní verzí jakéhosi OS. OS Pocket PC 2000 byl vyvíjen jen pro Pocket PC bez telefonního modulu, ale na několik zařízení Palm-Size PC se dal systém zpětně nahrát. OS podporoval jen rozlišení 240x320 bodů (QVGA). Podporoval také přídavnou paměť, konkrétně paměťové karty typu CompactFlash a MultiMediaCard, a možnost IrDA přenosu. Verze obsahovala Pocket Office (balík aplikací Pocket Word, Pocket Excel, Pocket Outlook), Pocket Internet Explorer, Windows Media Player, Microsoft Reader (program na čtení elektronických knih), Microsoft Money (správa financí), Notes (poznámky). Funkce Character recognition umožňovala systému učit se různé typy psaného písma. Následovala verze Pocket PC 2002. OS využíval jen rozlišení QVGA, ale pracoval už i v Pocket PC s telefonním modulem a poprvé se objevil i na inteligentních telefonech, zatím ve většině GSM. Zčásti uvolněné licenční podmínky vývojářům umožnili vyvíjet širší spektrum lepších programů. Také se objevila podpora témat a rozšířilo se uživatelské rozhraní. Mezi další nové prvky patří synchronizace složek, oprava chyb a počítání slov v Pocket Word, WAP v PIE, podpora VPN, MSN Messanger (IM manažer od Microsoft), terminálové služby umožňující ovládání a spravování vzdáleného počítače přes síť, Windows Media Player 8 s možností streamování, Microsoft Reader 2 s DRM, vylepšený Pocket Outlook a podporu pro PalmOS pro sdílení souborů. 1.2.2 Windows Mobile verze Od třetí verze se OS Pocket PC přejmenoval na Windows Mobile. Stejně tak je OS už postavený na jedné architektuře. Objevilo se tu dělení pro dané typy zařízení a každý druh vychází pod jiným podnázvem. První verze pod novým označením se jmenovala Microsoft Mobile 2003. Vyšla ve čtyřech podverzích. Windows Mobile 2003 for Pocket PC Premium Edition a Windows Mobile 2003 for Pocket PC Professional Edition pro Pocket PC bez telefonního modulu, Windows Mobile 2003 for Smartphone pro inteligentní telefony a Windows Mobile 2003 for Pocket PC Phone Edition pro Pocket PC s telefonním modulem. Oproti předešlým verzím je tu přidaná podpora Bluetooth na 16

komunikaci, přenos údajů a používání bezdrátového headsetu, také podpora přídavné klávesnice. Mezi aplikacemi byl přidaný manažer na prohlížení, úpravu a sdílení obrázků, další rozšíření Pocket Outlook, vylepšený PIE, Windows Media Player 9.0 s optimalizovaným streamovaním. Ve verzi Phone Edition ještě odpověď na SMS a podpora MIDI vyzváněcích tónů. O rok později vydaná verze Windows Mobile 2003 SE obsahovala ještě přidané funkce na přepínaní displeje na výšku a na šířku, na zobrazení internetové stránky v PIE v jednom sloupci, Wifi a také podporu více rozlišení displeje (VGA, 240x240 a 480x480 pixelů). Následovala verze Windows Mobile 5. Obsahuje přístup k službám Microsoft Exchange Server. Díky této verzi OS se zvýšila výdrž baterie tím, že energie z něj je přerozdělovaná rovnoměrně. Předtím byla víc než polovina vyhrazená na udržování dat v RAM. Stejně tak tu už není jako hlavní paměťové médium jen RAM, ale i flash paměť. Ve verzi je také přidaná funkce Adaption kit upgrades, prostřednictvím které probíhají aktualizace. Mezi aplikacemi je doplněn Windows Media Player 10 Mobile, nová verze Office pod novým názvem Office Mobile (Obsahuje PowerPoint Mobile, podporu grafů v Excel Mobile a podporu tabulek a grafů ve Word Mobile), identifikaci volajícího se zobrazením fotografie, podpora DirectShow, QWERTY klávesnic, rozšířená podpora Bluetooth, GPS rozhraní a hlášení chyb podobně jako v stolové verzi Windows. Na synchronizaci dat s počítačem přidává ActiveSync 4.2. Zatím poslední generace OS je Windows Mobile 6. Má tři různé podverze. Windows Mobile 6 Standard pro inteligentní telefony bez dotykové obrazovky, Windows Mobile 6 Professional pro Pocket PC s telefonním modulem Windows Mobile 6 Classic pro Pocket PC bez telefonního modulu. Je silně provázaný se službami Windows Live a Exchange 2007. Přinesl podporu Office mobile pro inteligentní telefony. Může pracovat na rozlišeních 320x320 a 800x480 (WVGA). Spolupracuje se službou Live Update. Pro Pocket PC vylepšuje dálkový přístup. Podporuje VoIP, rozšiřuje možnosti Bluetooth, kódování paměťových karet, stahování z internetu. Obsahuje vyhledávač v programech v zařízení. V Outlook Mobile přidává podporu HTML emailů. Internet Explorer mobile podporuje JavaScript, AJAX a XMLDOM. Je možné používat Microsoft SQL Server 2005 a.net Compact Framework. Office mobile 6.1 dokáže pracovat už s formátem dokumentů z Office 2007 (docx, xlsx, pptx). Také upravuje obrazovku Dnes i na horizontální provedení. Nejnovější verze Windows Mobile 6.5 obsahuje nový Internet Explorer Mobile, založen na IE6 engine, služby My Phone a Marketplace a Lock screen, která zobrazuje jen nejzákladnější informace. Obrazovka Dnes je významně změněna, aby bylo zařízení snadnější ovládat prostřednictvím dotykové obrazovky. Na snazší dotykové ovládání jsou zaměřeny i další změny. Windows Mobile 6.5 se objeví na nových zařízeních přibližně v druhé polovině roku 2009.[6][11][14] 1.3 ANDROID Andoroid (Obrázek 4 [http://www.sciam.com/media/inline/91052290-ce47-36c5-6628f34fc51e972c_1.jpg]) je softwarová platforma a operační systém pro mobilní zařízení, založená na OS Linux. Je nejmladší z uvedených OS a první zařízení, které s ním pracují, momentálně přicházejí na trh. OS začal vyvíjet Google sám, ale později vytvořil Open Handset Alliance. Aliance sdružuje momentálně 47 společností. Kromě jiných Intel, Qualcom, Nvidia, Motorola, HTC, Samsung, LG, 17

T-Mobile, Vodafone, Telefónica a samotný Google. Aplikace do OS se programují v programovacím jazyku Java ve vývojovém prostředí Android SDK. Z jiných jazyků můžou být neoficiálně aplikace konvertované do ARM nativního kódu. Android je OS s otevřeným zdrojovým kódem. Obrázek 4: T-Mobile G1 s OS Android Dnes OS Android nabízí konektivitu přes GSM, EDGE, CDMA, EV-DO, UMTS, Bluetooth a Wifi. Nepodporuje však IrDA. Při zobrazovaní si poradí s VGA, 2D grafickými knihovnami, 3D grafickými knihovnami založenými na OpenGL ES 1.0, ale i s klasickými formáty inteligentních telefonů. Na ukládání se využívá SQLite. Textovou komunikaci přes SMS a MMS dokáže řadit do vláken. Internetový prohlížeč je založen na Web-kit. Mezi multimediálními formáty pracuje s MPEG-4, MP3, AAC, OGG, AMR, JPEG, PNG, GIF. OS plně podporuje nahrávání videa prostřednictvím zabudované kamery, dotykový displej, GPS, akcelerometr, a akcelerovanou 3D grafiku. Obsahuje nativní podporu pro multi-touch, ale není využívána. Mezi základními aplikacemi v OS se nachází emailový klient, SMS program, kalendář, mapy, internetový prohlížeč, kontakty. V současné době se objevují snahy přesadit Android i na poli malých notebooků, takzvaných netbooků. Tato snaha je zejména ze strany společnosti Asus, kde by byl nahrazen OS Microsoft Windows XP. Také může Android obsluhovat například elektronický papír. Podobné testy a pokusy odkrývají potenciál tohohle OS a jeho možné široké uplatnění a rozšíření v budoucnu. [7] [15] 1.4 SYMBIAN OS Symbian ( Obrázek 6) je operační systém s otevřeným zdrojovým kódem, navrhnutý pro mobilní zařízení (inteligentní telefony). Doplňují jej knihovny, grafické uživatelské prostředí a další nástroje. Je následovníkem OS EPOC, který fungoval na zařízeních Psion s ARM procesory. OS je vyvíjen společností Symbian Ltd., která se zformovala uzavřením partnerství společností Ericsson, Nokia, Motorola a Psion. OS je strukturovaný podobně jako jiné stolové OS, teda obsahuje ochranu paměti a preemptivní multitasking. Zakládá si na třech principech. Nesmí se plýtvat časem uživatele, integrita a bezpečnost uživatelských dat jsou prioritou a jakákoliv aktivita je omezená. OS je optimalizovaný pro zařízení, které nemají silné baterie, tedy je vhodný 18

pro mobilní zařízení, a na systémy orientované na ROM. Je kladen důraz na to, aby se šetřili zdroje systému a také paměť. OS zabezpečuje, aby aplikace, které nejsou právě obsluhované, procesor odpojil. Tento systém správy procesů se nazývá Active objects. OS Symbian se skládá z několika vrstev (Obrázek 5). Nejvyšší je vrstva uživatelského grafického rozhraní, následuje vrstva aplikačních služeb, vrstva služeb OS (obsahuje komunikační služby, všeobecné služby OS, multimediální a grafické služby a služby na zabezpečení konektivity), vrstva základních služeb a nejnižší je vrstva služeb jádru a ovládání hardware. Vrstva základních služeb je nejnižší dosažitelná vrstva ze strany uživatele. Zahrnuje souborový server a uživatelské knihovny, rozhraní zásuvných modulů obsluhujících všechny zásuvné moduly, centrální úložiště, DBMS a kryptografické služby. Obsahuje také textovou konzolu (terminál), z které může být systém kompletně ovládán bez použití vyšších vrstev. OS je designovaný s důrazem na kompatibilitu s ostatními zařízeními, zvlášť na odnímatelné zařízení. Symbian OS, stejně tak jako předcházející systémy, se postupně vyvíjel a měl několik generaci. Na začátku nesl název EPOC a později změnil své jméno na současné. [4][8] Obrázek 5: Vrstvový model OS Symbian 1.4.1 EPOC verze Pro úplnost je ještě nutné dodat, že úplně první pokus o vytvoření jakéhosi OS se jmenoval Psion. Vznikl už v roce 1980. Teprve o víc jak deset let později se objevuje první verze tohoto OS se jménem EPOC16. Podporoval jednoduchý programovací jazyk OPL a IDE OVAL. Následovali EPOC OS Releases 1-4. 32bitové verze OS, a proto se označují také EPOC32 OS. Obsahovali grafické uživatelské rozhraní. Následující verzi EPOC Release 5, představenou na CeBIT v roce 1999, používalo více zařízení (Psion Series 5mx, Series 7, Psion Revo, net Pad, GeoFox One, Ericsson MC218, atd.), přesto však nešlo o komerční verzi. Dále se nedistribuovala a zpětně byla pojmenovaná jako Symbian OS 5. Poslední z těchto verzí se jmenovala ER5u. u v názvu znamená, že podporuje Unicode. Poprvé se použila na zařízení Ericsson R380, ale jelikož nešlo o otevřený telefon tak na něj nemohl být doinstalovaný žádny software. Několik později uvedených prototypů telefonů další generace s touto verzi OS nikdy nebylo vydaných. [8] 19

1.4.2 Symbian OS v6.0 aţ 8.1 V dalším vývoji se OS přejmenoval, i když se při první verzi s novým jménem ještě v některé literatuře můžeme setkat se jménem ER6. Systém se v tomto momentě začal ve velkém soustředit na třídu inteligentních telefonů. První telefon s novou generací tohoto otevřeného OS, Nokia 9210, byl představen v roce 2001. OS nesl název Symbian OS v6.0. Podporoval už i Bluetooth. Vývoj UI pro inteligentní telefony a komunikátory dělené ještě podkategoriemi vedli k dvěma hlavním UI, Quartz a Crystal. UI jsou označované i jako DFRD. S dizajnem Ronneby od Ericssonu vytvořený základ pro rozhraní UIQ se později přejmenoval na Nokia Series 80 UI. Následovali Sapphire, Ruby a Emerald DFRD. Do prodeje se dostal jen Sapphire, který změnil jméno na Pearl a nakonec na Nokia Series 60 UI. Poprvé se objevil na Nokia 7650 v Symbian OS 6.1. Stejně tak se tu poprvé objevila zabudovaná kamera s VGA rozlišením. Později se od DFRD upustilo, rozdělili se mezi firmy Nokia a Ericsson a Quartz byl přejmenovaný na QIU Technology AB. Důležitá verze OS je Symbian OS 7.0, protože právě od této verze se OS začal dělit podle uživatelského rozhraní na UIQ, Series 80, Series 90 a Series 60. Přidával podporu IPv6 a EDGE. Podpora programování v Java byla zaměřena na verzi Java ME. Verze Symbian OS 7.0s měla lépe řešenou zpětnou kompatibilitu s Symbian OS 6.x, částečně kvůli kompatibilitě komunikátora 9500 a 9210. V těchto verzích se vyskytuje i první červ, Cabir. Symbian OS 8.0 nabízel výběr ze dvou odlišných jader EKA1 a EKA2. Jádra se na uživatelské straně chovali velmi podobně, ale odlišně v přístroji. EKA1 měl dobrou kompatibilitu se staršími zařízeními a EKA2 bylo jádrem real-time. V těchto verzích se přidala podpora CDMA, 3G, obousměrný datový přenos, DVB-H, a OpenGL ES. Následující podverze nesla pro různá jádra odlišné názvy. Pro EKA1 Symbian OS 8.1a a pro EKA2 Symbian OS 8.1b. Verze b podporovala jednočipové zařízení, ale neobsahovala bezpečnostní vrstvu a nepodporovala instalaci otevřených aplikací. Verzi a používala Nokia N90. Poprvé se objevila N třída. V zabudované kameře se začalo používat optika Carl-Zeiss Tessar. Rozlišení měl 2 Mpx a možnost natáčet video ve VHS kvalitě. V tom čase používal obrovský displej s 352x416 pixelů. [8] 1.4.3 Verze 9.0 a novější Verze Symbian OS deváté generace jsou aktuální verze OS. První se jmenovala Symbian OS 9.0. Byla používaná jen pro vnitřní potřeby Symbian. Přestalo se tu rozlišovat mezi jádry a u EKA1 skončil vývoj. Systém vyřešil definitivně kompatibilitu s binárním kódem. Vevnitř systému se vykonalo více změn s ohledem na bezpečnost a nastavitelnost. Přechod na ARMv5 nezabraňoval ve zpětné kompatibilitě. Verze Symbian OS 9.1 přináší mnoho nových bezpečnostních vylepšení, naneštěstí dotáhnutých do takových rozměrů, že zabraňují používaní některých aplikací a omezují vývojáře. Verzi používají zařízení s S60 3rd Edition. V prvních vydáních se vyskytla kritická chyba, která způsobovala pád zařízení po odeslání několika sto SMS. Později se to u těchto zařízení vyřešilo malým programem. Přidaná je podpora Bluetooth 2.0. Symbian OS 9.2 se objevil na zařízeních s S60 3rd Edition Feature Pack 1 a přinesl podporu pro OMA Device Managment. Používají jej Nokia E90, E66, E63, E71, E51, N95, N82, N81, 6290, 6120 classic a Nokia 500. Verze Symbian OS 9.3 20

přináší upravenou správu paměti, podporu Wifi 802.11, HSDPA a některé další úpravy. Je přidávaná do nových zařízení jako Nokia N96 a Nokia N78. Verze Symbian OS 9.4 se poprvé objevila na zařízeních Nokia 5800. Stránkování je převzaté z verze 9.3, ale některé aplikace můžou běžet rychleji. Podpora SQL je zabezpečená SQLite. Symbian OS 9.5 přináší podporu pro mobilní digitální televizi v DVB-H a ISDB-T formáte. Jde o nejnovější verzi OS Symbian. [4][8] Obrázek 6: Příklad UI pro OS Symbian 1.5 JINÉ POUŢÍVANÉ OS Na trhu je, jak je popsáno v úvodě, ještě několik dalších OS. Nemá však smysl, a ani není cílem této práce popsat je všechny. Některé mají malý podíl na trhu, používají se jen v jistých částech světa, nebo jen na jistých zařízeních. Popsané jsou nejrozšířenější u nás a nejvhodnější k cílům této práce. Také jsou jakýmsi vzorkem stávajících OS pro mobilní zařízení. Pro úplnost jsi blíže nepopsané OS, alespoň stručně vyjmenujeme. Na zařízeních iphone je použitý iphone OS. Vyvinutý je společností Apple Inc.. OS úzce spojený s Java se jmenuje SavaJE OS. Je určený pro mobilní telefony vyšších tříd. BlackBerry OS je OS pro byznys třídu mobilních zařízení. V Číně má silné zastoupení OS Linux. Mezi OS ještě můžeme řadit i BREW (Binary Runtime Enviroment for Wireless), který je populární hlavně v Severní Americe. Vyvinutý je společností Qualcomm Inc. 1.6 POROVNÁNÍ OS Podle výše uvedených faktů a parametrů jednotlivých OS je sestavená následující tabulka (Tabulka 1), ve které jsou porovnávané vlastnosti zajímavé pro tuto práci. V položce displej jsou uvedeny podporované rozlišení displeje, v ovládání jsou zahrnuty možnosti a složitost jeho ovládání. Položka programy hodnotí podporu programů třetích stran. V programovacím jazyku se rozumí programovací jazyky, ve kterých je možné tvořit aplikace pro daný OS. Rozšířenost hovoří o celkové a tuzemské rozšířenosti OS na mobilních zařízeních. A v neposlední řadě v položce zařízení je uvedeno s jakým typem zařízení si OS nejlépe rozumí. 21

Tabulka 1: Tabulka parametrů daných OS OS Displej Ovládání Programy Prog. jazyk PalmOS do 480x320 px dotykový - primárně QWERTY - sekundárně alfanumerické - funkční tlačítka - dotykové - několik aplikací považovaných za základné/ jádrové - víc jak 50000 dalších, od opensource, uzavřených až po placené - C/C++ - kompilátory CodeWarrior, PRC-tools - teoreticky možnost programovat v jakémkoliv jazyku - rozšířený především na vlastních zařízeních - omezená rozšířenost daná rozšířeností daných zařízení - výskyt na zařízeních Palm Windows Mobile do 800x480 px dotykový - QWERTY - alfanumerické - funkční tlačítka - dotykové - běžná podpora cizích aplikací - licencované, neoficiální i malé aplikace - Visual C++ -.NET Compact Framework - Internet Explorer Mobile - možnost použití SDK Android 480x320 dotykový - QWERTY - funkční tlačítka - dotykové (T-mobile G1) - systém je silně zaměřen na podporu cizích aplikací - Java - možnost použití SDK Symbian 360x640 px 800x352 px dotykový - QWERTY - alfanumerické - alternativní - funkční tlačítka - dotykové - několik opensource aplikací speciálně pro Symbian OS - OS není otevřený, ale poskytuje části svého zdrojového kódu vývojářům - certifikuje cizí software - C++ - OPL - Python - Visual Basic - Simkin - Perl - možnost použití SDK - čtvrtý - největší světový nejrozšířenější na - nově vyvinut podíl na trhu (Q3 světě (Q3 2008) - předpoklad 2008) - celosvětová nárůstu podílu na - celosvětová rozšířenost trhu s novými rozšířenost Rozšířenost - silné zastoupení zařízeními - v Japonsku slabá v Asii - zatím jenom na pozice - silná pozice zařízení T-Mobile - nejrozšířenější v zařízeních Palm G1 na zařízeních a HTC NOKIA Zařízení PDA smartphone smartphone smartphone Je zjevné, že pro cíle této práce je nejvhodnější OS Symbian. Největší kritérium jsem totiž kladl na rozšířenost u nás, protože je cílem naprogramovat aplikaci s co nejširším uplatněním. Stejně tak výběr OS podtrhuje zaměření na inteligentní telefony. O jednoduchosti programovacích jazyků je možné podle různých kritérií diskutovat, ale vzhledem na to že například Python for S60 vydává samotná Nokia, se opět jeví OS Symbian jako nejvhodnější. Podpora programů třetích stran, rozlišení displeje a ovládání je u porovnatelných zařízení porovnatelné. 22

1.7 SERIE SYMBIAN OS Podle objektivních parametrů jsem pro tuto práci vybral tedy Symbian OS. Pro úplnost ale třeba ještě popsat jeho několik distribuovaných verzí a stejně tak vybrat nejvhodnější. Symbian OS se podle sérií může dělit na Series 60, S60 3rd Edition, UIQ, UIQ 3, N-Gage, Series 80, Series 90. Každá je určená pro odlišný typ zařízení, i když se stále jedná o inteligentní telefony. Series 60 je vlastně původní název pro sérii nyní označovanou S60. Od třetí edice ale nastalo několik změn a můžeme ji považovat za částečně samostatnou sérii. S60 je tedy softwarová platforma nebo uživatelské rozhraní pro mobilní zařízení s OS Symbian. Momentálně je nejrozšířenější platformou na světě, protože je použitá na největším počtu zařízení. Pozůstává ze sady knihoven a standardních aplikací jako například telefonie, jádrové programy, a multimediální přehrávače. Vývoj nových aplikací je možný pomocí Java MIDP, C++, Python a Adobe Flash. Podporuje Java a Symbian C++ aplikace a má několik standardizovaných tlačítek. Tlačítko menu, levé a pravé funkční tlačítko, joystick a clear tlačítko. S60 má 4 edice. Series 60, Series 60 Second Edition, Series 60 3rd Edition a S60 5th Edition. Každá edice ještě může mít několik Feature pack -ů, podle kterých se liší. V první edici S60 bylo rozlišení displejů pevně stanovené na 176x208 pixelů. Od druhé edice Feature Pack 3 už systém podporuje různé rozlišení. Třetí edice není binárně kompatibilní s předešlými a při instalaci nových aplikací vyžaduje certifikát. V říjnu 2008 byla spuštěná S60 5th Edition, která už podporuje dotykové displeje a přináší několik dalších menších změn. Series 80 je určená pro firemní a profesionální telefony Nokia. Jde o UI Crystal. Používá displej o rozlišení 640x200 px a QWERTY klávesnici. Podporuje práci s kancelářskými dokumenty, SSL/TLS, VPN a obsahuje integrovanou myš na navigaci a kompletní webový prohlížeč. Používají jej telefony Nokia 9210, 9210i, 9290, 9300, 9300i a 9500. Series 90 je používaný momentálně jen na zařízení Nokia 7710. Je stavěn na Psion Eion GUI Series 5, 5mx,7 a netbook. Podporuje dotykovou obrazovku. Je nekompatibilní s UIQ a Series 60. N-Gage je platforma založená na Series 60 určená pro hry a multimédia. Spojuje kapesní herní konzolu a mobilní telefon. UIQ je poslední platformou Symbian OS. UI je nazývané také Quartz. Podporuje aplikaci třetích stran, které můžou být psané v C++ a též Java aplikace. Verze 2.x a 3.x jsou určeny pro zařízení 2.5 a 3 generace s perem. Podporují dotykové obrazovky o rozlišení 208x320 a 240x320 px. Má jednotný SDK model a dobrou podporu vývojových nástrojů. Stejně jako u série 60 přinesl UIQ 3 několik větších změn, a proto je uvedený jako jakási další verze. V UIQ 3 se vyřešil problém se současnou podporou dotykových a obyčejných displejů, byla přidaná možnost stahovat mediální soubory přes webový prohlížeč a podobně. UIQ používá hlavně značka Sony Ericsson (např. modely P800, P910, M600, W9600), ale i Motorola (např. A1000), Benq (např. P30), Nokia (6708) a další. [4] 23

1.7.1 Výběr verze OS Symbian Na základě výše uvedených skutečností jsem tedy vybral Series 60, protože má největší podporu ze strany společnosti Nokia, jejíž telefon budu používat. Series 80 se používá jen na několika poměrně zastaraných komunikátorech a Series 90 dokonce jen na jednom zařízení. UIQ jsem vyloučil z důvodu menší podpory ze strany Nokia. Některé další rozdíly mezi Series 60 a UIQ popisuje článek http://www.fony.sk/index.php?podstranka=recenzie&cislo_kategorie=15&cislo_clanku =571. 24

2 PROGRAMOVACÍ JAZYKY Programovací jazyk je nástroj na zápis algoritmů a postupů, prostřednictvím kterých se potom zařízení, nejčastěji počítač, chová. Algoritmus napsaný v programovacím jazyku se nazývá program. Překladač, který slouží na překlad z programovacího jazyka do zdrojového kódu tak, aby jej pochopil počítač, se jmenuje kompilátor. Forma programu srozumitelná pro člověka nese název zdrojový kód. Byly vytvořené na přesný, jednoznačný a systémový opis daného algoritmu. Mají vlastní gramatiku a syntax, kterou je nutné vždy dodržet. Množství programovacích jazyků vychází z anglického jazyka, a tak i jména příkazů nebo konstant jsou často anglické, případně odvozené z angličtiny. Programovací jazyky se navzájem liší mnohými způsoby a je možné je dělit podle různých kritérií. Například na nižší, pracující s elementárními operacemi, a vyšší, kterých je dnes většina. Dále je můžeme rozlišovat podle toho, zda při překladu a spuštění jsou kompilované, nebo implementované. Jestli se přímo překládají do zdrojového kódu. Jazyky mohou tyto skupiny kombinovat, anebo vycházet ve verzích pracujících odlišně. Vyšší programovací jazyk se ještě dále dělí na procedurální a neprocedurální. Procedurální může být strukturovaný, kde se jeden celek rozdělí na dílčí úlohy, nebo objektově orientovaný pracující s objekty. Neprocedurální programovací jazyk může být funkcionální, prakticky funkce s vstupními parametry a jedním výstupem, nebo logický, který používá matematickou logiku. 2.1 PALMOS, WINDOWS MOBILE, ANDROID Všechny z uvedených operačních systémů více či méně podporují vývoj nových aplikací třetích stran a používají k tomu různé prostředky. Buď volbou vhodného programovacího jazyku, nebo připravením dobrého rozhraní na samotnou tvorbu. V případě, že by se někdo chtěl věnovat jinému OS, než je vybrán v této práci, jsou v následujících stručných odstavcích vyjmenované jejich možnosti. Pro PalmOS se používá jazyk C++ a kompilátory CodeWarrior a PRC-tools. Vlastnosti a možnosti C++ jsou popsané níže v samostatné kapitole. CodeWarrior je vývojové prostředí (IDE) pro Macintosh, Microsoft Windows, Linux, Solaris a jednoúčelové systémy. V mírně upravené podobě jako speciální verze je určen pro Sony PlayStation2, Nintendo, GameCube, Nintendo DS, PalmOS a Symbian OS. Jeho jádrem je C a C++ kompilátor. Verze ale mohou obsahovat kompilátory Pascal, Object Pascal, Objective-C a Java. Je to poměrně drahý komerční produkt. Alternativou mu je prostředí PRC-Tools. Pozůstává z kolekce GNU kompilátorů, assembleru, linkeru a symbolického debuggru. Dále modifikace nástrojů na podporu funkcionality samotného PalmOS, nástroje pro práci se soubory.prc a dokumentaci k uvedenému. Je open-source a proto je u nás rozšířený. Na vývoj nových aplikací Windows Mobile používá Visual C++. Ve spolupráci s vývojovým nástrojem Visual Studio pracuje Microsoftem vydáván SDK. Dokáže emulovat aplikace už v průběhu jejich tvorby. Microsoft Visual C++ je IDE vyrobeno přímo Microsoftem pro C, C++, C++/CLI. Obsahuje nástroje na vývoj a debugging kódu C++, obzvlášť pro Microsoft Windows API, DirectX API a rámec Microsoft.NET. 25

Při představovaní nového OS Android, se hovořilo o vytváření aplikací v Java. Dnes se však prakticky využívá Android SDK integrující všechny důležité nástroje na vývoj. Obsahuje debugger, knihovny, emulátor, dokumentaci, příklady jednoduchých programů, a návody. Podporuje vývoj na OS Linux, Mac OS X, Windows XP nebo Vista. Dále obsahuje Java Development Kit, Apache Art a Python. Oficiální IDE je Eclipse, používající Android Development Tools. Java a XML soubory může vývojář editovat v prakticky jakémkoli textovém editoru. Na tvorbu svých aplikací může být v neposlední řadě použit také příkazový řádek. [7] 2.2 PROGRAMOVACÍ JAZYK C++ C++ je objektově orientovaný programovací jazyk střední úrovně. Spojuje některé prostředky z vyšších a nižších úrovní. Podporuje procedurální programování, datovou abstrakci, objektově orientované programování a generické programování. Vznikl jako vylepšení jazyka C a současné jméno vzniklo po přejmenování se z C with Classes (C s třídami). Při jeho vývoji byli nejprve přidané třídy a následně, kromě jiného, další funkce dělající z něj moderní programovací jazyk. Mezi jinými, virtuální funkce, překrývání operátorů, vícenásobná dědičnost, šablony a ošetření výjimek. V současnosti je jedním z nejrozšířenějších programovacích jazyků. Je standardizovaný jako ISO/IEC 14882:xxxx, přičemž xxxx značí rok vydání standardu. Má široké možnosti na uplatnění. Například jako programovací jazyk videoher, systémového software, ovladačů zařízení, klientských aplikací a podobně. [1] 2.2.1 Základní principy Tak jako jakýkoli jiný i tento jazyk je možné v základě popsat několika pravidly nebo principy. Ty dovolí pochopit práci a funkci jazyka. Základním principem je to, aby byl C++ kompatibilní s jazykem C v maximální možné míře. Dalším důležitým principem je, že funguje bez složitého programovacího prostředí. Musí být efektivní a lehce přenositelný jako C. Je jazykem se statickou typovou strukturou. Je navržen, aby co nejšíře podporoval různé programovací styly. Například procedurální programování, datovou abstrakci, objektově orientované programování a generické programování. Dále dává programátorovi možnost výběru. Dokonce má možnost rozhodnout se i nesprávně. C++ se vyhýba platformově závislým, nebo neuniverzálním prostředkům. Řídí se principem nulové režie nepoužitých prostředků. 2.2.2 Vývoj Prvotním cílem vývoje programovacího jazyka C++ bylo rozšíření jazyka C o črty, jako měl Simula, programovací jazyk zaměřen na programování simulačních programů. C byl vybrán kvůli své rychlosti, portabilitě a všeobecnému použití. Kromě těchto dvou jazyků C++ vycházel také z programovacích jazyků ALGOL 68, Ada, CLU a ML. Pomocí nástroje Cfront byly postupně přidané třídy, dědičnost tříd, silná typová kontrola, inline funkce a standardní hodnoty jazyka C. V roce 1985 je poté vydaná první verze. V roce 1983, ještě před samotným vydáním první verze, se objevili virtuální funkce, přetěžování funkcí a operátorů, konstantní proměnné, reference, zlepšená typová 26

kontrola a psaní komentářů za dvě lomítka. V roce 1989 přibyly vlastnosti jako vícenásobná dědičnost, abstraktní třídy, funkce třídy, konstantní členské funkce, neveřejné funkce. V pozdějších vydáních potom ještě doplněné například šablony, výjimky, měnné prostory, přetypování a datový typ boolean. 2.2.3 Knihovna C++ S postupným vývojem jazyka se vyvíjeli a přidávali i knihovny. První přidaná knihovna byla knihovna vstupně-výstupních operací jazyka. Velmi významnou je později přidaná STL. Současný standard C++ se skládá z jazykového jádra a C++ standardní knihovny. STL je z velké časti obsáhnuté v C++ standardní knihovně. Také obsahuje standardní knihovnu jazyka C a samozřejmě ještě mnoho jiných knihoven. Nové knihovny se mohou psát například i v samotném C, nebo jazycích Fortran, Pascal a Basic. Standardní knihovna obsahuje nástroje jako kontejnery, iterátory, asociativní pole (multimapy), multimnožiny. S použitím šablon je možné napsat generické algoritmy pracující s libovolným kontejnerem, nebo libovolnou postupností definovanou iteráty. 2.2.4 Rysy jazyka Jazyk C++ má několik rysů, kterými se odlišuje, nebo právě podobá jiným programovacím jazykům. Zásadním rysem je přetěžování funkcí a operátorů. Umožňuje deklarovat víc funkcí se stejným názvem. Správné použití se potom určí podle počtu a typů parametrů. Přetěžování operátorů nemění jejich váhu při výpočtech a také počet jimi používaných operandů. Dalším rysem jsou šablony. Umožňují generické programování. Kód může být napsán s neurčitým datovým typem. Neméně důležitým rysem jsou objekty. Jsou to instance tříd vytvořených při běhu programu. Poskytují čtyři vlastnosti. Abstrakci, enkapsulaci, dědičnost a polymorfizmus. Dědičnost je jednou ze základních výhod objektově orientovaného programování. Umožňuje definovat nové třídy na základě jiných, už definovaných tříd. Zmenšuje se tak množství kódu, protože některé funkce a proměnné definované ve vyšší třídě je možné použít. Dědění může být veřejné, neveřejné a soukromé. Zabezpečuje se tak přístupnost a viditelnost vlastností pro jiné oblasti kódu. Základní třídy mohou být deklarovány jako virtuální, a tehdy mluvíme o virtuálním dědění. Také je možné mnohonásobné dědění umožňující třídění, aby byla odvozená z vícera základních tříd. Enkapsulace je vlastně skrývání informací. Dovoluje členům třídy, aby mohli být deklarovány veřejně, neveřejně a soukromně. Veřejný člen je dosažitelný jakoukoliv funkcí. Neveřejný člen je dostupný jen funkcemi v dané třídě nebo funkcemi s přístupovými právy od dané třídy. Soukromý člen je dosažitelný těmi členy třídy, kteří jsou zdědění. Programovací jazyk toto dělení podporuje, ale nevyžaduje. Polymorfizmus dovoluje běžnému rozhraní víc implementací a objektům chovat se odlišně v odlišných podmínkách. C++ obsahuje několik druhů polymorfizmu. Statický, který nedovoluje rozhodovat při běhu, a dynamický, který má chyby při vykonávání funkcí. Statický polymorfizmus se blízko dotýká přetěžování funkcí, tak jak bylo popsané výše. Dynamický polymorfizmus má dvě vlastnosti dědičnosti a funkce virtuálních členů. Při dědičnosti se jedná o to, že přeměnné ukazovatele základní třídy mohou ukazovat na jakoukoli z něj vytvořenou třídu tohoto typu. Umožňuje to kontejnerům obsahovat ukazovatele na objekty různých typů. Funkce virtuálních členů umožňují specifičtější implementaci volaných funkcí, podle aktuálního typu objektu. 27