1. Intelligens környezet és
e-technológiák
Multiplatform
Intelligens környezet és
mobil fejlesztések
e-technológiák
Bányász Gábor
BME - Automatizálási és Alkalmazott
Informatikai Tanszék
TÁMOP-4.2.1/B-09/1/KMR-2010-0002 1
2. Az előadás alapfelvetése
„Desktop alkalmazás fejlesztő vagyok. Kíváncsi
vagyok hogyan lehet alkalmazásokat fejleszteni az
okos mobilokhoz. Hogyan kezdjek hozzá, mire
figyeljek?”
4. Szoftver platformok
• A korai mobileszközökre nem lehetett harmadik
félnek szoftvert fejleszteni
• Mára a helyzet megváltozott: nem ritka, hogy egy
készülékre akár 3 különféle nyelven is lehet szoftvert
írni (pl. natív C++, Java ME, Python)
• Mobil szoftverplatform
• Programozási nyelv
• Kódkönyvtárak
• Fejlesztőeszközök (SDK, emulátor)
5. C nyelv
• Symbian
• Maemo (GTK+)
• Android (fejlesztői könyvtárak)
Csökken a támogatottsága, a C++ leváltja
6. Objective C nyelv
• iOS
A Mac OS X fejlesztők használhatják a jól bevált
eszközöket: XCode, Interface Builder
7. C++ nyelv
• Symbian
• Natív (egyéni)
• Open
• Maemo/MeeGo
• Bada
• Natív (egyéni)
• Android (fejlesztői könyvtárak)
9. Java
• Java ME (Java Mobile Edition)
• A Java mobilkészülékekre kifejlesztett változata
• A legtöbb mobilkészülék által támogatott
• Kompatibilitási problémák (extension-ök miatt)
• Módosított Java
• Android (Dalvik JVM)
• BlackBerry (RIM API)
10. Python
• Symbian
• Maemo/MeeGo
• Portok léteznek további mobil platformokra is
12. Ha egyszerre több platformra fejlesztenénk
CROSS-PLATFORM
MEGOLDÁSOK
13. Flash lite
• Flash mobilokra optimalizált verziója
• Android, iOS, BlackBerry Tablet OS
• Alapvetően UI készítésre, de képes elérni a készülék
bizonyos alacsonyszintű funkcióit is
• Gyakran lassúcska a vektoros grafika miatt
14. Qt
• C++
• Platformok
• Asztali platformok
• Linux, Windows, Mac OS X
• Beágyazott platformok
• Embedded Linux, Windows CE, QNX, VxWorks
• Mobil platformok
• Symbian, Maemo/MeeGo, Android (alpha)
• Képes elérni az eszközök alacsony funkcióit is
15. MoSync
• C, C++
• Platformok
• Android, iOS, Symbian, MeeGo, Java ME
• Az alacsony szintű funkciók elérhetősége
platformonként változó
16. Platformok elterjedtsége
• Elterjedtek:
• Android(33%), Symbian(31%), iOS(16%),
RIM(14%)
• Feltörekvők
• Windows Phone, Maemo/MeeGo, Bada, webOS
19. Desktop - mobil különbségek
• Bemeneti lehetőségek
• Erőforrások
• Egyéb eltérések
20. Bemeneti lehetőségek
• Érintő képernyő nem egér
• Csak bal klikk
• Nincs egér mozgás
• Nehéz célzás
• Multitouch
• Gombok
• Néhány, főként rendszer funkciókhoz
• Billentyűzet
• Ha van, akkor is korlátozott
21. Erőforrások
• Számítási teljesítmény
• Memória
• Háttértár
• Akkumulátor
• Hosszú számítások, folyamatos kommunikáció
szívják el az energiát.
• A kommunikáció pénzbe kerül
22. Egyéb eltérések
• Azonos fejlesztő platform esetén is adódnak eltérések
• Általában kezelhetőek és egységes maradhat a forrás
24. Mennyire cross az a cross-
platform?
• Qt-val a cross-platform egyszerű
• Az SDK-val lefordítjuk a cél platformra
• A Qt lib automatikusan kezeli a megjelenést
26. Qt desktop - Maemo
eltérések 1/4
• Új elemek
• Edit Bar
• Információs sávok: Note, Banner
• Picker Button
• Stacked Windows
27. Qt desktop - Maemo
eltérések 2/4
• A desktop window managerhez képest megkötések
vannak:
• Nincs átlátszó ablak
• Az ablakok mérete normál vagy teljes képernyős
• Tájkép és portré mód
28. Qt desktop - Maemo
eltérések 3/4
• Nem mindent widget van adaptálva, csak az
általánosabbak
• Az általános dialógus ablakok hiányoznak
• Egy szintű menü
• Kinetikus scroll
29. Qt desktop - Maemo
eltérések 4/4
• Qt Mobility
• Mobilspecifikus funkciókat tömörítő API-k
• Sok funkció desktop operációs rendszeren is
használható
• Messaging, Multimedia, Publish and Subscribe,
…
30. Mobility 1.1 részei (1/2)
API Framework Leírás
Bearer A telefon hálózati kapcsolat menedzselő API
Management
Camera Fotók, videó készítése, vaku, zoom állítása
Contacts Contact (címtár) adatok lekérése helyi vagy távoli tárolóból
Document Dokumentumok metaadat alapján történő keresése, böngészése
Gallery
Feedback A vibramotor és a piezo (tactile) rezgő visszajelzések kezelése
Location Helymeghatározáshoz, POI-k kezeléséhez, térkép és navigáció
kezeléséhez szükséges gyűjtemény
Maps / Térképek és útvonal információk elérése, térképek mozgatása,
Navigation jelzések elhelyezése
31. Mobility 1.1 részei (2/2)
API Framework Leírás
Messaging A különböző üzenetkezelési lehetőségek elérése (SMS, MMS, e-
mail)
Multimedia Média felvétele, visszajátszása, rádió
Organizer Naptár, ütemezés, személyes adatok (feljegyzések, napló/blog)
elérése lokális vagy távoli szolgáltatóktól
Publish and A Publish and Subscribe API, a Value Space segítségével, lehetővé
Subscribe teszi különböző célra értékek eltárolását, visszaolvasását, illetve
feliratkozást az érték megváltozására.
Sensor Hozzáférés a HW szenzorokhoz, az eszköz orientáció érzékelése
Service Különböző célú szolgáltatások felfedezésére és használatára
Framework szolgáló általános API
System A rendszerinformációk lekérdezése és értesítés kérése
Information
Versit Versit dokumentumok (vCard, iCal) kezelése.