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

Like this? Share it with your network

Share

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

  • 1,171 views
Uploaded 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......

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.

More in: Technology , Education
  • 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
1,171
On Slideshare
1,144
From Embeds
27
Number of Embeds
4

Actions

Shares
Downloads
19
Comments
0
Likes
0

Embeds 27

http://rome.codemotionworld.com 14
http://berlin.codemotionworld.com 7
https://twitter.com 5
http://webcache.googleusercontent.com 1

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. 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
  • 6. THE QNXNEUTRINO RTOS
  • 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++
  • 17. THE NATIVE SDK
  • 18. Native SDKOSS & Developer Experience
  • 19. Native SDKHigh Performance Gaming
  • 20. Native SDKOpen Industry Standards
  • 21. Native SDKOpen Source Support
  • 22. THE CASCADES SDK
  • 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
  • 39. THE WEBWORKS SDK
  • 40. The Promise of Web Tech44
  • 41. HTML5Test.com45http://html5test.com/compare/browser/bb07/rimtabletos20/bb10.htmlTest your own smart phone at: http://html5test.com
  • 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