Bevezetés, platformok. Léczfalvy Ádám leczfalvy.adam@nik.bmf.hu

Hasonló dokumentumok
Mobil készülékek programozása

MOBIL PLATFORMHÁBORÚ. Török Gábor

Mobil eszközök programozása Mivel is kezdjem?

Mobil eszközök programozása Mivel is kezdjem?

Infokommunikációs alkalmazásfejlesztő. Informatikai alkalmazásfejlesztő

ÓBUDAI EGYETEM Neumann János Informatikai Kar Informatikai Rendszerek Intézet Témavezető: Bringye Zsolt

Fejlesztési tapasztalatok multifunkciós tananyagok előállításával kapcsolatban Nagy Sándor

Mobilplatformok Merre tart a világ? Kis Gergely MattaKis Consulting

Mire nem jó egy telefon!

Touch me - az Iphone világsikerének titkai

Bártfai Barnabás HÁLÓZATÉPÍTÉS OTTHONRA ÉS KISIRODÁBA

Elektronikus Szolgáltatások Hirdetménye. Érvényes: május 24-től

Mobil operációs rendszerek. Készítette: Kisantal Tibor

iphone és Android két jó barát...

Fejlesztői szemmel at K

MobileMapper 6 Megfizethetı GIS/GPS amibıl semmi sem hiányzik

Tarantella Secure Global Desktop Enterprise Edition

COCKEREL felügyelet. Tartalomjegyzék. 7+ Számítógép Hálózati Kft.

Alkalmazás boltok. Android Market, Apple AppStore, WP7 MarketPlace Cserna Bence, Paksy Patrik

Csatlakozás az IBM i rendszerhez IBM i Access for Windows: Telepítés és beállítás

Kétszemélyes játék Bluetooth kapcsolaton megvalósítva

Mindig tiéd az irányítás!

Értékesítési logisztika az IT-alkalmazások markában

Hatékony kétmagos teljesítmény a ma és a holnap üzletemberei számára

Internet-hőmérő alapkészlet

A z é r i n t ő k é p e r n y ő.

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Az alábbi táblázatokban megtalálhatók a kézzel elvégezhető beállítások.

Mellékelten továbbítjuk a delegációknak a D038863/05 számú dokumentumot.

Vezeték nélküli eszközök (csak egyes típusokon) Felhasználói útmutató

Vezeték Nélküli Hordozható Pénztárgép

Mobil szolgáltatások és alkalmazások fejlesztése

Információ-architektúra

Végpont védelem könnyen és praktikusan

Java I. A Java programozási nyelv

Book Template Title. Author Last Name, Author First Name

Bluetooth és a GPS technológia bemutatása. Készítette: Szentesi Szabolcs Neptun kód: DUOQTK

Bevezetés a Symbian operációs rendszerbe

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet Szedjük szét a számítógépet 2.

MSP4 A lega tfogo bb ipari mobil eszko zmenedzsment megolda s

Felhasználói kézikönyv

Operációs rendszer ismeretek

Rendszerterv. 1. Funkcionális terv Feladat leírása:

AUGMENTED REALITY KITERJESZTETT VALÓSÁG TARTALOMJEGYZÉK. Czéhner Tamás

Szoftveripar és üzleti modellek

TANÚSÍTVÁNY (I-ICZRT08T_TAN) MELLÉKLETE

Gyümölcsöző megoldások

A NYELV NEVE. Kezdetben: Oak. James Gosling. Java: Sun Mycrosystems védjegyev

CLICK ON... Termékismertető

Mobil operációs rendszerek. Hidasi Balázs Szendrei Gábor

Mobil alkalmazások fejlesztése

Rendszertervezés 2. IR elemzés Dr. Szepesné Stiftinger, Mária

Súlya: 66g Színes, grafikus kijelző GPRS WAP WAP, MMS. Mp3 lejátszó Infravörös port, Bluetooth. Diktafon, Kihangosítás. Súlya: 81g GPRS WAP, WAP, MMS

Nyílt forráskódú szoftverek a geodéziai gyakorlatban. dr. Siki Zoltán BME Általános- és Felsőgeodézia Tanszék siki.zoltan@epito.bme.

Informatikai füzetek

IP Thermo. IP Thermo 25,2 C 27,01 C 51,5 % Netről vezérelhető intelligens klíma-felügyeleti rendszer

Vezeték nélküli eszközök (csak egyes típusoknál) Felhasználói útmutató

Amazon Web Services. Géhberger Dániel Szolgáltatások és alkalmazások március 28.

Ubuntu Desktop a zsebedben

.NET Microsoft.Net Framework

A CAD hardver eszközei / 2.

A GOP

Vodafone készülék árlista kiemelt ügyfeleink részére. Vodafone Power to you

Mobil hirdetés: Minden másként van... (?) Vértes János

ASZTALI DIGITÁLIS VIDEÓRÖGZÍTİ EVD-04/025A1MJU FELHASZNÁLÓI KÉZIKÖNYV

MC35. Vállalati digitális asszisztens

Mobil alkalmazások fejlesztése

Nokia Felhasználói kézikönyv

Szükséges ismeretek: C programozási nyelv; mikrokontrollerek; méréstechnika; analóg és digitális elektronika; LabView

BT-R800 Használati utasítás BT-R800 Wireless GPS Egység Használati utasítás Dátum: Szeptember, 2006 Verzió: 1.1

Információs szupersztráda Informatika. Hálózatok. Információ- és tudásipar Globalizáció

Bevezetés. Kiknek szól a könyv?

Procontrol Clienter ügyfélhívó rendszer általános leírása

Címtár Felhő Projektfeladat specifikáció

Kommunikáció és csatlakoztathatóság

Nokia E75 - Felhasználói kézikönyv. 3. kiadás

Fábián Zoltán Hálózatok elmélet

OZEKI Phone System. 4 elengedhetetlen szolgáltatás a jövőbeli vállalati telefonos rendszerek számára. A jövő üzleti telefon rendszere SMS

Közösség, projektek, IDE

elearning mindenkinek, mindenkor, mindenhol

KÉPZETT VILLANYSZERELŐ SZAKEMBER

Budapesti Műszaki és Gazdaságtudományi Egyetem Távközlési és Médiainformatikai Tanszék. TDK dolgozat

TÉRINFORMATIKA AZ INTERNETEN

Prezentáció és csoportmunka csúcsa

Vodafone készülék árlista kiemelt ügyfeleink részére május

A Trimble térinformatikai GPS eszközei

Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.

Flex: csak rugalmasan!

IT TERMÉKEK TANÚSÍTÁSA

VGN-TT21XN/B. Extrém stílus és hordozhatóság

Főbb jellemzők INTELLIO VIDEO SYSTEM 2 ADATLAP

Az informatika alapjai. 10. elıadás. Operációs rendszer

Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.

Mobil Üzleti Intelligencia

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

8,0 MP hátlapi, LED vakuval. - micro SD kártyaolvasó - 1db USB 2.0 a táblagépen - 2db USB 2.0 a billentyűzeten. - fényérzékelő - giroszkóp

TALK 5H HASZNÁLATI ÚTMUTATÓ

Java I. A Java programozási nyelv

TÁJÉKOZTATÓ A BERLITZ NYELVISKOLA ONLINE NYELVTANFOLYAMAIRÓL

Ft Ft Ft AKÁR INGYENES SZÁLLÍTÁSSAL! 15, Ft USB 3.0

Átírás:

Bevezetés, platformok Léczfalvy Ádám leczfalvy.adam@nik.bmf.hu

Mobil készülékek és tulajdonságaik A mobil eszközök programozása, kihívások, nehézségek Mobilprogramozási platformok Java Micro Edition.NET Compact Framework Python Symbian OS iphone OS 2

Mit nevezünk mobil készüléknek? Olyan készülék, amely: Akkumulátorról üzemel Támogat valamilyen vezeték nélküli technológiát Rendelkezik valamilyen felhasználói felülettel (pl. gombok, érintőképernyő) Korlátozott képességű hardverrel rendelkezik 3

Kis méret Kis tömeg Gyenge processzor Kis méretű memória Kis méretű képernyő Korlátozott adatbeviteli lehetőségek Erősen korlátozott energiafogyasztás 4

Notebook Tablet PC Kisméretű ipari PC Hordozható célra készült alaplapok, CPU-k (pl. Intel Atom) 5

Mobiltelefon Alapvető funkciók, amelyek egyre bővülnek SmartPhone Széleskörű üzleti funkciók Számos kommunikációs protokoll támogatottsága 6

PDA, Pocket PC Szervezői funkciók támogatása Érintőképernyő Bizonyos változatok telefonálást is lehetővé tesznek Egyéb intelligens hordozható eszközök PNA GPS vevőkészülék 7

A korlátozott képességekkel rendelkező mobil eszközökre történő alkalmazás fejlesztés Területei: Mobil tartalomszolgáltatás (WAP) Egy hagyományos informatikai rendszer és egy mobil eszköz összekapcsolása A mobil eszközön futó alkalmazásfejlesztése 8

Eleinte csak operációs rendszer, nem volt lehetőség más szoftver telepítésére Csak a profi szakemberek tudtak mobilalkalmazást készíteni A PDA-k voltak az első, külső fél által programozható mobil eszközök A gyártók reagáltak a igényekre és később mobiltelefonokra is lehetővé tették a fejlesztést Ma már alig van olyan készülék, amelyhez ne létezne fejlesztői eszköz 9

Különböző technológiájú eszközök Hordozható számítógép, PDA, mobiltelefon Egyes eszközök ugyanazt a technológiát másképp támogatják (pl. böngészés) Sokféle kommunikációs csatorna, különböző sávszélességgel Bluetooth, Infra, WLAN, SMS, TCP/IP Felhasználás területe Kereskedelem, szállítás, támogatás, marketing Felhasználás helye Munkahely, vevő telephelye, repülőtér, repülő, utazás közben, otthon 10

Gyakran más szemléletmódot követel, mint a PC-n történő alkalmazás fejlesztés A különböző platformok sajátosságai miatt egyedi fejlesztési technikák szükségesek Sajátos hardver és szoftver architektúra, amelyet ismerni kell hatékony alkalmazások készítéséhez A eszközök hardver korlátai 11

Az eszközök korlátai miatt nehezebb jó alkalmazást készíteni Felhasználóbarát, áttekinthető, dizájnos GUI tervezése a korlátozott méretű kijelzőre Erőforrás korlátok Processzor Memória Tároló kapacitás A felhasználói input biztosítása különféle eszközök esetén 12

A különféle platformok eltérő eszköztámogatottsággal bírnak Népszerűség, elterjedtség Az alkalmazott platform tartalmazza a futtatáshoz és a fejlesztéshez szükséges eszközöket Bizonyos platformokon könnyebb fejleszteni, ám korlátozottabb az elérhető funkciók köre, másokon nehezebb a fejlesztés, de sokkal több funkció érhető el 13

A mobil eszköz operációs rendszere alá Palm OS Symbian OS Windows XP Embedded/Windows CE (Windows Mobile) Linux OS Binary Runtime Environment for Wireless (BREW) A mobil eszközön található futtató keretrendszer alá J2ME.NET Compact Framework Python 14

Alapvető koncepciók: Programozási nyelv Gyakran korlátozzák a nyelv szabványos eszközkészletét Kódkönyvtárak (osztálykönyvtárak) Az alapfunkciókat bővítő eljárások (osztályok) Fejlesztői eszközök Fordítóprogram Szimulátor Egyéb eszközök 15

Platformok összehasonlítási szempontjai: Programozási nyelv Elérhető funkciók Az adott eszközre vonatkozóan annak minden funkcióját el tudjuk-e érni? A fejlesztés gyorsasága Mennyire könnyű elsajátítani az adott platformra vonatkozó ismereteket? Gyorsan lehet programozni az adott platformon? Támogatott eszközök száma A piacon kapható eszközök közül mennyi támogatja? 16

C++ leváltására szolgáló nyelv Objektum orientált Többszálúság Garbage Colletion Hálózati kommunikáció támogatása Platform függetlenség Byte-code (köztes kód) Futtatás a Java Virtual Machine segítségével Interpreter üzemmód 18

A platformfüggetlenség csak részben igaz Eltérő piaci igények vannak J2EE: szerveroldali, illetve web- fejlesztésre szánt változat J2SE: asztali PC-kre szánt verzió J2ME: mobil eszközökre szánt verzió, a J2SE részhalmaza, a korlátokhoz alkalmazkodik Java Card: SmartCard-okhoz készült változat 19

A legelterjedtebb mobilszoftver-platform A ma kapható készülékek szinte kivétel nélkül támogatják Java nyelv A speciális hardvert és funkciókat nem használó alkalmazások könnyen elkészíthetők A speciális funkciók (pl. Bluetooth) csomagok segítségével érhetők el (az eszköznek a csomagot támogatnia kell!) Csak szekvenciális fájlelérés 20

Ingyenes Nyílt forráskódú Virtuális gép és csomagok Fejlesztőkörnyezetek: NetBeans IDE JBuilder Eclipse A fejlesztési ismereteket viszonylag könnyen el lehet sajátítani Átlagos fejlesztési gyorsaság 21

Különböző képességű eszközök memória, feldolgozási idő, hardver, megjelenítés szempontjából Konfigurációkat definiáltak, amely meghatározza a legalapvetőbb közös tulajdonságokat További csoportosítást tettek lehetővé a profilok alkalmazásával Opcionális csomagok a speciális funkciókhoz 22

Több programozási nyelv támogatása C#, Visual Basic IL (Intermediate Language) nyelvre forduló programok A Runtime(virtuális gép) az IL kódot futtatja JIT technológia A teljes.net keretrendszer részhalmaza Mobil eszközökhöz készült osztálykönyvtár bővítmények 24

Az eredeti.net Framework fontosabb osztályai és azok metódusai elérhetők Pl. System.Windows.Forms Mobiltelefonokon csak Windows Mobile-ra érhető el PDA-k között egyeduralkodó A fejlesztési ismereteket viszonylag könnyen el lehet sajátítani Átlagos fejlesztési gyorsaság 25

Magas szintű, általános célú programozási nyelv Szkript-nyelv Objektum orientált és procedurális programozás támogatása Platform független Gazdag standard osztálykönyvtár Kommunikációs protokollok Reguláris kifejezések Adatbázis kapcsolat Stb. 27

C vagy C++ -ban írt modulokkal való bővíthetőség Bizonyos változatok natív kódot is képesek generálni Kliensszoftverek, prototípusok készítésére kiváló, mert a nyelv nagyon egyszerű A fejlesztési ismereteket könnyen és gyorsan el lehet sajátítani Gyors fejlesztést tesz lehetővé 28

A legtöbb készülék alapesetben nem tartalmazza a futtatókörnyezetet, ezért telepítés szükséges! Ez nem várható el minden felhasználótól, ezért az elterjedést gátolhatja 29

Elsősorban okostelefonok épülnek rá, de egyre inkább jellemző az olcsóbb szegmensekre is C++-ban írták a kerneltől a magas szintű szolgáltatásokig Objektum orientált szemlélet Az OS írásakor a C++ még gyerekcipőben járt, a kiforrottság hiánya miatt egyedi technikákat alkalmaztak a készítők Ezekhez a technikákhoz alkalmazkodni kell, ezért nehezebbé teszi a programozást! 31

Mivel az OS C++ -ban készült ezért natív alkalmazásokat is csak ebben lehet készíteni Az alkalmazott C++ nyelv a sajátosságok miatt sok helyen eltér a szabványos C++ - tól Alacsony szintű rétegekhez való hozzáférés az OS-en belül, az elérhető funkciók száma igen nagy Open C csomag a szabványos C nyelven írt programok portolásához 32

A Symbian OS csak az alapját képezi a készülék operációs rendszerének Erre mindig ráépül egy UI réteg és számos alap alkalmazás, amelyek így önálló szoftverplatformokat alkotnak: S60: A Nokia definiálta gombbal vezérelt, kis képernyős mobiltelefonokhoz. Tetszőleges méretű képernyő támogatás UIQ: Érintőképernyős PDA-khoz, de már van érintőképernyő nélküli változat is 33

A két rendszer nem kompatibilis egymással Külön osztálykönyvtárak és SDK Az operációs rendszer alapfunkcióit azonban ugyanúgy kell programozni, ezért készíthető közös kódbázis az alapfunkciókhoz A felhasználói felület tekintetében egyedi programozás szükséges 34

Sok tapasztalat szükséges egyszerűbb programok készítéséhez is Az szabványos C++ -tól való eltérések és sajátosságok miatt hosszabb tanulási idő és sok gyakorlás szükséges A bonyolultabb programozás a fejlesztés sebességét lassíthatja 35

Apple készülékekre fejlesztették: iphone ipodtouch Unix alapokra épül Nem kompatibilisa Mac OS X-el 2008-ban megjelent az iphone SDK, így megnyíltak a lehetőségek a platformra történő fejelsztéshez 37

Obejctive-C nyelv Az elérhető funkciók száma gazdag, a multi-touch felhasználói felület és a gyorsulásmérő szenzorok is programozható Sok tanulást igényel A bonyolultabb programozás a fejlesztés sebességét lassíthatja Az emulátor csak Mac OS X alatt használható 38

Az elkészített alkalmazások csak az AppStore-on keresztül terjeszthetők A fejlesztők szabják meg az alkalmazás árát, amelyből 30% az Apple-höz kerül Szigorú és körülményes módszer, de: Garantálja a minőséget Biztonságos szoftverek 39

Platform Programozási nyelv Elérhető funkciók Fejlesztés gyorsasága Támogatott eszközök száma Java ME Java Átlagos Átlagos Nagyon sok.net CF C#, Visual Basic.NET Több mint átlagos Átlagos Átlagos Python Python Átlagos Gyors Sok Symbian OS iphone OS C++ Sok Lassú Sok Objective-C Több mint átlagos Lassú Kevés 40