Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Mobil Rendszerek Programozása

Hasonló előadás


Az előadások a következő témára: "Mobil Rendszerek Programozása"— Előadás másolata:

1 Mobil Rendszerek Programozása
Bevezetés, platformok Léczfalvy Ádám

2 Tartalom 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

3 Mobil készülékek és tulajdonságaik
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

4 Mobil készülékek és tulajdonságaik
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

5 Mobil készülékek és tulajdonságaik
Notebook Tablet PC Kisméretű ipari PC Hordozható célra készült alaplapok, CPU-k (pl. Intel Atom)

6 Mobil készülékek és tulajdonságaik
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

7 Mobil készülékek és tulajdonságaik
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

8 Mobil programozás 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

9 Mobil programozás Eleinte csak operációs rendszer, nem volt lehetőség más szoftver telepítésére Csak a profi szakemberek tudtak mobil- alkalmazá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

10 Mobil programozás kihívásai
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

11 Mobil programozás nehézségei
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

12 Mobil programozás nehézségei
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

13 Mobilszoftver platformok
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

14 Mobilszoftver platformok
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

15 Mobilszoftver platformok
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

16 Mobilszoftver platformok
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?

17 Java Micro Edition

18 A Java technológia 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

19 Különféle Java változatok
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

20 J2ME 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

21 J2ME 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

22 J2ME 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

23 .NET Compact Framework

24 .NET Compact Framework 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

25 .NET Compact Framework 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

26 Python

27 Python 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.

28 Python 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é

29 Python 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

30 Symbian OS

31 Symbian OS 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!

32 Symbian OS 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

33 Symbian OS 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

34 Symbian OS 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

35 Symbian OS 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

36 iPhone OS

37 iPhone OS Apple készülékekre fejlesztették: Unix alapokra épül
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

38 iPhone OS 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ó

39 iPhone OS 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

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


Letölteni ppt "Mobil Rendszerek Programozása"

Hasonló előadás


Google Hirdetések