Your SlideShare is downloading. ×
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application development? By Kamel Lajili
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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


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 …

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

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Introduction to BlackBerry 10 Apps DevelopmentKÁMEL LAJILIKLAJILI@BLACKBERRY.COM, @KLAJILI
  • 2. Re-designed.Re-engineered.Re-invented.
  • 3. Integrated Social Beautiful
  • 4. BlackBerry 10SDKsC++/QtCascadesActionScriptAdobe® AIR®HTML5 BlackBerry®WebWorks™C/C++Native SDKJavaAndroid™Runtime
  • 5. BlackBerry 10SDK Platform Support
  • 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. 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. Mission-critical reliabilityNuclearReactorsWarehouseControlMining Control CanadarmVisionWalmartHVACWindmills Motor Control PLC’s Process ControlCancer TherapyLaser Eye Surgery PrecisionMilling
  • 10. Integrated Social Beautiful
  • 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. 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. Invocation FrameworkCard Styles Three styles Picker Composer Previewer Determines Peek behavior Transition style15
  • 14. Integrated Social Beautiful
  • 15. Share Framework17
  • 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++
  • 18. Native SDKOSS & Developer Experience
  • 19. Native SDKHigh Performance Gaming
  • 20. Native SDKOpen Industry Standards
  • 21. Native SDKOpen Source Support
  • 23. Integrated Social Beautiful
  • 24. Native SDKOSS & Developer Experience
  • 25. Mature C++ application frameworkGood APIs (memory mgmt, Garded Pointers, Localization)Signals and SlotsMany help classesQMLQtGui Cascades
  • 26. 60 FPS!
  • 27. App logicPhotos by rumpleteaser and whologwy FlickrCascadesUI in separate thread28°
  • 28. Scene GraphRootContainerText: “Hello World”ContainerHello WorldRotationZScaleOpacity
  • 29. EventsQt uses signals & slots paradigmCascades events are mapped to Qt signals
  • 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. import bb.cascades 1.0Page {content: Label {text: "Hello World"}}Cascades SDKHello World
  • 32. Page* root = new Page;Label* label = Label::create().text("Hello World");root->setContent(label);Application::instance()->setScene(root);Cascades SDKHello World
  • 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. Data BindingSQLXMLJSONAnything
  • 35. • Tabs when content of relatively equalimportance.Application Structure• Drill-Down with back and peak tostructure content in a hierarchy.
  • 36. • List: Easy sortand filterScreen views• Grid: Quickdisplay• Free-Form:Canvas• Content: Focuson single items
  • 37. • Action BarScreen Structure• Title Bar • Segmentedcontrols
  • 38. • Action Menu • Context Menu • Application MenuApplication Menus
  • 40. The Promise of Web Tech44
  • 41. HTML5Test.com45 your own smart phone at:
  • 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. 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. How to get there?Web Assets WebWorks Tools BlackBerry Applications
  • 45. Remote Web Inspector Best in class debugging solution. Debug WebWorks applications on a simulator or device. Optimize web applications.49
  • 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. 51SenchaTouchBB10 Platform Partners
  • 48. Thank you52KÁMEL LAJILISr. Application DevelopmentConsultantKLAJILI@BLACKBERRY.COM@KLAJILI