• Save
Develop For BlackBerry10
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Develop For BlackBerry10

on

  • 238 views

Introduction to BlackBerry 10 and Development SDKs & Tools

Introduction to BlackBerry 10 and Development SDKs & Tools

Statistics

Views

Total Views
238
Views on SlideShare
237
Embed Views
1

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 1

https://www.facebook.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Develop For BlackBerry10 Presentation Transcript

  • 1. Kareem ElSayed Application Development Consultant - EMEA kelsayed@blackberry.com @kemobyte Developing for BlackBerry 10 Native, Android, HTML5, Enterprise & More!
  • 2. What Is BlackBerry 10?  Completely new  Not a revision or upgrade of BlackBerry 7  Secure  Designed as a mobile computing platform  Not just another mobile phone OS  Designed for people on the move; people that want to get something done  Not just consume content on the couch http://developer.blackberry.com
  • 3. BlackBerry Z30 • 5” all-touch screen • Natural Sound technology • 4G LTE • 25hrs battery life
  • 4. 6 • Display - 5" display, 540 x 960 pixels, 24-bit color LCD • Memory - 8 GB application storage & 1.5 GB RAM • Processor - 1.2 GHz dual-core processor • Battery - 2650 mAh non- removable battery • Rear-facing camera: 5 MP Autofocus and flash, 5x digital zoom • Front-facing camera: 1.1 MP Fixed-focus, 3x digital zoom BlackBerry Z3
  • 5. Demo
  • 6. Why developing for BlackBerry 10?
  • 7. BlackBerry World BlackBerry World is available in 173 markets around the world More than 5 billion apps downloaded to date 9
  • 8. Ecosystem Success BlackBerry is gaining momentum, with positive, and sometimes surging trends  67,000 Registered vendors (doubled since BB10 launch)  262,250 Approved Apps (Over 130,000 BlackBerry 10 apps – August 2013)  Developer satisfaction (buzz, sentiment, advocacy)  Developers now submitting up to 3 different apps to BlackBerry World.  Catalogue is expanding Games now >1/3 of BBW inventory  Carrier billing with 60+ carriers in 35 countries  Over 6.800 BBM connected apps Ecosystem Success BlackBerry World Games (1/3 of BBW)
  • 9. BlackBerry World Growth
  • 10. Global Top Partners – Gaming
  • 11. ( UK) Published Media Sports Multimedia Global – Top Partners Photo Editor Ultimate Life Church
  • 12. Global – Top Partners Business and Productivity Social Networking
  • 13. Middle East – Top Partners Kitabi Quran Mojawad UniDic Muhammad (PHUH) Anghami Trix Sayidarty Al Eqtisadiah Lamsa – Children’s Ebooks Emirates NBD Grand Cinema MAF Carrefour Al jazeera Sports mTadawol WeChat Tarneeb Balot
  • 14. Developer Community Net Promoter Score +46 (from -43 in May 2012)1 Developer and Corporate IT sentiment towards BB10 “on-par” with all leading platforms2 Two thirds of organizations around the world planning to deploy BB10 applications3 NPS (+46) Developer Community
  • 15. Ecosystem Success 38% identify BlackBerry as primary platform (Vision Mobile) Sentiment improved 63% in the past year (Pivot Point) Ecosystem Success
  • 16. Money! 18
  • 17. More money for devs!  4% more than iOS developers (per App / month)  >35% more than Android developers (per App / month)  Developing an app for iOS costs  21% more than Android  81% more than BlackBerry 19
  • 18. FlyCraft and Pop Corny 20 ThousantSurvivalUnits:) iOS BlackBerry Android Pop Corny revenues since launch ThousantSurvivalUnits :) revenues since launch Pop Corny FlyCraft
  • 19. Strong & Growing App Ecosystem C/C++ Native SDK Wide choice of programming languages Java Android Runtime C++/Qt Cascades Broad range of app dev libraries and personal appsManaging corporate... HTML5 BlackBerry WebWorks™
  • 20. Ok, now let’s talk about technology!
  • 21. Acquisitions 23 Social Calendaring App Distribution Smartphone Security Web Development UX / UI Design Navigation Platform OS Social Gaming Social Contacts Webkit Experts Device Mgmt. Encryption
  • 22. Platform  Built on QNX Neutrino Real-time OS  Microkernel based OS  POSIX Compliant OS  (Portable Operating System Interface)  Native C/C++ Applications  Direct OpenGL / HW Access  Qt/Cascades for native development 24
  • 23. Transition 25
  • 24. BlackBerry 10 supports open standards and open source tools and provides enabling technologies for your choice of development environment A Platform of Choice… C/C++/Qt Native SDK & Cascades HTML5 WebWorks™ Apache Cordova Java Android™ Runtime Jelly Bean 4.2.2 26
  • 25. Mobile Development from 20,000 feet 27 Native C/C++/Qt Application Developers Web Application Developers Community and Content Developers UI Framework Platform, device and cloud APIs BlackBerry 10 OS Multi- threading Memory mgmt Security BlackBerry Cascades HTML5, CSS, JavaScript Graphics …. Android Runtime Gaming Platforms
  • 26. What to choose?  Background and Skills  Reuse of existing code, assets  Requirements  Cross-portfolio, cross-platform, features  Platform Capabilities  APIs, tooling, frameworks, constraints  Tools  IDE, utilities, simulation, familiarity  Support  Community, docs, samples 28
  • 27. BlackBerry Native SDK
  • 28. Standard • STL and POSIX compliant libraries • Screen and Windowing APIs • Gestures library • Input events library • Imaging and Compression • OpenGL ES 1.1/2.0 • OpenAL 1.1 • Freetype Font Rendering • Math • XML and SQLite Database library 30
  • 29. Cross-platform Libraries • Boost: portable C++ libraries • Cocos2D-X: cross-platform 2D game framework • Box2D: 2D physics engine • Bullet : 3D physics engine • GamePlay: cross-platform 3D gaming framework • Lua: embeddable scripting language • SFML/SDL: cross-platform multimedia library. • Skia: Fast 2D rendering engine 31
  • 30. Gaming Platform  Scoreloop SDK  Integrate Social Gaming Features  Solid Analytics  Cross-platform presence  Billing / Monetization feature  Payment APIs for in-Game transactions 32
  • 31. BlackBerry on GitHub • Open Source Development Community • Port libraries and frameworks • Create libraries and frameworks • Collaborate and contribute • Work directly with other BlackBerry Platform Developers blackberry.github.com 33
  • 32. Game Engines  Unity Technologies  Marmalade SDK  ShiVa3D Game Engine with Development tools  More Coming! 34
  • 33. Development tools • GCC and GDB based tool chain • Momentics IDE - Eclipse based C/C++ Development Tools • In-built Application Debugging, Profiling and Memory Analysis • Microsoft Visual Studio plugin 36
  • 34. Visual Studio Plugin  You can use the BlackBerry Native Plug-in for Microsoft Visual Studio to develop C and C++ applications for your BlackBerry 10 device or BlackBerry PlayBook tablet. 37
  • 35. Links  BlackBerry Native SDK developer.blackberry.com/native -> “Download the Native SDK” -> “Get started with Native SDK”  Blackberry Open Source blackberry.github.com 38
  • 36. Cascades C++/Qt
  • 37. What is Cascades?  Easy to use framework for delivering the astonishing user experience and UI  Rich set of core UI components  Built in signature effects  Pre-packaged interaction design  Easy data binding to various data sources (SQL/XML/JSON)  Ease of integration with platform services  C++ and/or QML/JavaScript® power for the same object model 40
  • 38. What is Cascades? 41
  • 39. Out-of-the-box Elegance 42
  • 40. Cascades and Qt • Mature C++ application framework • Good APIs • Signals and Slots • Many help classes • QML • QtGui Cascades 43 Cascades
  • 41. Creating UIs • Creating UIs in C++ is a lot of fun, but there are easier and faster ways to describe UI. • QML • declarative language to describe trees of Qt objects with properties (typically user interface) • Looks like JSON • Embed JavaScript as signal handlers • A different view of the same object model that C++ offers • Easily mixed with C++ • Preview your QML UI in Cascades Builder 44
  • 42. Typical Cascades App http://developer.blackberry.com JavaScript based UI logic QML based UI structure QT/C++ Backend
  • 43. Any Mix Is Possible http://developer.blackberry.com JavaScript based UI logic QML based UI structure QT/C++ Backend
  • 44. Why Cascades? • For Qt Developers…. • Cascades replaces Qt Quick, Qt GUI • Cascades Builder replaces Qt Creator • Slightly different QML syntax • So, why Cascades??? • Cascades UI rendering NOT on the main thread • BlackBerry10 Look and Feel • Advanced placement management of components 47
  • 45. Hello World in Cascades import bb.cascades 1.0 Page { content: Label { text: "Hello World" } } 48
  • 46. Hello World in Qt Page* root = new Page; Label* label = Label::create() .text("Hello World"); root->setContent(label); Application::instance()->setScene(root); 49
  • 47. Cascades IDE 50
  • 48. Cascades UI Framework • Rich collection of in-built controls • Some 40+ fully customizable UI controls • Action Bar • Navigation – Tabs & Back • View specific actions • Context Menu • Item specific actions 51
  • 49. UI Adaptability - Multiple Form Factors
  • 50. How to create an adaptable UI?  Built in controls adapt to device type  Layouts, space quota, 9-sliced images, …  Unique (sub)set of assets per configuration
  • 51. Asset selectors Based on resolution and/or visual style assets/ main_screen.qml dialog.qml picture.png icon.png 720x720/ main_screen.qml picture.png
  • 52. Asset selectors Based on resolution and/or visual style assets/ main_screen.qml dialog.qml picture.png icon.png 720x720/ main_screen.qml picture.png
  • 53. Asset selectors Based on resolution and/or visual style assets/ main_screen.qml dialog.qml picture.png icon.png 720x720/ main_screen.qml picture.png
  • 54. Links  BlackBerry Cascades  developer.blackberry.com/cascades  Blackberry Open Source  blackberry.github.com/cascades/samples.html 57
  • 55. BlackBerry WebWorks HTML5
  • 56. BlackBerry10 & HTML5  Unparalleled Standards Support  Incredible Performance 59
  • 57. 60 HTML5 Standards Leadership…
  • 58. 61 HTML5 Performance Leadership… BlackBerry: 1.55s “The next closest competitor in terms of mobile browser speed takes nearly 5 seconds to load the same page” --Venture Beat * February 2014 * http://venturebeat.com/2014/02/05/unbelievable-blackberrys-mobile-browser-is-actually-the-fastest-of-any-phonetablet-platform/
  • 59. HTML5 and WebWorks  Port your existing Webs to BlackBerry WebWorks • HTML5, CSS3, JavaScript • Leading in mobile browser benchmarks • Allows for cross-platform web development • Broadest portability, Native Look&Feel (BBUI.js), any IDE 62
  • 60. WebWorks for BB10 • The SDK has been re-written for BlackBerry 10 – No longer based on Java or Adobe AIR – It is now based on JavaScript with a C/C++ back end – The packaging process uses node.js 63
  • 61. Why HTML5 and WebWorks? Decision guidance  Utilize your existing Web experience  Re-use lots of cross platform code  Extend with BlackBerry® WebWorks™ platform to securely access native level functionality  Provides the best of both worlds  Rich hardware accelerated UI  BB10 apps built with BlackBerry® WebWorks™ behave like native apps 64
  • 62. BlackBerry Web Platform  Driven by strong Web standards support  Powered by WebKit  HTML5 and CSS3  Flash 11 and WebGL  WebWorks and Cordova 65
  • 63. What can you do with WebWorks? • Geolocation • Offline mode • Storage • Audio / Video • 2D Graphics • Advanced forms • Invoke • Web Workers • Notifications 67
  • 64. How do I get there? Web Assets WebWorks Tools BlackBerry Applications
  • 65. Custom WebWorks API • Build your own APIs – Access native layer functionality – More powerful than just HTML5 – E.g. NFC, Clipboard, Barcode, Analytics – BlackBerry 10 = C/C++ 69
  • 66. HTML5 Emulator - Ripple • A multi-platform mobile emulator for testing – Chrome Extension – Render Web content similar to a web browser – Emulate device-specific APIs and capabilities – Web inspector debugging & profiling – Package and sign BlackBerry applications • Supported APIs: – WebWorks, WebWorks for Tablet OS – WebWorks for BlackBerry 10 (1.x) – PhoneGap 70
  • 67. Ripple Extension 71
  • 68. Web Platform Extras  AliceJS library  CSS3 hardware acceleration  WebGL  3D Graphics, OpenGL ES 2.0  Community frameworks 72
  • 69. bbui.js • Designed for use with BlackBerry WebWorks • A web framework that provides a BlackBerry Look and Feel • Framework goals • Follows BlackBerry 10 UI guidelines • Efficient screen management • Focused on performance and memory optimization • Open source and collaborative • Community driven, not officially from BlackBerry 73
  • 70. bbui.js - Cases 74
  • 71. WebWorks SDK 2.0 BETA 75 BlackBerry WebWorks 2.0 is now powered by Apache Cordova, an open source development framework to create apps using web technologies. Porting apps built with WebWorks SDK 2.0 requires less effort than native apps, since you can reuse many of your web assets. This release is also supported by new GUI and command line tools, which will simplify development cycles and reduce development costs.
  • 72. WebWorks SDK 2.0 Why it matters Cross-Platform Capabilities Expand your business through ease of portability to and from the BlackBerry 10 platform by reusing many of your existing web assets. Simplified Development Tooling Browser-based GUI and Command Line tooling enables quick- to-market app development and deployment. No Ripple. Enterprise Alignment Cordova is a standards-based technology used not only by WebWorks 2.0, but many leading enterprise app development solutions such as IBM Worklight and SAP Mobile Platform.
  • 73. Links  SDK + Simulators  http://developer.blackberry.com/html5  GitHub  https://github.com/blackberry/BB10-WebWorks-Samples 77
  • 74. Android Runtime and Packager
  • 75. BlackBerry Runtime for Android™  Enable Android software stack running on the BlackBerry 10, including  Dalvik Virtual machine  Graphics and media  Structured data storage, e.g. SQLite®  Device access, e.g. GPS, accelerometer, compass…  Run at full speed directly on the OS kernel  Optimized performance; NOT virtualized  Tightly integrated with the underlying OS 79
  • 76. BlackBerry Runtime for Android apps is based on Open Source Android v4.2.2 (aka Jelly Bean). Our 10.2.1 release offers significantly increased compatibility. Bring your Android app to the BlackBerry 10 platform so you can expand your user base and open up new revenue opportunities. Android Runtime What’s it all about and why does it matter?
  • 77. Target Developers • Android App Developer • Only here because it is another avenue to sell their application • Heard that BlackBerry had an Android Runtime and thought they would check it out • BlackBerry Java Developer • Decided to invest in Android Java to hit both BlackBerry and Android devices • Their Java App does not use many/any BlackBerry APIs • Frustrated that we do not support Java runtime on BlackBerry anymore 81
  • 78. Compatibility and Limitations  About 70-85% of all Android apps are compatible today  Not all Android APIs are supported • Hardware and OS limitations  New features recently supported: • Bluetooth (introduced in 10.2.1) • Google Maps (replaced with Open Street Maps in 10.2.1) • NFC (in 10.2.2) • Native Android Code (supported in 10.2.1)  Android Apps are limited to the personal perimeter  Full compatibility list: developer.blackberry.com/android/apisupport/ 82
  • 79. Porting Existing Apps  4 Tool options to use • Online Conversion Tool – quickest way to get app converted • Eclipse Plug-in – For most Android developers • Command-line Tools – For advanced developers • Graphical AID – very easy to use 83 .apk in .bar out “BlackBerry has reduced barriers to entry for developers by providing a straightforward porting facility for Android apps to BlackBerry 10.” - Vision Mobile, July 2013
  • 80. You can grow your user base and increase revenue by getting your Android app onto BlackBerry World. Broader Reach BlackBerry World is available in 171 markets around the world More than 5 billion apps downloaded to date
  • 81. Broader Reach Revenue Opportunities % of devs who say revenue generation is a challenge 42% 22% Developers focusing primarily on the Android ecosystem are twice as likely to have challenges with revenue generation than developers focusing on the BlackBerry 10 ecosytem.* *Vision Mobile, June 2013
  • 82. User discovers APK file, reviews Disclaimer, and chooses to install User acknowledges Settings and Permissions Install initiates User can open app or access via homescreen icon Broader Reach: APK Direct Install – A Closer Look 1 2 3 4
  • 83. Links  Where to start  http://developer.blackberry.com/android 87
  • 84. Built for BlackBerry
  • 85. What is the Built for BlackBerry Program? Built for BlackBerry is an app designation “It signifies to users that an application fully embraces and delivers the signature BlackBerry 10 experience”
  • 86. Benefits – BlackBerry World List View (Search or Top List) Built for BlackBerry Identifier placed beside star rating Touch target directs to Built for BlackBerry experience screen Feature ScreenApp Details Screen Built for BlackBerry Badge below screenshots (touch target)
  • 87. Experience the Value of Carousel Placement 230.6% Increase paid downloads 39% Increase free downloads 187.9% Increase daily revenue Source: BlackBerry World Analytics
  • 88. Supported Platforms C/C++ Native SDK CascadesHTML5 BlackBerry® WebWorks™ Adobe AIR http://developer.blackberry.com/builtforblackberry
  • 89. Built for BlackBerry Evaluation Criteria User Experience Performance Service Integration Security Localization http://developer.blackberry.com/builtforblackberry
  • 90. Games http://developer.blackberry.com/builtforblackberry
  • 91. Go to developer.blackberry.com Install chosen SDK(s) and Simulator Get signing keys & create BlackBerry World account Work through the tutorials, UI guidelines, other docs and samples Develop and submit your apps How do I get started?
  • 92. THANK YOU
  • 93. THANK YOU Kareem ELSayed Application Development Consultant – EMEA @kemobyte