BlackBerry10 alapú natív alkalmazásfejlesztés

  • 782 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
782
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ELŐADÓ:Inotay Krisztiánkrisztian.inotay@gmail.comBlackBerry10 alapú natívalkalmazásfejlesztésBME-AutSoft KFT.
  • 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. 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. BlackBerry PlayBook
  • 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. 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. 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. BB10 támogatott platformok• Huhh…
  • 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 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. UI Guidelines példa
  • 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. 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. 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. 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. ELŐADÓ:Inotay Krisztiánkrisztian.inotay@gmail.comBlackBerry10 alapú natívalkalmazásfejlesztésBME-AutSoft KFT.Kérdések
  • 26. ELŐADÓ:Inotay Krisztiánkrisztian.inotay@gmail.comBlackBerry10 alapú natívalkalmazásfejlesztésBME-AutSoft KFT.Köszönöm a figyelmet!