Mobil Rendszerek Programozása

Slides:



Advertisements
Hasonló előadás
IT Essentials I. IT Alapismeretek: PC Hardver és Szoftver v4
Advertisements

Az érintőképernyők.
Készítette: Kun Béla.  Operációs rendszernek nevezzük a számítástechnikában a számítógépeknek azt az alapprogramját, mely közvetlenül kezeli a hardvert,
Az operációs rendszer.
Mi az? Kicsi, hordozható, mindig be van kapcsolva? Mobiltelefon :-)
Hardver ismeretek: Hordozható számítógépek.
Új online technológiák: lehetőségek és kihívások Kerese István Fejlesztési platform üzletág igazgató Microsoft Magyarország
I. Informatikai alapismeretek Dabas, november 18.
Piacképes programozói tudás a középiskolában
WordLearner.com -- Learn or Teach Words in Almost Any Language WordLearner.com online és offline nyelvoktatás mobiltelefonon és interneten Benedek Balázs.
Készítette: Alko-soft Bt A Braille eszközök általános jellemzői.
Mobil eszközök programozása Mivel is kezdjem?
mLearning megoldások Moodle környezetben
Ekler Péter Budapesti Műszaki és Gazdaságtudományi Egyetem
iOS Android Symbian WebOS Kernel Multi-Touch Multitask.
Adminisztratív kérdések
3. A programozás eszközei, programozás-technikai alapismeretek
Microsoft fejlesztőeszközök a szakképzésben Farkas Bálint Visual Studio 2008.
ZigBee alapú adatgyűjtő hálózat tervezése
Fajfrik Dóra tanárjelölt munkája alapján
Okostelefonok....
Az operációs rendszer.
Mérés és adatgyűjtés laboratóriumi gyakorlat Makan Gergely, Mingesz Róbert, Nagy Tamás 2. óra szeptember 9., 10. v
4. Gyires Béla Informatikai Nap május 6.1 Márton Ágnes Debreceni Egyetem Informatikai Kar Informatikai Rendszerek és Hálózatok Tanszék A Virtual.
BE KI Perifériák Számítógép.
Mobiltelefonokra optimalizált árfolyamlista és pénzváltó kivitelezése IX. VMTDK Témavezető: Dr. PATAKI Éva Szerző: SZÉKEJ É. Krisztián, I. évfolyam, Szegedi.
Internetes források alapján készítette:
Programozási technológia 1
Az operációs rendszer.
WEB MES (webes gyártásirányító rendszer)
Laptop, notebook, PDA. Hordozható számítógép Hívhatják bárhogy: laptopoknak vagy noteszgépeknek, hordozható számítógépeknek, stb. Ezek az egy darabból.
Windows Server 2012 Kiadások, licencelés, lehetőségek
Takács Béla Operációs rendszerek 2.. „Néhány” fontos operációs rendszer EgyfelhasználósTöbbfelhasználós DOS (Microsoft)UNIX MS-DOS (Microsoft)LINUX.
Számítógépes üzemmódok
szakmérnök hallgatók számára
Mobil eszközök biztonsági problémái
Szoftverek. szoftver (software): A számítógép hardver elemeinek mûködtetését végzõ programok, a gép használatához szükséges szellemi termékek összessége.
Léczfalvy Ádám A J2ME architektúrája.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
INFORMATIKA ALAPFOGALMAK
Az operációs rendszerek feladata, fajtái, felépítése
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Visual Basic 2008 Express Edition
Android alkalmazások tesztelése
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
A szoftver, szoftvertípusok
Java web programozás 11..
Szoftverek.
A PDA felhasználási területei, jellemzői
PDA és Okostelefon.
Notebook Csapattagok: Koska Anna Király Vivi Koska Balázs Terék Máté Fegyveres Máté Tóth Bence Győrik Viktor.
A Windows Server 2003 termékcsalád A Windows Server 2003 termékcsaládnak 4 tagja van: Windows Server 2003, Standard Edition Windows Server 2003, Enterprise.
2. Operációs rendszerek.
Piramis klaszter rendszer
Gyakorló feladatok A számítógépek.
Tablet-pc.
SZOFTVEREK (programok)
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
Operációs rendszer Készítette: Schäfer Benedek Felkészítő tanár: Ravasz Imréné Herendi Német Nemzetiségi és Nyelvoktató Általános Iskola Herend, Iskola.
Grafikus felhasználói felületek Linux alatt. Grafikus Interface A grafikus felhasználói felület (angolul graphical user interface, röviden GUI) olyan,
Az operációs rendszer.
Számítógépes alapismeretek
Hardver ismeretek: Hordozható számítógépek.
Információtechnológiák és tudásbázis az Agrof-MM Leonardo+ projektben M=Mountain; M=Mediterranean
Hibernate / EclipseLink / OpenJPA összehasonlítás
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
Mobilkommunikáció Eszközök és hálózatok
Előadás másolata:

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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?

Java Micro Edition

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

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

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

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

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

.NET Compact Framework

.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

.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

Python

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.

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é

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

Symbian OS

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!

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

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

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

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

iPhone OS

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

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ó

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

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