5. GANAR DINERO…
BLACKBERRY APP WORLD
BlackBerry App World has more paid
downloads per month than the Android
Market
(Yankee Research Group)
In Q2 2011, BlackBerry App World
generated 43% more average daily
downloads per app than Apple App Store
(research2guidance)
BlackBerry apps generate 40%
more revenue than Android apps
(Vision Mobile)
6. ALCANCE
6
Más de 80 Millones de usuarios
165 mercados soportados
24 lenguajes soportados
Más de 3 Billones descargas
Promedio de 177 Millones de descargas por mes
Más de 105,000 apps disponibles
18. BLACKBERRY 10
PLATFORM APIS & CORE PACKAGES
Android Native Web AIR
Applications
Player Runtime Runtime Runtime
Application Application
BBM™
BBM™
Infrastructure Payment
Payment AA dver tising
dver tising Push Data
Push Data Notification
Notification Phone
Phone Calendar
Calendar Platform
Ser vice
Ser vice
Invocation
Invocation Shar e
Share AA nalytics
nalytics Contacts
Contacts Messages
Messages Tasks
Tasks …
…
Configuration
Configuration Cascades
Cascades Search
Search Config
Config Balance
Balance
Backup / /
Backup
Lifecycle
Lifecycle Utilities
Utilities i18n
i18n Instrument’n
Instrument’n …
…
Restore
Restore
System Service
Authenticatio
Authenticatio
Navigator
Navigator Installer
Installer Launcher
Launcher Multimedia
Multimedia SQLite
SQLite NFC
NFC
nn
Window
Window WebKit
WebKit Protocols
Protocols Network
Network DRM
DRM Crypto
Crypto …
…
Manager
Manager
OS
Memory
Memory Process
Process Power
Power Device
Device
IPC
IPC File System
File System …
…
Management
Management Management
Management Management
Management Drivers
Drivers
19. BLACKBERRY 10
ARQUITECTURA
Native and HTML5 Apps
HTML/CSS Cascades Open GL
QML
JavaScript® Open AL
WebKit JavaScript C++ C/C++
Platform APIs
Qt/C++ C/C++
Audio/Vide
Network Storage Graphics Push i18n …
o
QNX Kernel
QNX Kernel
20.
21. #portabilidad
+ de 10 Billones de Dispositivos
Web Enabled
Title Source: ITU, Mark Lipacis, Morgan Stanley Research
Chart Source: Stats Counter, Global Stats – April 2012
39. CASCADES UI
FRAMEWORK
• Rich & Fluid UI Framework
• Arquitectura Moderna
• Desarrollo con QML y/o C++
• Rápido y Ajustable
• Markup + JavaScript Embebido
• Aplica a Diseñadores Y Desarrolladores
• De fabrica con “momentos de encanto”
JavaScript C!!
45. UI
LAYER
Declarative UI model – Declare the
Java structure of your app, Cascades will
Script piece it together for you
QML Add runtime logic and react to user
UI events in JavaScript
Structure
Realtime UI preview in the tool
Many platform features exposed in
QML as well
45
46. C++
LAYER
Qt makes C++ easy to use and
provides structure
APIs and platform services
exposed as C++ classes
UI framework exposed as C++
classes
Qt/C++
Backend Access to the underlying low level
NDK and OpenGL
46
47. HELLO WORLD EN
C++
#include <cascades/application.h>
#include <cascades/button.h>
#include <cascades/scene.h>
int main(int argc, char **argv)
{
using namespace Cascades;
Application app(argc, argv); // initialize application
Scene *scene = new Scene(); // create a new scene.
Button *button = new Button(); // create a new button.
button->setText("Click me"); // set text.
scene->setRoot(button); // set button as the scene
content.app.setScene(scene); // set scene to be displayed.
return Application::exec(); // run the event loop.
}
52. CASCADES IDE -
MOMENTICS QML editor with syntax highlighting/
code completion
QML design view
Component library
(Drag and drop to QML)
QML tree view,
QML properties view
52
56. ¿QUE ES EL ANDROID RUNTIME
Core Apps App 1 App 2 App 3 …. • Es un A ro id O p e n s o urc e
nd
Application Framework
A p lic a tio n Fra m e wo rk
p
(compatible con
Core Android Apps
Activity Mgr Window Mgr View System Notification
Mgr Ginger br ead 2.3.3)
Package Mgr Resource Mgr Location Mgr
corriendo sobre
Library Java Runtime BlackBerry 10 OS
FreeType SGL Core Libraries
• Permite instalar y
WebKit OpenGL ES
Dalvik Virtual Machine ejecutar apps Android
Surface Mgr SQLite
Media Fwk SSL libc • Integración con
BlackBerry 10 OS
framework nativo con el
objetivo de hacer que las
apps de Android
parezcan nativas
57. COMPATIBILIDAD
Y
LIMITACIONES
• Aproximadamente 50% de todas las apps son compatibles
• No todas las APIs estan soportadas
• Limitaciones de Hardware y OS
• Funciones no soportadas actualmente:
• Bluetooth
• C2DM (push)
• Google Maps
• NFC
• Native Android Code
• Apps Android limitadas al perímetro personal
• Lista completa de compatibilidad:
developer .blackberr y.com/andr oid/apisuppor t/
59. ¿POR QUE
PORTAR?
Incrementar las ganancias con mínimo esfuerzo
el 50% de los casos es solo recompilar el APK – no es necesar io
modificar el código fuente
si se requieren modificaciones, se puede usar el Eclipse
Experimentar un mercado nuevo que tiene menos apps compitiendo
Desar r ollador es BlackBerr y hacen mas plata que devs iOS y A ndr oid
Fuente: VisionMobile Developer Economics Report - July 2012
60. CASO DE
EXITO
• PineLake Communications portando Cubifice a BlackBerry 10
• Aplicación Android OpenGL existente
• El proceso de Porting tomó 1 hora
• 25x más descargas en App World vs Google Play
61. CASO DE
EXITO
• Second Gear Games portando Shopper’s Paradise HD
• Aplicación Android existente
• El proceso de Porting tomó menos de 1 hora
• Versión BlackBerry genera más ganancia
63. PORTANDO APPS
• 3 opciones de herramientas
• Online Conversion Tool – la forma más rápida de convertir la app
• Eclipse Plug-in – para la mayoría de desarrolladores Android
• Command-line Tools – para desarrolladores avanzados
Más información: developer.blackber r y.com/andr oid/tools
Smartphone reach is 78M Playbook reach is Over 1M in 44 Markets Webstore 3.1 = Currently supports 13 languages EFIGS, JA, PT-BR, Simplified Chinese, Traditional Chinese, Thai, Indonesian, Vietnamese, Dutch Korean will be added (Webstore 3.1.1) HH Client 3.1 = Currently supports 14 languages EFIGS, JA, PT-BR, Simplified Chinese, Traditional Chinese, Thai, Indonesian, Vietnamese, Dutch, Korean PlayBook Client 2.0 = Currently supports 24 languages English English UK Dutch French German Italian Spanish Basque Brazilian Portuguese Catalan Croatian Czech Danish European Portuguese Galician Greek Hungarian Indonesian Norwegian Polish Romanian Russian Swedish Turkish
blackberry 10 - NUEVO RIM, NUEVA BLACKBERRY - NUEVO CEO y EJECUTIVOS - NUEVA ESTRATEGIA - DEVELOPER RELATIONS (100M) - 20 mil PlayBooks (tablets) / 5 mil BB10
Within the SDKs, we’re providing a full complement of APIs to enable you to build BlackBerry 10 applications. A big part of this is making sure that we provide you with the right set of APIs that enables your applications to: FLOW into , CONNECT with , and EXTEND from BlackBerry 10 Plus, rich platform APIs that enable you to integrate with BlueTooth, NFC, Advertising, Payment Services, LBS, Analytics. Everything you need to make a successful application BB10 Jam - Alec Saunders V12 12/20/12 02:11 PM
We built from the ground up a complete high performance mobile computing environment for developers. We start with the industry proven powerhouse, QNX: 25 M vehicles across more than 250 car models. QNX powers Critical environments such as Internet routers, medical devices, and nuclear power plants. On top of that we layer platform APIs, and open source libraries, an incredible WebKit engine, and a mobile optimized native uI engine in Cascades What this means for developers is you get choice and flexibility when you build for BlackBerry 10 WITHOUT COMPROMISING Performance or access to platform APIs and services. BB10 Jam - Alec Saunders V12 12/20/12 02:11 PM
With the new Cascades UI framework, you as developers have all the building blocks to easily and quickly create compelling experiences that FLOW, CONNECT, and EXTEND. This is what we call, “Out of the box elegance” It starts with all the basic UI controls being there, pre-baked and ready to use. They already have that elegance, that flow, with smooth animations and motion built in for you. Then it goes beyond that to Containers, Layout, and composite controls, like action bars, list views, cross-cut menus that you can drop into your app This comes back to delivering that user experience for BlackBerry People that we’ve been talking about. BB10 Jam - Alec Saunders V12 12/20/12 02:11 PM
All C++ programs begin with a main(). Like in most GUI based applications, the main application code is initialized in the main thread and an event loop is started for handling the UI events.
Page: usually the level element that takes the whole screen. Content: - property of the element Container: container of visual elements. ImageView – element that displays an image. Label – element that shows a text. Layout – tells you how the elements are layd out.
Minimal time to repackage Even if you do have to do some BB10 optimisations you ’re still working within the same environment 2min Complete by: 2:30
40sec
40sec Even Dream Sounds makes 10x the revenue on App World as it does on Google Play