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

Léczfalvy Ádám Bevezetés, platformok.

Hasonló előadás


Az előadások a következő témára: "Léczfalvy Ádám Bevezetés, platformok."— Előadás másolata:

1 Léczfalvy Ádám Bevezetés, platformok

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

3  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

4  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

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

6  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

7  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

8  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

9  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 9

10  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

11  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

12  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

13  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

14  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

15 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

16 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

17

18  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

19  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

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

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

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

23

24  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

25  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

26

27  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

28  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

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

30

31  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

32  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

33  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

34  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

35  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

36

37  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

38  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

39  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

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


Letölteni ppt "Léczfalvy Ádám Bevezetés, platformok."

Hasonló előadás


Google Hirdetések