SlideShare una empresa de Scribd logo
1 de 92
Introduction to Mobile
Development on
BlackBerry 10
Luca Filigheddu
Head of Developer Evangelism EMEA
BlackBerry
@filos
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
BlackBerry Z30
• 5” all-touch screen
• Natural Sound technology

• 4G LTE
• 25hrs battery life
Why developing for BlackBerry 10?
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)
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
Growth
BlackBerry World
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)
Ecosystem Success
Ecosystem Success
Sentiment
improved 63%
in the past year
(Pivot Point)

38% identify
BlackBerry as
primary platform
(Vision Mobile)
Money!

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
FlyCraft and Pop Corny

13
Ok, now let’s talk about technology!
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
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
Transition

17
BlackBerry 10 SDKs

Java
C/C++

HTML5, CSS, JavaScript

ActionScript

Native SDK

WebWorks

Adobe AIR

Android
Runtime
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
BlackBerry Native SDK
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
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
Gaming Platform
Scoreloop SDK






Integrate Social Gaming Features
Solid Analytics
Cross-platform presence
Billing / Monetization feature

Payment APIs for in-Game transactions

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
Game Engines
Unity Technologies
Marmalade SDK
ShiVa3D Game Engine with Development tools
More Coming!

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
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
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
Links
BlackBerry Native SDK developer.blackberry.com/native
-> “Download the Native SDK”
-> “Get started with Native SDK”

Blackberry Open Source
blackberry.github.com

29
Cascades

C++/Qt
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
What is Cascades?

32
Out-of-the-box Elegance

33
Cascades and Qt
•
•
•
•
•
•

Mature C++ application framework
Good APIs
Signals and Slots
Many help classes
QML
QtGui Cascades

Cascades
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
Typical Cascades App

JavaScript
based UI logic

QML based UI
structure
QT/C++
Backend

http://developer.blackberry.com
Any Mix Is Possible

JavaScript
based UI logic
QML based
UI structure
QT/C++
Backend

http://developer.blackberry.com
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
Hello World in Cascades
import bb.cascades 1.0
Page {
content: Label {
text: "Hello World"
}
}
39
Hello World in Qt
Page* root = new Page;
Label* label = Label::create()
.text("Hello World");
root->setContent(label);
Application::instance()->setScene(root);

40
Cascades IDE

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
UI Adaptability - Multiple Form Factors
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
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
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
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
Links
BlackBerry Cascades


developer.blackberry.com/cascades

Blackberry Open Source


blackberry.github.com/cascades/samples.html

48
BlackBerry WebWorks

HTML5
BlackBerry10 & HTML5
Unparalleled Standards
Support
Incredible Performance

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
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
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
BlackBerry Web Platform






Driven by strong Web standards support
Powered by WebKit
HTML5 and CSS3
Flash 11 and WebGL
WebWorks and Cordova

54
Some inspiration: WebGL

http://www.gooengine.com
What can you do with WebWorks?
• Geolocation
• Offline mode

• Storage
• Audio / Video
• 2D Graphics
• Advanced forms
• Invoke

• Web Workers
• Notifications

56
How do I get there?

Web Assets

WebWorks Tools

BlackBerry Applications
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
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
Ripple Extension

60
Web Platform Extras




AliceJS library

CSS3 hardware acceleration
WebGL

3D Graphics, OpenGL ES 2.0
Community frameworks

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
bbui.js - Cases

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
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.
Links
SDK + Simulators


http://developer.blackberry.com/html5

GitHub


https://github.com/blackberry/BB10-WebWorks-Samples

66
Android Runtime and Packager
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
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.
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
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
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
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
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%
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
Links
Where to start


http://developer.blackberry.com/android

76
Adobe AIR
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
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
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
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
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
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
Links
SDK + Simulators


http://developer.blackberry.com/air

GitHub


https://github.com/blackberry/Samples-for-AIR

84
Built for BlackBerry
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”
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
Experience the Value of Carousel Placement

230.6%

Increase

39%

Increase

paid downloads
free downloads

Increase

187.9% daily revenue
Source: BlackBerry World Analytics
Supported Platforms

HTML5 BlackBerry®
WebWorks™

Cascades

http://developer.blackberry.com/builtforblackberry

C/C++
Native SDK

Adobe AIR
Built for BlackBerry Evaluation Criteria

User Experience

Performance

Localization

Service Integration

Security

http://developer.blackberry.com/builtforblackberry
Games

http://developer.blackberry.com/builtforblackberry
THANK YOU
Luca Filigheddu
Head of Developer Evangelism EMEA – BlackBerry
@filos

Más contenido relacionado

La actualidad más candente

Blackberry_runtime_for_android_apps
Blackberry_runtime_for_android_appsBlackberry_runtime_for_android_apps
Blackberry_runtime_for_android_apps
Droidcon Berlin
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
Ziyad Bazed
 
Training on webwroks1
Training on webwroks1Training on webwroks1
Training on webwroks1
sumeettechno
 
IBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphoneIBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphone
nick_garrod
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
Mizanur Sarker
 

La actualidad más candente (20)

Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-PlatformVisual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
 
Gl android platform
Gl android platformGl android platform
Gl android platform
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote preso
 
INTEL XDK
INTEL XDKINTEL XDK
INTEL XDK
 
WebWorks Development for BlackBerry PlayBook and Smartphones
WebWorks Development for BlackBerry PlayBook and SmartphonesWebWorks Development for BlackBerry PlayBook and Smartphones
WebWorks Development for BlackBerry PlayBook and Smartphones
 
Blackberry_runtime_for_android_apps
Blackberry_runtime_for_android_appsBlackberry_runtime_for_android_apps
Blackberry_runtime_for_android_apps
 
Cordova 3, apps para android
Cordova 3, apps para androidCordova 3, apps para android
Cordova 3, apps para android
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
BlackBerry Developer Overview
BlackBerry Developer OverviewBlackBerry Developer Overview
BlackBerry Developer Overview
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
 
Web works presso
Web works pressoWeb works presso
Web works presso
 
Training on webwroks1
Training on webwroks1Training on webwroks1
Training on webwroks1
 
IBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphoneIBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphone
 
JavaOne 2010 Keynote
JavaOne 2010 Keynote JavaOne 2010 Keynote
JavaOne 2010 Keynote
 
Qt - for stack overflow developer conference
Qt - for stack overflow developer conferenceQt - for stack overflow developer conference
Qt - for stack overflow developer conference
 
Developing Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientDeveloping Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClient
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUG
 
webinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governancewebinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governance
 

Destacado

Pengakuan pasukan rajawali
Pengakuan pasukan rajawaliPengakuan pasukan rajawali
Pengakuan pasukan rajawali
Sandhy Hineni
 
Automatically generating-json-from-java-objects-java-objects268
Automatically generating-json-from-java-objects-java-objects268Automatically generating-json-from-java-objects-java-objects268
Automatically generating-json-from-java-objects-java-objects268
Ramamohan Chokkam
 

Destacado (9)

Hackers vs. Developers: HTML5 Security by Simone Onofri
Hackers vs. Developers: HTML5 Security by Simone OnofriHackers vs. Developers: HTML5 Security by Simone Onofri
Hackers vs. Developers: HTML5 Security by Simone Onofri
 
Fun with Functional JavaScript
Fun with Functional JavaScriptFun with Functional JavaScript
Fun with Functional JavaScript
 
What's new with Windows Phone App - Brambati
What's new with Windows Phone App - Brambati What's new with Windows Phone App - Brambati
What's new with Windows Phone App - Brambati
 
Next Generation Media - Wolter
Next Generation Media - WolterNext Generation Media - Wolter
Next Generation Media - Wolter
 
Pengakuan pasukan rajawali
Pengakuan pasukan rajawaliPengakuan pasukan rajawali
Pengakuan pasukan rajawali
 
Mobile Java
Mobile JavaMobile Java
Mobile Java
 
Signal Framework
Signal FrameworkSignal Framework
Signal Framework
 
Automatically generating-json-from-java-objects-java-objects268
Automatically generating-json-from-java-objects-java-objects268Automatically generating-json-from-java-objects-java-objects268
Automatically generating-json-from-java-objects-java-objects268
 
Mobile Developer's Guide To The Galaxy 12th Edition
Mobile Developer's Guide To The Galaxy 12th EditionMobile Developer's Guide To The Galaxy 12th Edition
Mobile Developer's Guide To The Galaxy 12th Edition
 

Similar a Sviluppare per una piattaforma mobile aperta: opportunità e sfide

Bb jde kirkup
Bb jde kirkupBb jde kirkup
Bb jde kirkup
RavingTiger
 
BlackBerry PlayBook Development Overview - KCDevCore
BlackBerry PlayBook Development Overview - KCDevCoreBlackBerry PlayBook Development Overview - KCDevCore
BlackBerry PlayBook Development Overview - KCDevCore
Joseph Labrecque
 
How Joomla and Microsoft are a Great Open Source Success
How Joomla and Microsoft are a Great Open Source SuccessHow Joomla and Microsoft are a Great Open Source Success
How Joomla and Microsoft are a Great Open Source Success
Cory Fowler
 
4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트
4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트 4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트
4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트
양 한빛
 

Similar a Sviluppare per una piattaforma mobile aperta: opportunità e sfide (20)

QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
QNX, C/C++, Qt, Cascades, HTML5… So what’s now BlackBerry 10 application deve...
 
Bb jde kirkup
Bb jde kirkupBb jde kirkup
Bb jde kirkup
 
Android : How Do I Code Thee?
Android : How Do I Code Thee?Android : How Do I Code Thee?
Android : How Do I Code Thee?
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
 
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
 
BlackBerry Jam Asia 2013 - Gaming on BlackBerry
BlackBerry Jam Asia 2013 - Gaming on BlackBerryBlackBerry Jam Asia 2013 - Gaming on BlackBerry
BlackBerry Jam Asia 2013 - Gaming on BlackBerry
 
HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10HTML5 App Dev on BlackBerry 10
HTML5 App Dev on BlackBerry 10
 
Flutter talkshow
Flutter talkshowFlutter talkshow
Flutter talkshow
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the Browser
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
 
DotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcementsDotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcements
 
DEVNET-1122 Integrating Cisco Collaboration into Web Apps
DEVNET-1122	Integrating Cisco Collaboration into Web AppsDEVNET-1122	Integrating Cisco Collaboration into Web Apps
DEVNET-1122 Integrating Cisco Collaboration into Web Apps
 
BlackBerry PlayBook Development Overview - KCDevCore
BlackBerry PlayBook Development Overview - KCDevCoreBlackBerry PlayBook Development Overview - KCDevCore
BlackBerry PlayBook Development Overview - KCDevCore
 
How Joomla and Microsoft are a Great Open Source Success
How Joomla and Microsoft are a Great Open Source SuccessHow Joomla and Microsoft are a Great Open Source Success
How Joomla and Microsoft are a Great Open Source Success
 
4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트
4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트 4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트
4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트
 
Welcome to the microsoft madness
Welcome to the microsoft madnessWelcome to the microsoft madness
Welcome to the microsoft madness
 
Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten Ziegeler
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression Blend
 
FooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptxFooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptx
 
Jfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptxJfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptx
 

Más de Codemotion

Más de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Sviluppare per una piattaforma mobile aperta: opportunità e sfide

  • 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.
  • 4. BlackBerry Z30 • 5” all-touch screen • Natural Sound technology • 4G LTE • 25hrs battery life
  • 5. Why developing for BlackBerry 10?
  • 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)
  • 10. Ecosystem Success Ecosystem Success Sentiment improved 63% in the past year (Pivot Point) 38% identify BlackBerry as primary platform (Vision Mobile)
  • 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
  • 13. FlyCraft and Pop Corny 13
  • 14. Ok, now let’s talk about technology!
  • 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
  • 18. BlackBerry 10 SDKs Java C/C++ HTML5, CSS, JavaScript ActionScript Native SDK WebWorks Adobe AIR Android Runtime 18
  • 19. 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
  • 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
  • 23. Gaming Platform Scoreloop SDK     Integrate Social Gaming Features Solid Analytics Cross-platform presence Billing / Monetization feature Payment APIs for in-Game transactions 23
  • 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
  • 25. Game Engines Unity Technologies Marmalade SDK ShiVa3D Game Engine with Development tools More Coming! 25
  • 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
  • 36. Typical Cascades App JavaScript based UI logic QML based UI structure QT/C++ Backend http://developer.blackberry.com
  • 37. Any Mix Is Possible JavaScript based UI logic QML based UI structure QT/C++ Backend http://developer.blackberry.com
  • 38. 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
  • 39. Hello World in Cascades import bb.cascades 1.0 Page { content: Label { text: "Hello World" } } 39
  • 40. Hello World in Qt Page* root = new Page; Label* label = Label::create() .text("Hello World"); root->setContent(label); Application::instance()->setScene(root); 40
  • 42. 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
  • 43. UI Adaptability - Multiple Form Factors
  • 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
  • 48. Links BlackBerry Cascades  developer.blackberry.com/cascades Blackberry Open Source  blackberry.github.com/cascades/samples.html 48
  • 50. BlackBerry10 & HTML5 Unparalleled Standards Support Incredible Performance 50
  • 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
  • 54. BlackBerry Web Platform      Driven by strong Web standards support Powered by WebKit HTML5 and CSS3 Flash 11 and WebGL WebWorks and Cordova 54
  • 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
  • 61. Web Platform Extras    AliceJS library  CSS3 hardware acceleration WebGL  3D Graphics, OpenGL ES 2.0 Community frameworks 61
  • 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
  • 92. THANK YOU Luca Filigheddu Head of Developer Evangelism EMEA – BlackBerry @filos

Notas del editor

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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)
  7. 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
  8. 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
  9. 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
  10. 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.
  11. 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.
  12. 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
  13. 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.
  14. 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?
  15. 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. 
  16. 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%
  17. 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.
  18. 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.
  19. 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.