La piattaforma BlackBerry 10 è attualmente la piattaforma mobile più aperta presente sul mercato per quanto riguarda le tecnologie di sviluppo supportate. Gli sviluppatori possono agilmente portare il proprio codice su BlackBerry 10 con il minimo sforzo e, grazie ai numerosi famework e SDK a disposizione, averea portata di mano un’ambia scelta di strumenti per sfruttare al meglio la potenza del nuovo sistema operativo. Quale strategia adottare per portare la propria app su BlackBerry 10? Quali le opportunità? Come portare facilmente applicazioni Android su BlackBerry 10?
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
6. Ecosystem Success
BlackBerry is gaining momentum, with positive,
and sometimes Success
Ecosystem surging trends
67,000 Registered vendors (doubled since BB10
launch)
262,250 Approved Apps
5B Total Downloads
Storefront reach -173 countries
Developer satisfaction (buzz, sentiment, advocacy)
7. BlackBerry World
Over 130,000 BlackBerry
BlackBerry World 10 apps
50+% month over month sales
increase
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
Games
(1/3 of
BBW)
BlackBerry
World
9. Developer Community
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)
12. 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
12
15. Acquisitions
Webkit Experts
Platform OS
Web Development
Social Contacts
App Distribution
UX / UI Design
Device Mgmt.
Social Calendaring
Encryption
Navigatio
Social Gaming
Smartphone
Security
15
16. 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
16
21. 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
21
22. 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
22
24. 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
24
26. Unity Offer!
Have a Unity PRO License? Get the BlackBerry Plugin for free!
Worth $1.500
Get also a BlackBerry Z10 for Free
https://unity3d.com/contest/blackberry
26
27. 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
27
28. 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.
28
29. Links
BlackBerry Native SDK developer.blackberry.com/native
-> “Download the Native SDK”
-> “Get started with Native SDK”
Blackberry Open Source
blackberry.github.com
29
31. 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
31
34. Cascades and Qt
•
•
•
•
•
•
Mature C++ application framework
Good APIs
Signals and Slots
Many help classes
QML
QtGui Cascades
Cascades
34
35. 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
35
44. 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
45. 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
46. 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
47. 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
51. 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
51
52. 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
52
53. 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
53
56. What can you do with WebWorks?
• Geolocation
• Offline mode
• Storage
• Audio / Video
• 2D Graphics
• Advanced forms
• Invoke
• Web Workers
• Notifications
56
57. How do I get there?
Web Assets
WebWorks Tools
BlackBerry Applications
58. 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++
58
59. 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
59
62. 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
62
64. WebWorks SDK 2.0 BETA
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.
64
65. 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 quickto-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.
68. 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
68
69. Android Runtime
What’s it all about and why does it matter?
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.
70. 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
70
71. 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/
71
72. Porting Existing Apps
.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
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
72
73. Broader Reach
You can grow your user base and increase revenue by
getting your Android app onto BlackBerry World.
BlackBerry World is available in 171 markets
around the world
More than 5 billion apps downloaded to date
74. Broader Reach
Revenue Opportunities
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
% of devs who say revenue
generation is a challenge
42%
22%
75. Broader Reach:
APK Direct Install – A Closer Look
1
User discovers APK file,
reviews Disclaimer, and
chooses to install
2
User acknowledges
Settings and Permissions
3
Install initiates
4
User can open app or
access via homescreen icon
78. Love is in the AIR
Adobe AIR
Free and open source SDK
Open Source SDK
Cross platform (Mobile desktop, mobi
Cross platfom for & Desk)
3.5 millions of devs
3.5 million developers
70% of online games built on Flash
Different tools & frameworks
~70% online games built with Fl
Lot of frameworks and tools
79. Developing with Adobe AIR
Easily adapt and deploy existing content
Native BlackBerry® PlayBook™ tablet and BlackBerry 10
component set look and feel
Can create hybrid apps
Access to native (C/C++)API’s with Adobe® AIR® Native
Extensions
Lots of great community support
Lots of open-source frameworks
79
80. Why Use AIR?
AIR Community
Lot of Learning Resources
Fast for create games
Different Frameworks, Engines
& Libraries
Empowering UX
First Class Citizen for BB10
Great Designer-Developer
Workflows
Creative UI to the limit
http://developer.blackberry.com
81. Tools and getting started
Flash Builder 4.6 and 4.7
Powerflasher FDT (Eclipse based)
Adobe AIR SDK with Adobe ActionScript and Adobe Flex
APIs create an engaging user experience
unique UI components and predefined skins
listeners for events that are specific to BlackBerry devices
access the features that are unique to mobile devices
Accelerometer
Geolocation
you can create AIR Native Extensions (ANE)
81
82. BlackBerry 10 UI
QNXSkins.ane stores the assets for the skins
Device deployed ANE
Correctly sized assets are stored on the device
Reduces application file size
82
83. Support
In BlackBerry 10 10.1, Adobe AIR 3.1 is supported
Adobe AIR 3.5 and Stage 3D supported in BlackBerry
10.2
83
86. 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”
87. Benefits – BlackBerry World
List View (Search or Top List)
App Details Screen
Feature Screen
Built for BlackBerry Identifier placed
beside star rating
Built for BlackBerry Badge below
screenshots
(touch target)
Touch target directs to Built for
BlackBerry experience screen
88. Experience the Value of Carousel Placement
230.6%
Increase
39%
Increase
paid downloads
free downloads
Increase
187.9% daily revenue
Source: BlackBerry World Analytics
90. Built for BlackBerry Evaluation Criteria
User Experience
Performance
Localization
Service Integration
Security
http://developer.blackberry.com/builtforblackberry
50+% month over month sales increases have not only confirmed BlackBerry’s momentum, it has also caused balance of app types to shift - not traditionally known as a gaming platform, games now account for more than 1/3 of the inventory in BlackBerry World. Current inventory is 262,250 apps from over 67,000 registered vendors:128,745 BlackBerry 10 apps101,050 BlackBerry OS apps49,200 BlackBerry PlayBook apps6,775 BBM connected appsStorefront reach in 173 countries with over 4.5 Billion+ total downloadsFlexible payment services with carrier billing with 60+ carriers in 35 countries
50+% month over month sales increases have not only confirmed BlackBerry’s momentum, it has also caused balance of app types to shift - not traditionally known as a gaming platform, games now account for more than 1/3 of the inventory in BlackBerry World. Current inventory is 262,250 apps from over 67,000 registered vendors:128,745 BlackBerry 10 apps101,050 BlackBerry OS apps49,200 BlackBerry PlayBook apps6,775 BBM connected appsStorefront reach in 173 countries with over 4.5 Billion+ total downloadsFlexible payment services with carrier billing with 60+ carriers in 35 countries
1 - Pivot Survey of BB developers, Pivot Point Research, May 2012-August 2013, Pivot Survey of Corporate IT professionals, Pivot Point Research, June-August 2013, Internal BlackBerry Data2 - Pivot Survey of the global developer community, January-June, 20133 - August 2013 Pivot survey of 300 corporate IT professionals across North America, Europe, Latin America and Asia Pacific
BlackBerry 10 has had a game-changing impact on the developer ecosystem.BlackBerry is considered a lead development platform, with 38% of app developers identifying BlackBerry as their primary platform1Through FY13, the overall BlackBerry 10 buzz among developers increased dramatically with a 63% improvement in developer sentiment towards BlackBerry B10 over the past year2The BlackBerry Developer Program is ranked #13Sources:Vision Mobile – Developer Economics Survey, The Tools Report (January 2013)Pivot Point Research Group - Developer Community Sentiment Tracker, March 2013Strategy Analytics – App Developer Survey, 2H2012
Quick few slides on developing for different resolutions and form factorsDiscuss the differences between Z10 and Q10, and commitment to 16:9 and 1:1 ratios
Leverage the built-in controls as much as possible, because we have made them adaptable to the device the app is running onUse layouts properly and with rotation and different form factors in mind9-sliced images help with re-sizing by breaking down a picture into sections and scaling based on specified instructionsAsset subset using the Asset Selector (next slide)
Assets that are named the same as objects in the main assets, and placed in a folder titled 720x720 will be selected for use on Q10Must be using 10.1 SDK
Assets that are named the same as objects in the main assets, and placed in a folder titled 720x720 will be selected for use on Q10Must be using 10.1 SDK
Assets that are named the same as objects in the main assets, and placed in a folder titled 720x720 will be selected for use on Q10Must be using 10.1 SDK
BlackBerry is committed to Android developers and to delivering a best in class app experience for BlackBerry 10 users. This commitment is further realized with the 10.2.1 Android Runtime release. The latest Android Runtime is based on Open Source Android (v4.2.2), aka Jelly Bean. Our 10.2.1 release offers significantly increased compatibility. So now is your best time to test your app in the new runtime and then bring it over to the BlackBerry 10 platform.
Now that your Android app runs better than ever on the BlackBerry 10 platform, you can take advantage of BlackBerry’s very app-hungry customer base.BlackBerry World is available in over 170 markets across the globe and over 5 billion apps have been downloaded to date.
The data from Vision Mobile’s June 2013 report, which is based on surveys completed by over 5,200 developers across the globe, show that Android developers are significantly more challenged than BlackBerry 10 developers when it comes to revenue generation opportunities. Bringing your Android app to the BlackBerry 10 platform opens up a new base of end users and potential revenue generation opportunities with little up-front effort and time required on your part. Note to presenter:The link to this specific study is included here (BlackBerry internal link):http://connections.rim.net/wikis/home?lang=en_US#/wiki/Wc4ec85d0b6f4_4d45_8dec_f993efdb25d6/page/Research
With 10.2.1, users can discover and access supported Android apps via traditional channels used by APK application vendors – web portals and curated Android marketplaces that support access from BlackBerry 10 devices.For APK files, which are obtained outside of BlackBerry World and are not made available by BlackBerry, users must review a disclaimer and acknowledge Settings and Permissions before the application will be installed. Although users can install APK files on BlackBerry devices running the 10.2.1 operating system, BlackBerry does not give any assurances regarding the performance or security of such files.
WHAT – purpose of BFBManny: Built for BlackBerry is an app designation. It lets users know that an application fully embraces and delivers the signature BlackBerry 10 experience. This program provides developers with specific criteria that allows them to identify and deliver this experience in their applications.Adam: Why would developers want their apps to have the Built for BlackBerry designation?
WHY – BenefitsManny: A key benefit of the program is being featured in the BlackBerry World Carousel. For many of our partners, this has really made a difference. Built for BlackBerry apps are identified using exclusive icons and badges and are featured prominently in search results.
WHY – BenefitsAdam: In fact, when featured in the BlackBerry World carousel, Built for BlackBerry apps average an increase in paid daily downloads of 230%. Free daily downloads have increased 39%. Paid daily revenue has increased by 187%
HOW – platformsManny: First, in order to qualify for Built for BlackBerry, you must create a BlackBerry 10 application using one of the four supported platforms: HTML5, Cascades, NDK, or Adobe Air.
Manny: Next, your application must comply with all of the Built for BlackBerry criteria. These are: user experience, performance, service integration, security and localization.Adam: Each of these criteria represent the building blocks of good application design and define the BlackBerry 10 application experience.
Adam: Games also follow many of the same criteria for applications but they do have a few different criteria. For example, user settings should be preserved between restarts; or the game should pause if a phone call is received.Manny: Also, if a game engine is used, it must be one that was designed & tested for BlackBerry 10 like GamePlay, Unity, Marmalade, Shiva or Cocos2d-x.