Nokia N9 - MeeGo Harmattan bemutatkozik Bányász Gábor <banyasz.gabor@aut.bme.hu> 1
Az előd: Fremantle Nokia N900 2
Fremantle (aka Maemo 5) Okostelefonokra, internet tabletekre (csak ARM proc.) Debian alap Grafikus lib-ek nagyrésze GNOME-ból MatchBox ablakkezelő, GTK+, és Hildon GUI + alkalmazás framework deb telepítőcsomagok Elérhető hozzá Qt library 3
A jelen: MeeGo - Harmattan Nokia N950 4
MeeGo 2010.02.15 - Nokia Maemo + Intel Moblin = MeeGo Linux alap Célplatform: netbook, tablet, mobil telefon, szórakoztató rendszer járművekbe, SmartTV, stb (ARM és X86 proc) Felépítés: OS Core UI könyvtárak és eszközök (Qt alap, GTK+ támogatás) Minden platformon különböző User Experience Egységes API SDK 5
MeeGo felépítés 6
MeeGo linkek Projekt http://www.meego.com Fejlesztői oldalak http://developer.meego.com Wiki http://wiki.meego.com Fórum https://meego.com/community/forum 7
MeeGo 1.2 Harmattan Csak Nokia telefonokra Maemo 6 felületét örökölte Teljes UX Qt-val megvalósítva, Hildon natívan nem támogatott (de csomagként telepíthető) GTK+ és Clutter elérhető a Moblin kompatibilitás miatt Hivatalos fejlesztőkörnyezet a Qt SDK Natív UX-et biztosítja a QML UI Components for MeeGo 8
Fremantle vs. Harmattan GTK+» Qt QWidget» QML Swipe UI 9
SWIPE UI 3 darab HomeScreen Események (közösségi hálók, hívásnapló, üzenetek egyetlen feedben) Alkalmazások listája Futó alkalmazások Kilépés gomb már nem szükséges, bármilyen alkalmazásból egy mozdulattal az alkalmazások nézetre lehet kerülni 10
SWIPE UI 11
Fejlesztés Qt-val, de QWidget hivatalosan nem támogatott (ettől függetlenül használható) Mindenkinek QML-t ajánlanak felülethez Csak QML alól érhetőek el a natív UX elemek Hivatalos doksiban portolási utasítás MeeGo-ra: 1.Nyisd meg a már meglévő projektedet 2.Portold a teljes UI-t QML-re 3.(Enjoy ) Ellenben a QML nagyon-nagyon egyszerű 12
QWidget vs. QML QWidget alapú UI esetén kijelző elforgatás nem lehetséges, mindig landscape QML-nél elforgatás natívan csak a MeeGo UI komponensekkel zökkenőmentes QML UI a Widgetekkel ellentétben, a főprogrammal AZONOS szálon fut -> reszponzív UI-hoz kézi szálkezelés kell QML natívan OpenGL rendereléssel jelenik meg (gyors és látványos UI-ok) 13
Problémák A QML és C++ kommunikáció gyakran igényel kézi időzítést (QTimer::SingleShot( )) Egyes telefon specifikus szolgáltatások még nem érhetőek el QtMobility-vel, de a DBus-on keresztül lehet trükközni (pl. csengetési profil váltás) 14
Mindezen megkötések ellenére A készülék és az OS nagyon gyors A User Experience ténylegesen experience Modern, egységes UI Az eddigi gyors alkalmazás fejlesztés még gyorsabb lett Akár egyetlen sor hozzáadott C++ kód nélkül is készíthetőek lenyűgöző alkalmazások (programozói gyakorlat nélkül is!) Integrált OVI (Nokia) Store Már most számos alkalmazás elérhető 15
Fejlesztői környezetek Qt SDK QtCreator, MADDE, Harmattan Emulator (QEMU) Harmattan Platform SDK Scratchbox + targetek QtCreator-ba integrálható 16
Qt SDK telepítés Le kell töltenünk és telepítenünk a Qt SDK-t http://qt.nokia.com/ Eszköz kapcsolat Fejlesztői mód engedélyezése a telefonon A kapcsolat konfigurációja a telefon és a számítógépen A kapcsolat konfigurációja a QtCreator-ban Emulátor Konfiguráció a QtCreator-ban 17
Qt SDK projekt létrehozás A QtCreator-ban létrehozunk egy új projektet A projekt típusa: Qt Quick Application Az alkalmazás típusa: Qt Quick Components for MeeGo/Harmattan Célnak kiválasztjuk a Harmattan -t. A projekt beállításoknál kiválaszthatjuk, hogy a telefonon vagy emulátorban fusson Nekiállunk kódolni... :) 18
Harmattan fejlesztői linkek Összefoglaló oldal http://www.developer.nokia.com/devices/meego/ Qt SDK fejlesztés http://harmattan-dev.nokia.com/docs/library/ Platform Guide http://www.developer.nokia.com/community/wiki/h armattan%3aplatform_guide 19