0
Introduction to BlackBerry 10 Apps DevelopmentKÁMEL LAJILIKLAJILI@BLACKBERRY.COM, @KLAJILI
Re-designed.Re-engineered.Re-invented.
Integrated Social Beautiful
BlackBerry 10SDKsC++/QtCascadesActionScriptAdobe® AIR®HTML5 BlackBerry®WebWorks™C/C++Native SDKJavaAndroid™Runtime
BlackBerry 10SDK Platform Support
THE QNXNEUTRINO RTOS
Questionable reliabilityTraditional monolithic architecture• Model for most OSes available today– Windows, Linux, Android•...
Mission-critical reliabilityQNX microkernel architecture• Microkernel minimizes execution withunrestricted “kernel” CPU pr...
Mission-critical reliabilityNuclearReactorsWarehouseControlMining Control CanadarmVisionWalmartHVACWindmills Motor Control...
Integrated Social Beautiful
 Apps can use the InvocationFramework to improve user’s flow• Launching Core and 3rd party Apps• Registering URIs and MIM...
Invocation FrameworkCards Embeds a Screen from Target Instead of launching the full app No Active Frame presence Suppo...
Invocation FrameworkCard Styles Three styles Picker Composer Previewer Determines Peek behavior Transition style15
Integrated Social Beautiful
Share Framework17
BlackBerry 10 FoundationsArchitectureNative & HTML5 AppsHTML/CSSJavaScriptWebKit JavaScript C++CascadesQMLQNX KernelPlatfo...
THE NATIVE SDK
Native SDKOSS & Developer Experience
Native SDKHigh Performance Gaming
Native SDKOpen Industry Standards
Native SDKOpen Source Support
THE CASCADES SDK
Integrated Social Beautiful
Native SDKOSS & Developer Experience
Mature C++ application frameworkGood APIs (memory mgmt, Garded Pointers, Localization)Signals and SlotsMany help classesQM...
60 FPS!
App logicPhotos by rumpleteaser and whologwy FlickrCascadesUI in separate thread28°
Scene GraphRootContainerText: “Hello World”ContainerHello WorldRotationZScaleOpacity
EventsQt uses signals & slots paradigmCascades events are mapped to Qt signals
You can choose!No difference between UI created in QML or C++They can be combinedTypically, UI in QML and business logic i...
import bb.cascades 1.0Page {content: Label {text: "Hello World"}}Cascades SDKHello World
Page* root = new Page;Label* label = Label::create().text("Hello World");root->setContent(label);Application::instance()->...
AnimationsAny Cascades UI element can be animatedAnimations are “running” on the engine threadRemember the client server s...
Data BindingSQLXMLJSONAnything
• Tabs when content of relatively equalimportance.Application Structure• Drill-Down with back and peak tostructure content...
• List: Easy sortand filterScreen views• Grid: Quickdisplay• Free-Form:Canvas• Content: Focuson single items
• Action BarScreen Structure• Title Bar • Segmentedcontrols
• Action Menu • Context Menu • Application MenuApplication Menus
THE WEBWORKS SDK
The Promise of Web Tech44
HTML5Test.com45http://html5test.com/compare/browser/bb07/rimtabletos20/bb10.htmlTest your own smart phone at: http://html5...
ringmark46The first vendor mobilebrowser to pass ringmarkring 1!A web-based test suite forcapabilities that modernmobile w...
How did we do it?47• JavaScript/HTML/CSSBrowser Application• Framework for running Web codeWeb Platform• Web rendering Eng...
How to get there?Web Assets WebWorks Tools BlackBerry Applications
Remote Web Inspector Best in class debugging solution. Debug WebWorks applications on a simulator or device. Optimize w...
Ripple Mobile Emulator Tool for mobile web testing Chrome extension Emulate BlackBerry devicecapabilities Package and ...
51SenchaTouchBB10 Platform Partners
Thank you52KÁMEL LAJILISr. Application DevelopmentConsultantKLAJILI@BLACKBERRY.COM@KLAJILI
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application development? By Kamel Lajili
Upcoming SlideShare
Loading in...5
×

QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application development? By Kamel Lajili

830

Published on

This session is intended to introduce you to the different BlackBerry 10 SDKs showing different ways of developing a mobile app. For example through a pure C/C++ approach very convenient for Games and Libs developers. Or through a more comfortable way using a high level application development Framework supporting Qt and the Blackberry own Cascades UI framework. We will also show you how powerful the BlackBerry 10 mobile web development platform is.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
830
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application development? By Kamel Lajili"

  1. 1. Introduction to BlackBerry 10 Apps DevelopmentKÁMEL LAJILIKLAJILI@BLACKBERRY.COM, @KLAJILI
  2. 2. Re-designed.Re-engineered.Re-invented.
  3. 3. Integrated Social Beautiful
  4. 4. BlackBerry 10SDKsC++/QtCascadesActionScriptAdobe® AIR®HTML5 BlackBerry®WebWorks™C/C++Native SDKJavaAndroid™Runtime
  5. 5. BlackBerry 10SDK Platform Support
  6. 6. THE QNXNEUTRINO RTOS
  7. 7. Questionable reliabilityTraditional monolithic architecture• Model for most OSes available today– Windows, Linux, Android• OS contains tremendous amount offunctionality with unrestricted CPU privileges• A fault in one OS component can damage anyother, leading to system-wide corruption– System reliability is as good as your worstdriver developer– Reboot is only recovery possibleApp AppAppAppFilesystemDriverNetworkstackMonolithicOSApp AppMultimediastack
  8. 8. Mission-critical reliabilityQNX microkernel architecture• Microkernel minimizes execution withunrestricted “kernel” CPU privileges• All processes run in isolated process space– Includes drivers, file systems, stacks– All QNX processes are “applications”• Faults are contained so that they only affect thefaulty component– Failed components can be dynamicallyrecovered while the system continues tooperateApp AppAppAppFilesystemDriverNetworkstackMicro-kernelApp AppMultimediastack
  9. 9. Mission-critical reliabilityNuclearReactorsWarehouseControlMining Control CanadarmVisionWalmartHVACWindmills Motor Control PLC’s Process ControlCancer TherapyLaser Eye Surgery PrecisionMilling
  10. 10. Integrated Social Beautiful
  11. 11.  Apps can use the InvocationFramework to improve user’s flow• Launching Core and 3rd party Apps• Registering URIs and MIME types• Cards and content viewers13Application GuidelinesInvocation Framework
  12. 12. Invocation FrameworkCards Embeds a Screen from Target Instead of launching the full app No Active Frame presence Supports peeking A leap ahead of the competition BlackBerry 10 Flow at its best! A Card maintains its own processand security context14
  13. 13. Invocation FrameworkCard Styles Three styles Picker Composer Previewer Determines Peek behavior Transition style15
  14. 14. Integrated Social Beautiful
  15. 15. Share Framework17
  16. 16. BlackBerry 10 FoundationsArchitectureNative & HTML5 AppsHTML/CSSJavaScriptWebKit JavaScript C++CascadesQMLQNX KernelPlatform APIsAndroid Apps Adobe AIR AppsJavaAndroid Runtime.apkAction ScriptAIR Runtime.swfNetwork StorageQt (C++) BPS (C)Audio/Video Graphics Push i18n …Open GLOpen ALC/C++
  17. 17. THE NATIVE SDK
  18. 18. Native SDKOSS & Developer Experience
  19. 19. Native SDKHigh Performance Gaming
  20. 20. Native SDKOpen Industry Standards
  21. 21. Native SDKOpen Source Support
  22. 22. THE CASCADES SDK
  23. 23. Integrated Social Beautiful
  24. 24. Native SDKOSS & Developer Experience
  25. 25. Mature C++ application frameworkGood APIs (memory mgmt, Garded Pointers, Localization)Signals and SlotsMany help classesQMLQtGui Cascades
  26. 26. 60 FPS!
  27. 27. App logicPhotos by rumpleteaser and whologwy FlickrCascadesUI in separate thread28°
  28. 28. Scene GraphRootContainerText: “Hello World”ContainerHello WorldRotationZScaleOpacity
  29. 29. EventsQt uses signals & slots paradigmCascades events are mapped to Qt signals
  30. 30. You can choose!No difference between UI created in QML or C++They can be combinedTypically, UI in QML and business logic in C++QML supports JavaScript for signal handlingC++ QML
  31. 31. import bb.cascades 1.0Page {content: Label {text: "Hello World"}}Cascades SDKHello World
  32. 32. Page* root = new Page;Label* label = Label::create().text("Hello World");root->setContent(label);Application::instance()->setScene(root);Cascades SDKHello World
  33. 33. AnimationsAny Cascades UI element can be animatedAnimations are “running” on the engine threadRemember the client server setup?Explicit & Implicit animations:translation, rotation, scale, opacity, …
  34. 34. Data BindingSQLXMLJSONAnything
  35. 35. • Tabs when content of relatively equalimportance.Application Structure• Drill-Down with back and peak tostructure content in a hierarchy.
  36. 36. • List: Easy sortand filterScreen views• Grid: Quickdisplay• Free-Form:Canvas• Content: Focuson single items
  37. 37. • Action BarScreen Structure• Title Bar • Segmentedcontrols
  38. 38. • Action Menu • Context Menu • Application MenuApplication Menus
  39. 39. THE WEBWORKS SDK
  40. 40. The Promise of Web Tech44
  41. 41. HTML5Test.com45http://html5test.com/compare/browser/bb07/rimtabletos20/bb10.htmlTest your own smart phone at: http://html5test.com
  42. 42. ringmark46The first vendor mobilebrowser to pass ringmarkring 1!A web-based test suite forcapabilities that modernmobile web apps require.Test your own smartphone at: http://rng.ioRing 1 e.g. : Capabilities of building2D games, music and video apps,camera apps, etc…
  43. 43. How did we do it?47• JavaScript/HTML/CSSBrowser Application• Framework for running Web codeWeb Platform• Web rendering Engine, C++WebKit• QNX, system servicesBlackBerry 10 OS
  44. 44. How to get there?Web Assets WebWorks Tools BlackBerry Applications
  45. 45. Remote Web Inspector Best in class debugging solution. Debug WebWorks applications on a simulator or device. Optimize web applications.49
  46. 46. Ripple Mobile Emulator Tool for mobile web testing Chrome extension Emulate BlackBerry devicecapabilities Package and Sign Supported Platform APIs: WebWorks for BlackBerry 10 Apache Cordova / PhoneGap WebWorks WebWorks for Tablet OS50
  47. 47. 51SenchaTouchBB10 Platform Partners
  48. 48. Thank you52KÁMEL LAJILISr. Application DevelopmentConsultantKLAJILI@BLACKBERRY.COM@KLAJILI
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×