SlideShare a Scribd company logo
1 of 26
ELŐADÓ:
Inotay Krisztián
krisztian.inotay@gmail.com
BlackBerry10 alapú natív
alkalmazásfejlesztés
BME-AutSoft KFT.
BlackBerry 10 OS
• Egy fokozatos fejlesztési folyamat
eredménye
– BlackBerry Tablet OS (PlayBook)
– BlackBerry Tablet OS 2.0 (PlayBook)
– BlackBerry 10
• Nagyon friss, január 30.-án jelent meg
• Az új funkciókat integrálni fogják a régi
Tablet OS-be is
BlackBerry Tablet OS -1-
• Teljes mértékben saját fejlesztés
• QNX Neutrino alapok (valaki emlékszik a
floppy-s változatra?  )
• Minden tekintetben
egyedi felületet kapott
BlackBerry PlayBook
BlackBerry Tablet OS -2-
• Teljes értékű gesztus alapú vezérlés, az
eszköz kávája is aktív szerepet kap benne
• BlackBerry Flow
• Sok támogatott fejlesztői platform:
– BlackBerry Java
– Adobe AIR
– Natív C/C++
– Android
Micsoda?! Android??
• Az OS része az Android Player
• 2.3. –as Gingerbread alkalmazások natív
futtatása
• Portolás szükséges
• Az alkalmazások az Android verziónak
megfelelő UI-jal jelennek meg
• Hamarosan ICS támogatás is lesz
BlackBerry 10
• Mindent „tud”, amit a Tablet OS
• Kiegészített, saját natív UI vezérlők
megjelenése
• Multitasking, fejlesztő dönthet a háttérben
futásról
• BlackBerry Hub megjelenése
• Támogatottá vált még „néhány” fejlesztői
platform….
BB10 támogatott platformok
• Huhh…
Mobil funkcionalitás
• BlackBerry World
• Push notification
• In-app Payment
• Maps
• Sharing
• AD Service
• ScoreLoop
BlackBerry World
• Most érte el a 100.000 alkalmazást
(a Windows Phone-os market most tart
130.000-nél…)
• A gyártó minden erejével (és pénzével)
támogatja az új/portolt alkalmazások
felkerülését
– Port-a-Thon-ok
– Marmalade Playbook offer
Android alkalmazások portolása
• Command line tool-ok
• Csak 2.3-as alkalmazások portolhatóak
• Google API-k nem támogatottak
• Egy tool ellenőrzi az APK-t, egy másik tool
elvégzi az átcsomagolást
• A felmerülő hibákat és inkompatibilitást jelzi a
tool – 5 level
• Probléma esetén az Android alkalmazás
módosítása szükséges
Natív alkalmazás fejlesztés
• BlackBerry Cascades SDK
• Simulator
• Nyelv: Qt C++ módosított változata, DE
• UI: Cascades QML + JavaScript
• Aki amit eddig tudott a QML
komponensekről…azt felejtse el
• Valóban Qt és QML komponenseket
használunk, de Cascades gyűjtőnéven
Kitekintés: Qt
• C++ framework
• Crossplatform: Windows, Linux, OSX,
Android, Symbian, MeeGo
• Minden esetben natív alkalmazássá fordul
a kód
• Elsősorban GUI-s alkalmazásokhoz
Kitekintés: QML
• Qt Modeling Language
• Deklaratív leíró nyelv
• A leírás alapján hierarchikusan
példányosodnak az objektumok
• Objektumoknak Property-jei és Event-jei
vannak
• Objektum hierarchia tetszőlegesen
bejárható C++ oldalról is
Cascades
• Egyfajta UI framework a QML felett
• Egyszerűbb alkalmazások készíthetők 1-2
sor valódi programkód írása mellett is
• Az elképzelés: UI interakciókat és
eseményeket a QML kezeli, a háttérlogika
a gyors futás miatt Qt C++ kód
• Láttunk már olyan platformot, ahol ez
pokoli gyors felületet eredményezett…
Qt+QML vs Cascades
• Úgy képzeljük el, hogy az ismert
keretrendszer fölé húztak még egy réteget
• „Régi” keretrendszer csak nyomokban
fedezhető fel (szemfüles módon)
• QML funkcionalitása megmaradt
• Qwidget nem létezik, és olyan osztályok
sem, melyek ehhez kapcsolódnak (pl.
QSyntaxHighLighter)
• QML külön szálon fut default
Ami nagyon jó
• Elérhető az OS teljes UI vezérlőtára
• Ezek C++ osztályai is, így már C++ -ból is
fejleszthetünk UI-t (bár az eredeti Qt-s
koncepcióhoz képest ez visszalépés)
• Megmaradt a Signals and Slots
mechanizmus (kibővítve, már lehetséges
C++ <-> QML kötés is)
• QML teljesen OpenGL ES-sel renderelődik
default
Ami kevésbé tökéletes…
• Új layout rendszer miatt megszűnt a relatív
pozícionálás
• Ami bevett gyakorlat volt Qt alatt, az itt
már lehet hogy workaround-ot igényel
• Egyes komponensek máshogy
viselkednek (pl. Label)
• DE könnyű megszokni
UI Guidelines
• Egyfajta BB10 „élményt” definiáltak a natív
alkalmazásoknak
• Pontos és részletes guideline a felületek
tervezéséhez
– http://developer.blackberry.com/devzone/desi
gn/bb10/
• Eltérni lehet, de akkor az alkalmazás kilóg
az összképből
UI Guidelines példa
Fejlesztés Cascades SDK-val
• Minden esetben natív kódra fordul az
alkalmazás
• Eclipse alapú SDK
• Beépített fejlesztést támogató plugin-ek
(QML editor, BlackBerry Device Wizard)
• Gyári projekt template-ek
C++ logika
• Minden alkalmazáshoz tartozik legalább 2
osztály a template-ekben
• Egyik a main() függvény, másik a UI-t
hozza létre (most épp applicationUI a
neve)
• C++ metódusok hívhatóak a UI-ról
• QML vezérlők, property-k módosíthatóak
C++ -ból
• Aszinkron működést egyszerű biztosítani
Saját C++ osztályok
• Általános osztályok készíthetőek a modell
számára (Qobject parent rendszer)
• C++ osztályok egy az egyben adhatóak át
a QML-nek -> QML-szerű viselkedés
• Saját UI controllerek implementálhatóak
Amit még a BB ad
• Developer Site
– Több száz oldalnyi dokumentáció, részletes
leírás, példák mindenre
– GitHUB profil a már elkészült sample
appoknak
– Részletes API reference
– BugTracking
– Developer blog
• Developer Forum
ELŐADÓ:
Inotay Krisztián
krisztian.inotay@gmail.com
BlackBerry10 alapú natív
alkalmazásfejlesztés
BME-AutSoft KFT.
Kérdések
ELŐADÓ:
Inotay Krisztián
krisztian.inotay@gmail.com
BlackBerry10 alapú natív
alkalmazásfejlesztés
BME-AutSoft KFT.
Köszönöm a figyelmet!

More Related Content

Viewers also liked

ганаа цахим тест
 ганаа цахим тест ганаа цахим тест
ганаа цахим тестariunaaaaaa
 
эрдмаа тест
эрдмаа тестэрдмаа тест
эрдмаа тестerdmaa
 
National heritage sites!!
National heritage sites!!National heritage sites!!
National heritage sites!!y3ehps
 
3促進兩岸產業合作搭橋專案
3促進兩岸產業合作搭橋專案3促進兩岸產業合作搭橋專案
3促進兩岸產業合作搭橋專案twnewone1
 
Eta introdution
Eta introdutionEta introdution
Eta introdutionLee Joe
 
Microsoft Azure 08.2014
Microsoft Azure 08.2014Microsoft Azure 08.2014
Microsoft Azure 08.2014Mustafa Kuğu
 
Black & Latino dominance on Twitter & Facebook, yet omission from Social Medi...
Black & Latino dominance on Twitter & Facebook, yet omission from Social Medi...Black & Latino dominance on Twitter & Facebook, yet omission from Social Medi...
Black & Latino dominance on Twitter & Facebook, yet omission from Social Medi...Golin
 
Turist în orașul meu craiova
Turist în orașul meu  craiovaTurist în orașul meu  craiova
Turist în orașul meu craiovaGheorghitoiumaria
 
Spostamenti shift12x12 def
Spostamenti shift12x12 defSpostamenti shift12x12 def
Spostamenti shift12x12 defnottebiancasgv
 
Adminisztratív protokollok ellenőrzési lehetőségei
Adminisztratív protokollok ellenőrzési lehetőségeiAdminisztratív protokollok ellenőrzési lehetőségei
Adminisztratív protokollok ellenőrzési lehetőségeiOpen Academy
 
The Social Third: How Social Media is Transforming IT Sales
The Social Third: How Social Media is Transforming IT SalesThe Social Third: How Social Media is Transforming IT Sales
The Social Third: How Social Media is Transforming IT SalesGolin
 

Viewers also liked (18)

Study1
Study1Study1
Study1
 
ганаа цахим тест
 ганаа цахим тест ганаа цахим тест
ганаа цахим тест
 
эрдмаа тест
эрдмаа тестэрдмаа тест
эрдмаа тест
 
National heritage sites!!
National heritage sites!!National heritage sites!!
National heritage sites!!
 
3促進兩岸產業合作搭橋專案
3促進兩岸產業合作搭橋專案3促進兩岸產業合作搭橋專案
3促進兩岸產業合作搭橋專案
 
Reo expo presentation_6-14-2011 vers1 6.11.11
Reo expo presentation_6-14-2011 vers1 6.11.11Reo expo presentation_6-14-2011 vers1 6.11.11
Reo expo presentation_6-14-2011 vers1 6.11.11
 
Arte urbano inspirado en Facebook
Arte urbano  inspirado en FacebookArte urbano  inspirado en Facebook
Arte urbano inspirado en Facebook
 
Moodle
MoodleMoodle
Moodle
 
Pablocampos
PablocamposPablocampos
Pablocampos
 
Ariunaa
AriunaaAriunaa
Ariunaa
 
Eta introdution
Eta introdutionEta introdution
Eta introdution
 
Microsoft Azure 08.2014
Microsoft Azure 08.2014Microsoft Azure 08.2014
Microsoft Azure 08.2014
 
Black & Latino dominance on Twitter & Facebook, yet omission from Social Medi...
Black & Latino dominance on Twitter & Facebook, yet omission from Social Medi...Black & Latino dominance on Twitter & Facebook, yet omission from Social Medi...
Black & Latino dominance on Twitter & Facebook, yet omission from Social Medi...
 
Turist în orașul meu craiova
Turist în orașul meu  craiovaTurist în orașul meu  craiova
Turist în orașul meu craiova
 
Spostamenti shift12x12 def
Spostamenti shift12x12 defSpostamenti shift12x12 def
Spostamenti shift12x12 def
 
Adminisztratív protokollok ellenőrzési lehetőségei
Adminisztratív protokollok ellenőrzési lehetőségeiAdminisztratív protokollok ellenőrzési lehetőségei
Adminisztratív protokollok ellenőrzési lehetőségei
 
Fotosatx
FotosatxFotosatx
Fotosatx
 
The Social Third: How Social Media is Transforming IT Sales
The Social Third: How Social Media is Transforming IT SalesThe Social Third: How Social Media is Transforming IT Sales
The Social Third: How Social Media is Transforming IT Sales
 

Similar to BlackBerry10 alapú natív alkalmazásfejlesztés

Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztésOpen Academy
 
StreamProxy - University of Pannonia
StreamProxy - University of PannoniaStreamProxy - University of Pannonia
StreamProxy - University of PannoniaBálint Szekeres
 
Kotlin Multiplatform: Ilyen minek van?
Kotlin Multiplatform: Ilyen minek van?Kotlin Multiplatform: Ilyen minek van?
Kotlin Multiplatform: Ilyen minek van?Mito
 
Fejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanFejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanPal Vojacsek
 
Multiplatform mobil fejlesztések
Multiplatform mobil fejlesztésekMultiplatform mobil fejlesztések
Multiplatform mobil fejlesztésekOpen Academy
 
BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)Csaba Szabó
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenKrisztián Gyula Tóth
 
Virtualizáció az EGISben
Virtualizáció az EGISbenVirtualizáció az EGISben
Virtualizáció az EGISbengazdagf
 
Windows IoT - A kütyüoldal
Windows IoT - A kütyüoldalWindows IoT - A kütyüoldal
Windows IoT - A kütyüoldalGyörgy Balássy
 
Kubernetes 1x1
Kubernetes 1x1Kubernetes 1x1
Kubernetes 1x1Péter Tar
 
Windows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-banWindows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-banGyörgy Balássy
 
Swift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlSwift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlBalaBit
 
Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Balint Erdi
 
Linux Kernel – Hogyan csapjunk bele?
Linux Kernel – Hogyan csapjunk bele?Linux Kernel – Hogyan csapjunk bele?
Linux Kernel – Hogyan csapjunk bele?BalaBit
 
Klaszter és virtualizációs technikák
Klaszter és virtualizációs technikákKlaszter és virtualizációs technikák
Klaszter és virtualizációs technikákFerenc Szalai
 

Similar to BlackBerry10 alapú natív alkalmazásfejlesztés (20)

Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztés
 
StreamProxy - University of Pannonia
StreamProxy - University of PannoniaStreamProxy - University of Pannonia
StreamProxy - University of Pannonia
 
Kotlin Multiplatform: Ilyen minek van?
Kotlin Multiplatform: Ilyen minek van?Kotlin Multiplatform: Ilyen minek van?
Kotlin Multiplatform: Ilyen minek van?
 
Fejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanFejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorban
 
Budapest.rb 201010
Budapest.rb 201010Budapest.rb 201010
Budapest.rb 201010
 
Multiplatform mobil fejlesztések
Multiplatform mobil fejlesztésekMultiplatform mobil fejlesztések
Multiplatform mobil fejlesztések
 
BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)BME - Szakdolgozat (2014)
BME - Szakdolgozat (2014)
 
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
 
A Firefox-on túl is Mozilla
A Firefox-on túl is MozillaA Firefox-on túl is Mozilla
A Firefox-on túl is Mozilla
 
Virtualizáció az EGISben
Virtualizáció az EGISbenVirtualizáció az EGISben
Virtualizáció az EGISben
 
Windows IoT - A kütyüoldal
Windows IoT - A kütyüoldalWindows IoT - A kütyüoldal
Windows IoT - A kütyüoldal
 
Kubernetes 1x1
Kubernetes 1x1Kubernetes 1x1
Kubernetes 1x1
 
Windows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-banWindows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-ban
 
Alumni Release Process
Alumni Release ProcessAlumni Release Process
Alumni Release Process
 
Windows 8
Windows 8Windows 8
Windows 8
 
Swift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlSwift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvéről
 
Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Couchdb - WebKonf 2009
Couchdb - WebKonf 2009
 
Linux Kernel – Hogyan csapjunk bele?
Linux Kernel – Hogyan csapjunk bele?Linux Kernel – Hogyan csapjunk bele?
Linux Kernel – Hogyan csapjunk bele?
 
Klaszter és virtualizációs technikák
Klaszter és virtualizációs technikákKlaszter és virtualizációs technikák
Klaszter és virtualizációs technikák
 
SZTAKI presentation
SZTAKI presentationSZTAKI presentation
SZTAKI presentation
 

More from Open Academy

BDD demisztifikálva
BDD demisztifikálvaBDD demisztifikálva
BDD demisztifikálvaOpen Academy
 
What SQL should actually be...
What SQL should actually be...What SQL should actually be...
What SQL should actually be...Open Academy
 
Dev tools rendering & memory profiling
Dev tools rendering & memory profilingDev tools rendering & memory profiling
Dev tools rendering & memory profilingOpen Academy
 
Firefox OS: hackelni könnyű
Firefox OS:  hackelni könnyűFirefox OS:  hackelni könnyű
Firefox OS: hackelni könnyűOpen Academy
 
A Windows Phone világa
A Windows Phone világaA Windows Phone világa
A Windows Phone világaOpen Academy
 
Okostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentjeOkostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentjeOpen Academy
 
Ipari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatbanIpari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatbanOpen Academy
 
Túlélés a Három Betűs Rövidítések világában
Túlélés a Három Betűs Rövidítések világábanTúlélés a Három Betűs Rövidítések világában
Túlélés a Három Betűs Rövidítések világábanOpen Academy
 
Naplózás a gyakorlatban
Naplózás a gyakorlatbanNaplózás a gyakorlatban
Naplózás a gyakorlatbanOpen Academy
 
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Open Academy
 
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Open Academy
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésOpen Academy
 
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Open Academy
 
Verziókövető rendszerek alkalmazása fejlesztési projektekben
Verziókövető rendszerek alkalmazása fejlesztési projektekbenVerziókövető rendszerek alkalmazása fejlesztési projektekben
Verziókövető rendszerek alkalmazása fejlesztési projektekbenOpen Academy
 

More from Open Academy (16)

BDD demisztifikálva
BDD demisztifikálvaBDD demisztifikálva
BDD demisztifikálva
 
What SQL should actually be...
What SQL should actually be...What SQL should actually be...
What SQL should actually be...
 
Dev tools rendering & memory profiling
Dev tools rendering & memory profilingDev tools rendering & memory profiling
Dev tools rendering & memory profiling
 
Firefox OS: hackelni könnyű
Firefox OS:  hackelni könnyűFirefox OS:  hackelni könnyű
Firefox OS: hackelni könnyű
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Magvas gondolatok
Magvas gondolatokMagvas gondolatok
Magvas gondolatok
 
A Windows Phone világa
A Windows Phone világaA Windows Phone világa
A Windows Phone világa
 
Okostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentjeOkostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentje
 
Ipari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatbanIpari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatban
 
Túlélés a Három Betűs Rövidítések világában
Túlélés a Három Betűs Rövidítések világábanTúlélés a Három Betűs Rövidítések világában
Túlélés a Három Betűs Rövidítések világában
 
Naplózás a gyakorlatban
Naplózás a gyakorlatbanNaplózás a gyakorlatban
Naplózás a gyakorlatban
 
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!
 
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztés
 
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
 
Verziókövető rendszerek alkalmazása fejlesztési projektekben
Verziókövető rendszerek alkalmazása fejlesztési projektekbenVerziókövető rendszerek alkalmazása fejlesztési projektekben
Verziókövető rendszerek alkalmazása fejlesztési projektekben
 

BlackBerry10 alapú natív alkalmazásfejlesztés

  • 1. ELŐADÓ: Inotay Krisztián krisztian.inotay@gmail.com BlackBerry10 alapú natív alkalmazásfejlesztés BME-AutSoft KFT.
  • 2. BlackBerry 10 OS • Egy fokozatos fejlesztési folyamat eredménye – BlackBerry Tablet OS (PlayBook) – BlackBerry Tablet OS 2.0 (PlayBook) – BlackBerry 10 • Nagyon friss, január 30.-án jelent meg • Az új funkciókat integrálni fogják a régi Tablet OS-be is
  • 3. BlackBerry Tablet OS -1- • Teljes mértékben saját fejlesztés • QNX Neutrino alapok (valaki emlékszik a floppy-s változatra?  ) • Minden tekintetben egyedi felületet kapott
  • 5. BlackBerry Tablet OS -2- • Teljes értékű gesztus alapú vezérlés, az eszköz kávája is aktív szerepet kap benne • BlackBerry Flow • Sok támogatott fejlesztői platform: – BlackBerry Java – Adobe AIR – Natív C/C++ – Android
  • 6. Micsoda?! Android?? • Az OS része az Android Player • 2.3. –as Gingerbread alkalmazások natív futtatása • Portolás szükséges • Az alkalmazások az Android verziónak megfelelő UI-jal jelennek meg • Hamarosan ICS támogatás is lesz
  • 7. BlackBerry 10 • Mindent „tud”, amit a Tablet OS • Kiegészített, saját natív UI vezérlők megjelenése • Multitasking, fejlesztő dönthet a háttérben futásról • BlackBerry Hub megjelenése • Támogatottá vált még „néhány” fejlesztői platform….
  • 9. Mobil funkcionalitás • BlackBerry World • Push notification • In-app Payment • Maps • Sharing • AD Service • ScoreLoop
  • 10. BlackBerry World • Most érte el a 100.000 alkalmazást (a Windows Phone-os market most tart 130.000-nél…) • A gyártó minden erejével (és pénzével) támogatja az új/portolt alkalmazások felkerülését – Port-a-Thon-ok – Marmalade Playbook offer
  • 11. Android alkalmazások portolása • Command line tool-ok • Csak 2.3-as alkalmazások portolhatóak • Google API-k nem támogatottak • Egy tool ellenőrzi az APK-t, egy másik tool elvégzi az átcsomagolást • A felmerülő hibákat és inkompatibilitást jelzi a tool – 5 level • Probléma esetén az Android alkalmazás módosítása szükséges
  • 12. Natív alkalmazás fejlesztés • BlackBerry Cascades SDK • Simulator • Nyelv: Qt C++ módosított változata, DE • UI: Cascades QML + JavaScript • Aki amit eddig tudott a QML komponensekről…azt felejtse el • Valóban Qt és QML komponenseket használunk, de Cascades gyűjtőnéven
  • 13. Kitekintés: Qt • C++ framework • Crossplatform: Windows, Linux, OSX, Android, Symbian, MeeGo • Minden esetben natív alkalmazássá fordul a kód • Elsősorban GUI-s alkalmazásokhoz
  • 14. Kitekintés: QML • Qt Modeling Language • Deklaratív leíró nyelv • A leírás alapján hierarchikusan példányosodnak az objektumok • Objektumoknak Property-jei és Event-jei vannak • Objektum hierarchia tetszőlegesen bejárható C++ oldalról is
  • 15. Cascades • Egyfajta UI framework a QML felett • Egyszerűbb alkalmazások készíthetők 1-2 sor valódi programkód írása mellett is • Az elképzelés: UI interakciókat és eseményeket a QML kezeli, a háttérlogika a gyors futás miatt Qt C++ kód • Láttunk már olyan platformot, ahol ez pokoli gyors felületet eredményezett…
  • 16. Qt+QML vs Cascades • Úgy képzeljük el, hogy az ismert keretrendszer fölé húztak még egy réteget • „Régi” keretrendszer csak nyomokban fedezhető fel (szemfüles módon) • QML funkcionalitása megmaradt • Qwidget nem létezik, és olyan osztályok sem, melyek ehhez kapcsolódnak (pl. QSyntaxHighLighter) • QML külön szálon fut default
  • 17. Ami nagyon jó • Elérhető az OS teljes UI vezérlőtára • Ezek C++ osztályai is, így már C++ -ból is fejleszthetünk UI-t (bár az eredeti Qt-s koncepcióhoz képest ez visszalépés) • Megmaradt a Signals and Slots mechanizmus (kibővítve, már lehetséges C++ <-> QML kötés is) • QML teljesen OpenGL ES-sel renderelődik default
  • 18. Ami kevésbé tökéletes… • Új layout rendszer miatt megszűnt a relatív pozícionálás • Ami bevett gyakorlat volt Qt alatt, az itt már lehet hogy workaround-ot igényel • Egyes komponensek máshogy viselkednek (pl. Label) • DE könnyű megszokni
  • 19. UI Guidelines • Egyfajta BB10 „élményt” definiáltak a natív alkalmazásoknak • Pontos és részletes guideline a felületek tervezéséhez – http://developer.blackberry.com/devzone/desi gn/bb10/ • Eltérni lehet, de akkor az alkalmazás kilóg az összképből
  • 21. Fejlesztés Cascades SDK-val • Minden esetben natív kódra fordul az alkalmazás • Eclipse alapú SDK • Beépített fejlesztést támogató plugin-ek (QML editor, BlackBerry Device Wizard) • Gyári projekt template-ek
  • 22. C++ logika • Minden alkalmazáshoz tartozik legalább 2 osztály a template-ekben • Egyik a main() függvény, másik a UI-t hozza létre (most épp applicationUI a neve) • C++ metódusok hívhatóak a UI-ról • QML vezérlők, property-k módosíthatóak C++ -ból • Aszinkron működést egyszerű biztosítani
  • 23. Saját C++ osztályok • Általános osztályok készíthetőek a modell számára (Qobject parent rendszer) • C++ osztályok egy az egyben adhatóak át a QML-nek -> QML-szerű viselkedés • Saját UI controllerek implementálhatóak
  • 24. Amit még a BB ad • Developer Site – Több száz oldalnyi dokumentáció, részletes leírás, példák mindenre – GitHUB profil a már elkészült sample appoknak – Részletes API reference – BugTracking – Developer blog • Developer Forum
  • 25. ELŐADÓ: Inotay Krisztián krisztian.inotay@gmail.com BlackBerry10 alapú natív alkalmazásfejlesztés BME-AutSoft KFT. Kérdések
  • 26. ELŐADÓ: Inotay Krisztián krisztian.inotay@gmail.com BlackBerry10 alapú natív alkalmazásfejlesztés BME-AutSoft KFT. Köszönöm a figyelmet!