02 Bevezetés a mobil szoftverfejlesztésbe

Embed Size (px)

Citation preview

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    1/42

    Bevezets a mobilszoftverfejlesztsbe

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 1

    Dr. Forstner Bertalan

    Ekler Pter

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    2/42

    Az elz rsz tartalmblMobilpiac szerepli

    Vezetknlkli technolgikMobilhlzatok fejldse, genercik

    BME-AAIT 2008 AMORG Template v1.1 2

    Mobilkszlkek tulajdonsgai

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    3/42

    Emlkeztek mg rKik a mobil piac fbb szerepli?

    BME-AAIT 2008 AMORG Template v1.1 3

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    4/42

    Emlkeztek mg rKik a mobil piac fbb szerepli?

    Hlzati opertorok

    BME-AAIT 2008 AMORG Template v1.1 4

    Kszlkgyrtk

    Felhasznlk

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    5/42

    2. elads Mobilszoftverplatformok

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 5

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    6/42

    Brking: Nokia 2011.02.11.Nokia f okostelefon platformja a jvben

    a Windows Phone lesz (mikortl is?)

    Symbiant leptik? Jelenle 200 milli S mbian telefon

    felhasznl (iPhone: 4 v alatt sszesen 70 milli eladott

    telefon)

    2011-ben mg 150 Symbian-ra pl mobil-takarnak eladni

    MeeGo egyelre marad ksrleti platform

    BME-AAIT 2011 Mobilszoftverek 6

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    7/42

    2. elads - Tartalom Bevezets

    Mobil szoftverplatformok Java ME

    P thon

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 7

    Symbian OS

    Windows Mobile

    Maemo Android

    iPhone OS

    Egyb (ami kimaradt)

    Meego

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    8/42

    BevezetsA korai mobileszkzkre nem lehetett

    harmadik flnek szoftvert fejleszteni

    Mra a helyzet megvltozott: nem ritka,hogy egy kszlkre akr 3 klnfle

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 8

    nye ven s e et szo tvert rn p . nat vC++, Java ME, Python)

    Mobil szoftverplatform Programozsi nyelv

    Kdknyvtrak

    Fejleszteszkzk (SDK, emultor)

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    9/42

    Symbian OS

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 9

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    10/42

    Symbian OS - Bevezets Kifejezetten mobilkszlkekre

    kifejlesztett opercis rendszer

    Hardvererforrsokban szegny kszlkekre Gyenge processzor Kevs memria

    Korltozott zemid (akkumultor) Magas rendelkezsre llsra tervezve

    Reboot csak ritkn megengedett

    Szemlyi adatkezel

    funkcik OS szint

    tmogatsa(kontaktok, naptr, stb.) Kommunikcis protokollok szles trhznak

    tmogatsa

    Jelenleg mg elssorban okostelefonokra BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 10

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    11/42

    Symbian OS UI platformokA Symbian OS csak az alapjt kpezi a

    mai kszlkek opercis rendszereinekErre minden esetben rpl egy UI

    S60

    UIQ

    A klnbz UI platformra megrtalkalmazsok nem kompatibilisek

    egymssal BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 11

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    12/42

    Symbian OS - S60 platform: az egyeduralkod korbban Series 60 Bevitel billentyzettel vagy rintkpernyn

    BME-AAIT 2008 Symbian OS tanfolyam A platform bemutatsa

    2nd s 3rd kztt binris kompatibilitsi trs klnbz kijelzmretek s elrendezsek tmogatsa

    S60 5th edition = Symbian ^ 1 Symbian Foundation a tulajdonos, open source

    Nemrg jtt ki: Nokia N8, E7: Symbian ^ 3

    ttrs Avkon UI-rl Qt felletre + Mobility API

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    13/42

    Symbian OS FejlesztsNatv C++

    Magt az opercis rendszert is C++-ban rtk

    Alacsony szint API-k is elrhetk

    A C++ nyelv egy korltozott, megktsekkel teli

    verzijt hasznlja Hossz tanulsi id j szemlletet ignyel

    Open C/C++ (Qt irnyba nyits) Java ME

    Python

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 13

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    14/42

    Java ME

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 14

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    15/42

    Java ME - Bevezets Java Mobile Edition A Java technolgia mobilkszlkekre

    kifejlesztett vltozata A legtbb mobilkszlk ltal tmogatott

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 15

    Java alaptulajdonsgok Objektum orientlt

    A programkdbl a specilis fordt gynevezettobject code-ot kszt (nem gpi kd!) Az object code-ot a kszlken fut Java virtulis

    gp (JVM) futtatja, interpretlt mdon

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    16/42

    Java csald

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 16

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    17/42

    Java ME - Konfigurcik Az eltr kpessg mobilkszlkekhez kln konfigurcik

    Konfigurci rszei:

    Virtulis gp Alacsony szint API-k (ltalban Java SE API-k rszhalmaza +

    mobil specifikus API-k) API: Application Programming Interface, programozi interfsz

    Jelenleg kt konfigurci ltezik CLDC (Connected Limited Device Configuration)

    Egyszer UI, kevs memria, gyenge processzor Pl. mobiltelefonok, egyszerbb PDA-k

    CDC (Connected Device Configuration) Gazdag UI, tbb memria, hlzati protokollok tmogatsa Pl. Internet TV, PDA

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 17

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    18/42

    Java ME - Profilok Egy adott konfigurcira tovbbi, magasabb

    szint API csomagok plnek, ezek aprofilok

    Mobile Information Device Profil (MIDP)

    Egyetlen jelents profil CLDC-re API-kat tartalmaz UI kezelshez,

    hlzatkezelshez, perzisztens adattrolshoz,stb.

    Jelenleg MIDP 2.0 az elterjedt

    Egy MIDP-re rt alkalmazst MIDlet-nek

    neveznk BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 18

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    19/42

    Java ME - Csomagok A profilokon tl tovbbi un. opcionlis

    kiegszt csomagokkal bvthetk az API-k Pl. adatbzis kapcsolat, grafikai fggvnyek

    Pldk

    Siemens C55 CLDC 1.0 MIDP 1.0

    Nokia 6600 CLDC 1.0 MIDP 2.0 JSR 205: Wireless Messaging API

    Bluetooth BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 19

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    20/42

    Python

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 20

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    21/42

    Python - Bevezets Szkriptnyelv

    Magas szint, objektum orientlt

    Jl hasznlhat prototpus alkalmazsok gyorsfejlesztsre

    A kdot nem kell lefordtani, egy futtatkrnyezet(interpreter) hajtja vgre

    A futtatkrnyezet tbb platformra is ltezik (gy

    elvileg platformfggetlen a kd) Windows

    Linux

    Mobil platformok (S60, Windows CE, Meego, stb.) BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 21

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    22/42

    Fejleszts Pythonra Elnyk

    Ingyenes (tbb platformra open-source is)

    Stabil, kiforrott (Python mr a Java el

    tt is ltezett!) jrafelhasznlhat komponensek j tmogatsa (objektumok,

    modulok, stb.) Viszonylag knnyen integrlhat mr meglv C/C++/Java

    a

    Htrnyok Viszonylag kevesen fejlesztenek r, kevs pldaprogram,

    irodalom, stb. Bizonyos alacsony szint funkcik nem elrhetk Az alkalmazsok teljestmnye gyengbb, lassabban futnak A futtatkrnyezetet ltalban kln kell telepteni (nem az

    opercis rendszer beptett rsze)

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 22

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    23/42

    Python S60-ra 1/2S60 a jelenleg legelterjedtebb Symbian-

    alap mobil platformA standard Python knyvtrakon kvl

    - -

    SMS kezels

    Telefnia

    Kamerakezels 3D grafika (OpenGL ES)

    Stb. BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 23

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    24/42

    Python S60-ra 2/2Python programok futtatsa

    1. Megrjuk a szkriptet PC-n2. Felmsoljuk a szkriptet a mobiltelefonra

    betltjk s futtatjuk a szkriptetMire rdemes hasznlni?

    Prototpusok ksztsre Egyszerbb mobil kliensek fejlesztsre

    Tesztelshez

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 24

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    25/42

    Windows MobileWindows Phone 7

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 25

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    26/42

    Windows Mobile - BevezetsWindows mobil mutcija

    Okostelefonokra (Windows Mobile Standard) PDA-kra (Windows Mobile Professional,

    Windows CE-re pl

    Az opercis rendszerhez hozz tartozik

    szmos ismert alkalmazs mobil verzija(Excel Mobile, Word Mobile, stb.)

    Jelenleg Windows Mobile 6.x, illetve WP7 BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 26

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    27/42

    Windows Mobile Fejleszts 1/2 Java ME

    Embedded Visual C++ .NET Compact Framework (CF.NET)

    A nyelv pl. C# vagy Visual Basic .NET(objektum orientlt, magas szint)

    IL kd kszl a fordts els fzisban

    Just In Time Compilation (JIT): a binris kdkzvetlenl az alkalmazs futtatsa elttkszl el az eszkzn

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 27

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    28/42

    Windows Mobile Fejleszts 2/2 .NET CF a .NET Framework

    leszrmazottja

    Az alapvet API-k itt is elrhetk (knnyportols)

    Plusz API-k a mobilspecifikus funkcikhoz

    Windows Forms-ra pl a UI

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 28

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    29/42

    Windows Phone 7 Knnyen testreszabhat s mindig

    friss home screen

    Az gynevezett live tile-ok mindig alegfontosabb informcikat jelentikmeg v s, sms, nap r, r s,stb.)

    Fejleszts Silverlight-ban (C#, VB)

    Npszer szolgltatsokat integrl: XBOX Live

    Office

    BME-AAIT 2011 Bevezets a mobil szoftverfejlesztsbe 2. el ads 29

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    30/42

    ex-Maemo, MeeGo

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 30

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    31/42

    Meego- Bevezets Linux alap opercis rendszer

    Internettblkra, mobilokra, set-top boxokra

    Maemo + MobLin Internetezsre kifejlesztve

    Nagymret rintkperny

    Debian GNU/Linux Fejleszts

    Rgen csak scratchbox, linux all

    Python C/C++

    Qt + Mobility API

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 31

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    32/42

    MeegoLinux alklamazsok viszonylag knnyen

    portolhatk r

    Jelenleg mg elssorban Linux hekkerek

    Maemo 5: Nokia N900

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 32

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    33/42

    Android

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 33

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    34/42

    Android - BevezetsOpen Handset Alliance (fszerepl a

    Google) ltal fejlesztett mobilszoftverplatform

    O ercis rendszer Linux kernel

    Alapalkalmazsok

    SDK jelenleg 2.4 (telefon) illetve 3.0

    (tablet) verzinlKszlkek: egyre tbb gyrt

    2011 janurban a legtbb eladott kszlk BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 34

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    35/42

    AndroidTulajdonsgok

    Nagyon nylt (legalacsonyabb szint funkcikis elrhetk)

    menrendszert is lecserlhetjk) Webes szolgltatsok integrlsa (pl. Google

    Maps)

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 35

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    36/42

    Android - FejlesztsC/C++: Korltozott sdk (1.6)

    Alacsony szint funkcikhoz

    Java

    Dalvik Virtual Machine Minden alkalamzsnak sajt processz s virtulis

    gp Kis memriafogyasztsra optimalizlva

    Magas szint, knyelmes (pl. UI XML-ellerhat)

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 36

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    37/42

    Hello Android 1/2package com.android.hello;

    import android.app.Activity;

    import android.os.Bundle;

    import android.widget.TextView;

    public class HelloAndroid extends Activity {

    /** Called when the activity is first created. */@Override

    public void onCreate(Bundle icicle) {

    super.onCreate(icicle);

    TextView tv = new TextView(this);tv.setText("Hello, Android");

    setContentView(tv);

    }

    } BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 37

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    38/42

    Hello Android 2/2

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 38

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    39/42

    iPhone OS iPod Touch, iPhone, iPad

    Jelenleg iPhone OS 4.x Objective C

    XCode, Interface Builder,

    Kzpontilag iGencsak kontrolllt terjeszts

    Rengeteg elrhet iRodalom s dokumentci

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 39

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    40/42

    Tovbbi opercis rendszerek 1 Palm OS, majd WebOS

    Opercis rendszer begyazott rendszerekre

    Alapveten PDA-kra Megvette a HP a Palm-ot Jelenleg nincs szmotteven jelen a piacon

    Barcelonban most jelentettek be j mobilokat, tblagpet

    OpenMoko Linux alap Teljesen nylt platform (mg a firmware-ek

    nagy rsze is GPL licenszen) Qtopia-ra pl (Trolltech mobil UI platformja) Jelenleg egyetlen kereskedelmi

    forgalomban kaphat kszlk: Neo (1973)

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 40

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    41/42

    Tovbbi opercis rendszerek 2 BlackBerry

    USA-ban igen elterjedt

    zleti cl felhasznls

    Szerver oldali alkalmazsok, vllalatiszinkronizci (push zenetek) tettk naggy

    Flash Lite 3 (4), illetve Flash 10.1 Flash Player mobilokra optimalizlt verzija

    Alapveten UI ksztsre, de kpes elrni akszlk bizonyos alacsonyszint funkciit is

    Mg nem elg elterjedt, gyakran lass a vektoros

    grafika miatt BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 41

  • 8/3/2019 02 Bevezets a mobil szoftverfejlesztsbe

    42/42

    Teszt1. Mik a fbb mobil szoftverfejlesztsi

    platformok?

    2. Mi az, hogy interpretlt nyelv?

    BME-AAIT 2008 Bevezets a mobil szoftverfejlesztsbe 2. el ads 42

    3. a na v nye ven meg r a a maz soelnyei?