Sviluppare per una piattaforma mobile aperta: opportunità e sfide

  • 610 views
Uploaded on

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 …

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?

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
610
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

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
  • 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.

Transcript

  • 1. Introduction to Mobile Development on BlackBerry 10 Luca Filigheddu Head of Developer Evangelism EMEA BlackBerry @filos
  • 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. Why developing for BlackBerry 10?
  • 5. 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)
  • 6. 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
  • 7. Growth BlackBerry World
  • 8. 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)
  • 9. Ecosystem Success Ecosystem Success Sentiment improved 63% in the past year (Pivot Point) 38% identify BlackBerry as primary platform (Vision Mobile)
  • 10. Money! 11
  • 11. 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
  • 12. FlyCraft and Pop Corny 13
  • 13. Ok, now let’s talk about technology!
  • 14. 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
  • 15. 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
  • 16. Transition 17
  • 17. BlackBerry 10 SDKs Java C/C++ HTML5, CSS, JavaScript ActionScript Native SDK WebWorks Adobe AIR Android Runtime 18
  • 18. 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 19
  • 19. BlackBerry Native SDK
  • 20. 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
  • 21. 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
  • 22. Gaming Platform Scoreloop SDK     Integrate Social Gaming Features Solid Analytics Cross-platform presence Billing / Monetization feature Payment APIs for in-Game transactions 23
  • 23. 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
  • 24. Game Engines Unity Technologies Marmalade SDK ShiVa3D Game Engine with Development tools More Coming! 25
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. Links BlackBerry Native SDK developer.blackberry.com/native -> “Download the Native SDK” -> “Get started with Native SDK” Blackberry Open Source blackberry.github.com 29
  • 29. Cascades C++/Qt
  • 30. 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
  • 31. What is Cascades? 32
  • 32. Out-of-the-box Elegance 33
  • 33. Cascades and Qt • • • • • • Mature C++ application framework Good APIs Signals and Slots Many help classes QML QtGui Cascades Cascades 34
  • 34. 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
  • 35. Typical Cascades App JavaScript based UI logic QML based UI structure QT/C++ Backend http://developer.blackberry.com
  • 36. Any Mix Is Possible JavaScript based UI logic QML based UI structure QT/C++ Backend http://developer.blackberry.com
  • 37. 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 38
  • 38. Hello World in Cascades import bb.cascades 1.0 Page { content: Label { text: "Hello World" } } 39
  • 39. Hello World in Qt Page* root = new Page; Label* label = Label::create() .text("Hello World"); root->setContent(label); Application::instance()->setScene(root); 40
  • 40. Cascades IDE 41
  • 41. 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 42
  • 42. UI Adaptability - Multiple Form Factors
  • 43. 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
  • 44. 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
  • 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. Links BlackBerry Cascades  developer.blackberry.com/cascades Blackberry Open Source  blackberry.github.com/cascades/samples.html 48
  • 48. BlackBerry WebWorks HTML5
  • 49. BlackBerry10 & HTML5 Unparalleled Standards Support Incredible Performance 50
  • 50. 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
  • 51. 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
  • 52. 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
  • 53. BlackBerry Web Platform      Driven by strong Web standards support Powered by WebKit HTML5 and CSS3 Flash 11 and WebGL WebWorks and Cordova 54
  • 54. Some inspiration: WebGL http://www.gooengine.com
  • 55. What can you do with WebWorks? • Geolocation • Offline mode • Storage • Audio / Video • 2D Graphics • Advanced forms • Invoke • Web Workers • Notifications 56
  • 56. How do I get there? Web Assets WebWorks Tools BlackBerry Applications
  • 57. 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
  • 58. 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
  • 59. Ripple Extension 60
  • 60. Web Platform Extras    AliceJS library  CSS3 hardware acceleration WebGL  3D Graphics, OpenGL ES 2.0 Community frameworks 61
  • 61. 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
  • 62. bbui.js - Cases 63
  • 63. 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
  • 64. 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.
  • 65. Links SDK + Simulators  http://developer.blackberry.com/html5 GitHub  https://github.com/blackberry/BB10-WebWorks-Samples 66
  • 66. Android Runtime and Packager
  • 67. 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
  • 68. 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.
  • 69. 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
  • 70. 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
  • 71. 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
  • 72. 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
  • 73. 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%
  • 74. 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
  • 75. Links Where to start  http://developer.blackberry.com/android 76
  • 76. Adobe AIR
  • 77. 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
  • 78. 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
  • 79. 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
  • 80. 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
  • 81. 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
  • 82. 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
  • 83. Links SDK + Simulators  http://developer.blackberry.com/air GitHub  https://github.com/blackberry/Samples-for-AIR 84
  • 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) 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
  • 87. Experience the Value of Carousel Placement 230.6% Increase 39% Increase paid downloads free downloads Increase 187.9% daily revenue Source: BlackBerry World Analytics
  • 88. Supported Platforms HTML5 BlackBerry® WebWorks™ Cascades http://developer.blackberry.com/builtforblackberry C/C++ Native SDK Adobe AIR
  • 89. Built for BlackBerry Evaluation Criteria User Experience Performance Localization Service Integration Security http://developer.blackberry.com/builtforblackberry
  • 90. Games http://developer.blackberry.com/builtforblackberry
  • 91. THANK YOU Luca Filigheddu Head of Developer Evangelism EMEA – BlackBerry @filos