Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BlackBerry10 alapú natív alkalmazásfejlesztés

1,081 views

Published on

  • Be the first to comment

  • Be the first to like this

BlackBerry10 alapú natív alkalmazásfejlesztés

  1. 1. ELŐADÓ:Inotay Krisztiánkrisztian.inotay@gmail.comBlackBerry10 alapú natívalkalmazásfejlesztésBME-AutSoft KFT.
  2. 2. BlackBerry 10 OS• Egy fokozatos fejlesztési folyamateredmé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égiTablet OS-be is
  3. 3. BlackBerry Tablet OS -1-• Teljes mértékben saját fejlesztés• QNX Neutrino alapok (valaki emlékszik afloppy-s változatra?  )• Minden tekintetbenegyedi felületet kapott
  4. 4. BlackBerry PlayBook
  5. 5. BlackBerry Tablet OS -2-• Teljes értékű gesztus alapú vezérlés, azeszkö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. 6. Micsoda?! Android??• Az OS része az Android Player• 2.3. –as Gingerbread alkalmazások natívfuttatása• Portolás szükséges• Az alkalmazások az Android verziónakmegfelelő UI-jal jelennek meg• Hamarosan ICS támogatás is lesz
  7. 7. BlackBerry 10• Mindent „tud”, amit a Tablet OS• Kiegészített, saját natív UI vezérlőkmegjelenése• Multitasking, fejlesztő dönthet a háttérbenfutásról• BlackBerry Hub megjelenése• Támogatottá vált még „néhány” fejlesztőiplatform….
  8. 8. BB10 támogatott platformok• Huhh…
  9. 9. Mobil funkcionalitás• BlackBerry World• Push notification• In-app Payment• Maps• Sharing• AD Service• ScoreLoop
  10. 10. BlackBerry World• Most érte el a 100.000 alkalmazást(a Windows Phone-os market most tart130.000-nél…)• A gyártó minden erejével (és pénzével)támogatja az új/portolt alkalmazásokfelkerülését– Port-a-Thon-ok– Marmalade Playbook offer
  11. 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 toolelvégzi az átcsomagolást• A felmerülő hibákat és inkompatibilitást jelzi atool – 5 level• Probléma esetén az Android alkalmazásmódosítása szükséges
  12. 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 QMLkomponensekről…azt felejtse el• Valóban Qt és QML komponensekethasználunk, de Cascades gyűjtőnéven
  13. 13. Kitekintés: Qt• C++ framework• Crossplatform: Windows, Linux, OSX,Android, Symbian, MeeGo• Minden esetben natív alkalmazássá fordula kód• Elsősorban GUI-s alkalmazásokhoz
  14. 14. Kitekintés: QML• Qt Modeling Language• Deklaratív leíró nyelv• A leírás alapján hierarchikusanpéldányosodnak az objektumok• Objektumoknak Property-jei és Event-jeivannak• Objektum hierarchia tetszőlegesenbejárható C++ oldalról is
  15. 15. Cascades• Egyfajta UI framework a QML felett• Egyszerűbb alkalmazások készíthetők 1-2sor valódi programkód írása mellett is• Az elképzelés: UI interakciókat éseseményeket a QML kezeli, a háttérlogikaa gyors futás miatt Qt C++ kód• Láttunk már olyan platformot, ahol ezpokoli gyors felületet eredményezett…
  16. 16. Qt+QML vs Cascades• Úgy képzeljük el, hogy az ismertkeretrendszer fölé húztak még egy réteget• „Régi” keretrendszer csak nyomokbanfedezhető fel (szemfüles módon)• QML funkcionalitása megmaradt• Qwidget nem létezik, és olyan osztályoksem, melyek ehhez kapcsolódnak (pl.QSyntaxHighLighter)• QML külön szálon fut default
  17. 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 isfejleszthetünk UI-t (bár az eredeti Qt-skoncepcióhoz képest ez visszalépés)• Megmaradt a Signals and Slotsmechanizmus (kibővítve, már lehetségesC++ <-> QML kötés is)• QML teljesen OpenGL ES-sel renderelődikdefault
  18. 18. Ami kevésbé tökéletes…• Új layout rendszer miatt megszűnt a relatívpozícionálás• Ami bevett gyakorlat volt Qt alatt, az ittmár lehet hogy workaround-ot igényel• Egyes komponensek máshogyviselkednek (pl. Label)• DE könnyű megszokni
  19. 19. UI Guidelines• Egyfajta BB10 „élményt” definiáltak a natívalkalmazásoknak• Pontos és részletes guideline a felületektervezéséhez– http://developer.blackberry.com/devzone/design/bb10/• Eltérni lehet, de akkor az alkalmazás kilógaz összképből
  20. 20. UI Guidelines példa
  21. 21. Fejlesztés Cascades SDK-val• Minden esetben natív kódra fordul azalkalmazás• Eclipse alapú SDK• Beépített fejlesztést támogató plugin-ek(QML editor, BlackBerry Device Wizard)• Gyári projekt template-ek
  22. 22. C++ logika• Minden alkalmazáshoz tartozik legalább 2osztály a template-ekben• Egyik a main() függvény, másik a UI-thozza létre (most épp applicationUI aneve)• C++ metódusok hívhatóak a UI-ról• QML vezérlők, property-k módosíthatóakC++ -ból• Aszinkron működést egyszerű biztosítani
  23. 23. Saját C++ osztályok• Általános osztályok készíthetőek a modellszámára (Qobject parent rendszer)• C++ osztályok egy az egyben adhatóak áta QML-nek -> QML-szerű viselkedés• Saját UI controllerek implementálhatóak
  24. 24. Amit még a BB ad• Developer Site– Több száz oldalnyi dokumentáció, részletesleírás, példák mindenre– GitHUB profil a már elkészült sampleappoknak– Részletes API reference– BugTracking– Developer blog• Developer Forum
  25. 25. ELŐADÓ:Inotay Krisztiánkrisztian.inotay@gmail.comBlackBerry10 alapú natívalkalmazásfejlesztésBME-AutSoft KFT.Kérdések
  26. 26. ELŐADÓ:Inotay Krisztiánkrisztian.inotay@gmail.comBlackBerry10 alapú natívalkalmazásfejlesztésBME-AutSoft KFT.Köszönöm a figyelmet!

×