SlideShare a Scribd company logo
1 of 39
Download to read offline
Join the Conversation!
BlackBerry Experience Forum 2013 - #BEF13
M I G R A T I N G                           A P P S     T O

B L A C K B E R R Y                               1 0

D E F I N I T I V E                           P O I N T S

O F       I N T E R E S T

Jim Ing (@jim_ing)
Sr. Enterprise Developer



      Join the Conversation!
      BlackBerry Experience Forum 2013 - #BEF13
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




…and dive straight down
•   Applications types
•   Tools to use
•   Strategies
•   Samples and examples
•   Resources
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Go green by recycling existing apps

•   BlackBerry OS
•   HTML5 / web-based
•   Adobe Air / Flash
•   Qt
•   And even iOS!
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




One-size does not fit ALL




              HTML5          C/C++/Qt/Cascades                         ActionScript

         BlackBerry         Native SDK                          Adobe AIR
         WebWorks
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13

                                                                                                                              6

 Generic HTML User Interface   Access 100% of the Native API’s
                                         Use the existing BlackBerry
                                         extensions, or build your
                                         own custom extensions to
                                         execute any class you’ve
 Premium Rendering Fidelity              already built.                          Compiled Native Application
                                                                                             No compromises, run in the
                               Open Sourced Apache 2.0
                                                                                             background, run at startup,
                                         Community participation                             listen for pushed data, invoke
                                         extends beyond the sole                             other applications.
 Powerful Framework Support              interest of RIM, check out:
                                         http://blackberry.github.com
                                                                                 Enterprise Ready Application
                               Customizable Configuration                                    Manage and deploy
                                                                                             WebWorks applications
                                         Define icons, features, and
                                                                                             with the most trusted MDM
 Support for App Frameworks              permissions. Enable
                                                                                             solution in enterprise.
                                         communication protocols.




https://developer.blackberry.com/html5/documentation/
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Browser Application JavaScript/HTML/CSS

WebWorks             Framework for running Web code

WebKit               Web rendering Engine

BlackBerry 10 OS     QNX!
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




http://developer.blackberry.com/native/documentation/bb10/getting_started.html
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




                         Cascades Application     Native Application                  Gaming & Porting
                             Developers              Developers                         Developers

C++ UI APIs                      Cascades


C++ platform, device &                Platform API (C++)
service APIs                                QtCore

Wide range of API’s
(From open source and
platform providers)


BlackBerry 10
Core APIs
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




•     Easily adapt and deploy existing content
•     Native BlackBerry® component set look and feel
•     Can create hybrid apps
•     Access to native API’s with Adobe® AIR® Native Extensions
•     Lots of great community support
•     Lots of open-source frameworks




    https://developer.blackberry.com/air/documentation/bb10/
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




•       Based on 2.3.3 release; Jelly Bean coming!
•       Self Contained Virtual Machine
•       Only supports Personal Perimeter

                           Java

                 Android Runtime
    •    Camera API           •   Notifications
    •    Compose Support      •   Push Support
    •    File Picker          •   Sensor Support



    http://developer.blackberry.com/android/documentation/
Let’s Talk Strategy
… because the devil is in the details
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Why?                                     How?
•   Easier to port                       • Avoid platform dependent
•   More code reuse across projects        functionality
                                         • Use cross-platform libraries,
•   Easily identify platform dependent     frameworks or engines
    code
                                         • Isolate platform dependent code
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




If you are using any of these, you might have some things to
think about:
•   UI and graphics       •   Audio / video
•   Event handling        •   NFC
•   Touch screen input    •   File I/O                      Maybe you already
•   Application control   •   Threads                         developed with
•   Sensors                                                 standard libraries?
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Mobilizing the Enterprise for YEARS!
•   Developed with BlackBerry Java
•   Tightly coupled application tiers
•   No “Java to BlackBerry 10 Converter”
Strategies:
•   The HTML5 Recipe
•   Native leveraging cascades
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13
                                                                                                                     6



Decouple the Application




                           User Interface             Web                              Native
                                                 Leverage Web UI                        BlackBerry
                                                    Framework                          Cascades UI
                           Business Logic
                                                  Java Methods to                BlackBerry or Open-
                                                JavaScript Functions               Source Libraries

                                                   BlackBerry
                           Device Integration   WebWorks or Hybrid                BlackBerry 10 Core
                                                   Container
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Your target for years!
•   Developed with HTML, CSS, JavaScript
•   Running the internet to intranets
•   Cross-platform
Strategies:
•   The HTML5 Recipe
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




To create repeatable cross-platform:
                                                                    Build towards Standards:
                                                                    WebKit, HTML5, CSS3 + JavaScript
                          Your Org
                                                                    Frameworks:
           “Micro”         “Meso”              “Macro”              Don’t re-invent the wheel
         Frameworks      Frameworks          Frameworks             Research frameworks
                      JavaScript Libraries                          (Macro) jQuery, Sencha
                                                                    (Micro) ZeptoJS, jQmobi
                  HTML5, CSS3, JavaScript…
                                                                    JavaScript Libraries:
Forget                                                              (External) Animations, Look
  it                           2-3+                 0+              and Feel, + Code
           4-5+
                               year               months                    AliceJS, bbuiJS, ZeptoJS
           year

                        Age of Device
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Legacy devices need Micro Frameworks:                 Layer                         Light
                                                      DOM                           Zepto.js
•   Layered approach recommended                      MVC                           Spine, Knockout
                                                      UI                            Bootstrap, Jo, jQTouch
•   Gives you the tools you need and not every tool
                                                      Loader                        defer.js, LABjs, RequireJS
•   Perform well on little horsepower                 Storage                       Lawnchair
                                                      Touch Events                  Hammer.js, Swipe JS
                    Your Org                          Event Chaining                jWorkflow, Chainvas
                                                      Animations                    Alice.js, Emile, Shifty, Morf
             “Micro” Frameworks                       Graphics                      Raphael
                                                      Graphics/Charting             gRaphael
             JavaScript Libraries                     Media
                                                                                    Modest Maps, Leaflet,
                                                      Mapping
                                                                                    Open Layers Mobile
         HTML5, CSS3, JavaScript, …
                                                      Utilities                     xmlObjectifier
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Modern devices can use both Frameworks:                Layer                         Medium
                                                       DOM                           xui.js
•   Bigger libraries = more or combined feature sets   MVC                           Backbone.js, AngularJS
                                                       UI                            bbUI, Enyo, Ember
•   New browsers understand HTML5
                                                       Loader                        PreloadJS
•   Web features are hardware accelerated              Storage                       remoteStorage.js
                                                       Touch Events                  Covered by Frameworks (bbui)
                    Your Org                           Event Chaining                 jWorkflow
                                                       Animations                    FluxSlider, TweenJS
             “Meso” Frameworks                         Graphics                      EaselJS
                                                       Graphics/Charting             HighCharts
             JavaScript Libraries                      Media                         SoundJS

                                                       Mapping                       Bing, Nokia Ovi
         HTML5, CSS3, JavaScript, …
                                                       Utilities                     Underscore.js
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Future devices will run everything:           Layer                        Heavy
                                              DOM                          jQuery, sencha, dojo, jo
•   Resource consumption irrelevant           MVC                          JavaScriptMVC
                                                                           DHTMLX Touch,
•   Exact look and feel cross-platform        UI
                                                                           jQuery Mobile
•   Framework becomes Enterprise philosophy   Loader                       Covered by Frameworks
                                              Storage                      Any (HTML5, Framework, etc)
                                              Touch Events                 Covered by Frameworks
                    Your Org                  Event Chaining               jWorkflow
                                              Animations                   Any
             “Macro” Frameworks
                                              Graphics                     Box2DJS
                                              Graphics/Charting            D3, Google Charts
             JavaScript Libraries             Media                        Popcorn.js

                                              Mapping                      MapQuest, Google Maps
         HTML5, CSS3, JavaScript, …
                                              Utilities                     Any
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




•   Supports Qt 4.8 framework
                                                                                         Cascades UI apps
                                                                                          (C++ and QML)
•   C/C++ and QML
                                           Exclusive modules
                                                                               Qt-based               Cascades UI
•   Port Qt Widget or                      Shared modules                     Platform API             framework

•   Qt Quick
                                          Qt Quick
Strategies:                                                QtScript          QtSvg           QtCore        QtNetwork
                                QtGui
                                           Items and
                                            elements
•   Minor changes               Style
                                                          QtDeclarative       QtSql          QtXml          QtXmlPatterns


•   Use Cascades UI over
    Qt Widget or Qt Quick UI        QPA plugin                    QNX adaptations
                                                                                                     BlackBerry
                                                                                                     adaptations
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Step by step
•   Set up the tool chain
•   Make the application build
•   Set up packaging and deployment
•   Fix the look-and-feel issues
•   Address platform specific runtime issues
•   Add platform specific features (device integration)
•   Submit to App-World
•   BOOM Done!
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




•   Interact with One app at a time        •    Interact with Many apps at a time
    ̶   In/Out Paradigm                          ̶   Extend/Connect Paradigm
•   Most of UI app interaction is based    •    BlackBerry people Multi-Task
    on “taps” and gestures                 •    Content is King, App Must Flow
•   An app is a collection of screens
    through which the user navigates – a
    window always fills the device main
    screen
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




User interface development                  User interface development
•   Cocoa Touch UI Framework                •    Cascades Framework
•   UIKit                                   •    Use QML
•   Use Objective-C


Application logic                           Application logic
•   Objective-C or…                         •    C
•   Objective-C++ and C++ (rename your .m   •    C++
    file to .mm and add wrappers)
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




        UIKit                                        Cascades/QML

Application frameworks   WebKit               Application frameworks

  Graphics & audio                                  Graphics & audio

                                                 BlackBerry Platform
    Core services
                                                      Services

 iOS kernel & drivers    POSIX                  Microkernel & drivers
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




                 Application UI
Cocoa Touch                                                 Cascades
                Device integration


                   Graphics
Media Layer        Animation
                    Media
                                                      Cascades Qt APIs
                    Storage
Core Services       Location
                    Payment

                    Sensors                     BlackBerry Platform Services
  Core OS           Hardware                              Qt APIs
                    Security                             QNX APIs
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




                      Cascades    Objective-C to Native C/C++
 UIKit      MIGRATE
                       / QML                   Wrapper allows Objective-C in pure C++ projects




Objective   MIGRATE
                       Native     Objective-C to Cascades
                       C/C++
    C                 Wrapper                  Mapping approach



                                     Open Source                    Commercial
                                     Libraries:                     Libraries:
                                                 Box2D                     Marmalade
                                                 Cocos2D                   Unity3D
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13
                                                                                                               0




iOS NS Class                BlackBerry 10 Class            Description
                                                           An array of bytes. The size of a
                                                           QByteArray can be set in the class
NS Array / NSMutableArray   QByteArray                     constructor or via the size() method.
                                                           It can be changed using the resize()
                                                           method
                                                           Stored a date and provides helper
                                                           methods to for example calculate
NSDate                      Qdate                          date differences. QDateTime is used
                                                           to store date and time
                                                           Used to contain and manipulate
                                                           strings. There is no separate class
NSString NSMutableString    QString                        for strings that cannot be modified in
                                                           BlackBerry 10

NSURL                       QUrl                           Stores and manipulates a URL
Resources
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13
                                                                                                                        2




Porting Applications from the BlackBerry PlayBook
•   http://developer.blackberry.com/native/documentation/bb10/porting_from_playbook.html
Porting Applications from iOS
•   http://developer.blackberry.com/native/documentation/bb10/porting_ios_intro.html
Porting Applications from Android
•   http://developer.blackberry.com/native/documentation/bb10/porting_from_android_ndk.html
Porting Applications from QT
•   http://developer.blackberry.com/native/documentation/bb10/porting_qt_apps.html
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Qt on BlackBerry 10

•     https://github.com/blackberry/Qt
Qt Projects

•    http://community.qnx.com/sf/sfmain/do/viewProject/projects.qt
Qt

•    http://qt-project.org/
Qt4

•    git://gitorious.org/qt/qt.git
QtMobility Sensors, Multimedia, Bluetooth and Nfc

•    git://gitorious.org/+kdab-developers/qt-mobility/qnx-qt-mobility.git
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Posix compatible
•    QNX Neutrino certification of compliance as a PSE52 Realtime Controller 1003.13-2003 System
•    http://developer.blackberry.com/native/documentation/bb10/com.qnx.doc.neutrino.prog/topic/posix_confor
     mance.html
BPS event model
•    BlackBerry Platform Services (BPS) library provides an application with a single consistent interface to a
     number of different platform services
Support C and C++ Libraries
•    The BlackBerry 10 OS supports Posix-compliant C and C++, as well as the Dinkum C99 and C++
     libraries.
•    http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html

    BlackBerry 10
    Core APIs
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




Built-in Libraries
•    Tons of built-in libraries
•    http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html#builtin
Open Source Libraries
•    BlackBerry has ported some of the most commonly used open source libraries to the platform. Check out
     our Github repositories!
•    http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html#opensource
Commerical Frameworks
•    Tools and Middelware support by BlackBerry 10
•    http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html#commercial

    Wide range of API’s
    (From open source and
    platform providers)
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13
                                                                                                                             6




The Basics
•      Application Structure
       Screen Structure
•      Screen Sizes
•      Portrait and Landscape

    https://developer.blackberry.com/devzone/files/desi
    gn/bb10/UI_Guidelines_BlackBerry_10.pdf
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13
                                                                                                                                         7




JAM808 - Introduction to the BlackBerry 10 NDK - Developing a Native BlackBerry 10 App from
Start to Finish

•   New to Native development on BlackBerry® 10? This session will discuss the basics of the Native Software Development
    Kit (NDK). It will provide a good foundation for understanding what can be done with the NDK, as well as provide an
    overview of the APIs and associated tooling. Follow the development of a Native app from start to finish, including a user
    interface written in Cascades™, Qt and QML concepts, file system, accessing device APIs, perimeters and access control.
    This session is an excellent way to learn about the key components of the platform and how they work together to enable
    application development.
•   http://hosting.desire2learncapture.com/RIM/1/watch/85.aspx
JAM804 - BlackBerry 10 Visual Style and Finding your Flow

•   Flow is one of the main concepts behind the UI/UX design for BlackBerry® 10. Join this session for a high level
    understanding of BlackBerry 10 design concepts, both from a user and developer perspective. You will learn how to design
    your apps to take full advantage of the flow related features BlackBerry 10 has to offer, including peek gestures, the tab
    sidebar and list peeking
•   http://hosting.desire2learncapture.com/RIM/1/watch/86.aspx
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




JAM811 - Porting: iOS

•   Are you an iOS® app developer interested in porting iOS native applications to BlackBerry® 10? Join this session to learn
    how to get started with porting apps that use iOS UIKIt to BlackBerry 10 using the Cascades™ framework. We will cover
    the iOS and BlackBerry 10 platforms and frameworks, discuss similarities, differences and what to consider when porting
    applications. This session will focus on understanding iOS and BlackBerry 10 aspects of application lifecycle. Discover
    platform services offered and how to use them as well as aspects of UI design and implementation, networking and data
    persistence.
•   http://hosting.desire2learncapture.com/RIM/1/watch/95.aspx
JAM817 - Native API Deep Dive: Location Based Services & Sensors

•   Location Based Services and Sensors provide many unique ways to add features and functionality to your app. Join this
    session to learn more about Location Based Services and Sensor APIs in the BlackBerry® 10 NDK and to discover new
    ways to use them in your native C and Cascades apps
•   http://hosting.desire2learncapture.com/RIM/1/watch/96.aspx
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




WebKit

Ripple

BlackBerry WebWorks

Samples

Community API extensions

Toolkits (Alice.js, bbUI.js)

http://blackberry.github.com
Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13




                                         Join the Conversation!
                                         BlackBerry Experience Forum 2013 - #BEF13




© 2013 Research In Motion Limited. All rights reserved. BlackBerry®, RIM®, Research In Motion® and related trademarks, names
and logos are the property of Research In Motion Limited and are registered and/or used in the U.S. and countries around the world.
All other trademarks are the property of their respective owners.

More Related Content

What's hot

HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗Bobby Chen
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformAndrew Ferrier
 
Grameen Solutions Application Development Featured Projects 2009 11 15
Grameen Solutions   Application Development Featured Projects 2009 11 15Grameen Solutions   Application Development Featured Projects 2009 11 15
Grameen Solutions Application Development Featured Projects 2009 11 15Grameen Solutions
 
Cisco jabber presentation
Cisco jabber presentationCisco jabber presentation
Cisco jabber presentationabbyfavali
 
IBM Worklight for Digital Agencies
IBM Worklight for Digital AgenciesIBM Worklight for Digital Agencies
IBM Worklight for Digital AgenciesGraham Churchill
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with FlexConFoo
 
The Phonegap Architecture
The Phonegap ArchitectureThe Phonegap Architecture
The Phonegap ArchitectureFrank Gielen
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic Software
 
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Impetus Technologies
 
Kentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileKentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileThomas Robbins
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile DrupalTwinbit
 
Feed Herny developer training : crossplatform and HTML5
Feed Herny developer training : crossplatform and  HTML5Feed Herny developer training : crossplatform and  HTML5
Feed Herny developer training : crossplatform and HTML5Mobile Monday Brussels
 
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 WebClientCM First Group
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudGoogleTecTalks
 

What's hot (20)

Portlet factory 101
Portlet factory 101Portlet factory 101
Portlet factory 101
 
HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst Platform
 
Grameen Solutions Application Development Featured Projects 2009 11 15
Grameen Solutions   Application Development Featured Projects 2009 11 15Grameen Solutions   Application Development Featured Projects 2009 11 15
Grameen Solutions Application Development Featured Projects 2009 11 15
 
Cisco jabber presentation
Cisco jabber presentationCisco jabber presentation
Cisco jabber presentation
 
IBM Worklight for Digital Agencies
IBM Worklight for Digital AgenciesIBM Worklight for Digital Agencies
IBM Worklight for Digital Agencies
 
Rococo Software Q409
Rococo Software Q409Rococo Software Q409
Rococo Software Q409
 
The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with Flex
 
The Phonegap Architecture
The Phonegap ArchitectureThe Phonegap Architecture
The Phonegap Architecture
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
 
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
 
Kentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileKentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery Mobile
 
Gs Web Marketing Portfolio
Gs Web Marketing PortfolioGs Web Marketing Portfolio
Gs Web Marketing Portfolio
 
Salesforce touch
Salesforce touchSalesforce touch
Salesforce touch
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile Drupal
 
Feed Herny developer training : crossplatform and HTML5
Feed Herny developer training : crossplatform and  HTML5Feed Herny developer training : crossplatform and  HTML5
Feed Herny developer training : crossplatform and HTML5
 
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
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The Cloud
 

Viewers also liked

Crisis Management
Crisis ManagementCrisis Management
Crisis ManagementPaulWNelson
 
Levers Investigation 1 Ppt
Levers Investigation 1 PptLevers Investigation 1 Ppt
Levers Investigation 1 Pptdtempleton
 
Levers Investigation 2 Ppt
Levers Investigation 2 PptLevers Investigation 2 Ppt
Levers Investigation 2 Pptdtempleton
 
Shooting To Edit
Shooting To EditShooting To Edit
Shooting To EditBill
 
Socia media for public advocacy
Socia media for public advocacySocia media for public advocacy
Socia media for public advocacyAlberto Brea
 
Midterm Study Guide NCTM Standards
Midterm Study Guide NCTM StandardsMidterm Study Guide NCTM Standards
Midterm Study Guide NCTM StandardsBill
 
Crisis Management
Crisis ManagementCrisis Management
Crisis ManagementPaulWNelson
 
Case study - Strategy Review at Blackberry
Case study - Strategy Review at BlackberryCase study - Strategy Review at Blackberry
Case study - Strategy Review at BlackberryNeha Randhawa
 

Viewers also liked (10)

Om Cda 9884
Om Cda 9884Om Cda 9884
Om Cda 9884
 
Crisis Management
Crisis ManagementCrisis Management
Crisis Management
 
Levers Investigation 1 Ppt
Levers Investigation 1 PptLevers Investigation 1 Ppt
Levers Investigation 1 Ppt
 
Levers Investigation 2 Ppt
Levers Investigation 2 PptLevers Investigation 2 Ppt
Levers Investigation 2 Ppt
 
Shooting To Edit
Shooting To EditShooting To Edit
Shooting To Edit
 
Socia media for public advocacy
Socia media for public advocacySocia media for public advocacy
Socia media for public advocacy
 
Midterm Study Guide NCTM Standards
Midterm Study Guide NCTM StandardsMidterm Study Guide NCTM Standards
Midterm Study Guide NCTM Standards
 
Crisis Management
Crisis ManagementCrisis Management
Crisis Management
 
Case study - Strategy Review at Blackberry
Case study - Strategy Review at BlackberryCase study - Strategy Review at Blackberry
Case study - Strategy Review at Blackberry
 
BlackBerry - Case Study
BlackBerry - Case StudyBlackBerry - Case Study
BlackBerry - Case Study
 

Similar to BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10

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 SmartphonesKyle McInnes
 
BB10 Leading Mobile Web Platform W3C 2013
BB10 Leading Mobile Web Platform W3C 2013BB10 Leading Mobile Web Platform W3C 2013
BB10 Leading Mobile Web Platform W3C 2013Larry McDonough
 
Portal at the Speed of Light
Portal at the Speed of LightPortal at the Speed of Light
Portal at the Speed of LightProlifics
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyDMI
 
Building cross platfrom solutions for enterprise - the mobileshow- may 2014
Building cross platfrom solutions for enterprise - the mobileshow- may 2014Building cross platfrom solutions for enterprise - the mobileshow- may 2014
Building cross platfrom solutions for enterprise - the mobileshow- may 2014Kareem ElSayyed
 
Blackberry_runtime_for_android_apps
Blackberry_runtime_for_android_appsBlackberry_runtime_for_android_apps
Blackberry_runtime_for_android_appsDroidcon Berlin
 
HTML5, PhoneGap and What's Next
HTML5, PhoneGap and What's NextHTML5, PhoneGap and What's Next
HTML5, PhoneGap and What's Nextm0bz
 
Codecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San JoseCodecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San JoseFabian Lange
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architecturessgleadow
 
BlackBerry Developer Overview
BlackBerry Developer OverviewBlackBerry Developer Overview
BlackBerry Developer OverviewKyle McInnes
 
Mobile Endgeräte sind überall – deshalb das mobile Portal
Mobile Endgeräte sind überall – deshalb das mobile Portal Mobile Endgeräte sind überall – deshalb das mobile Portal
Mobile Endgeräte sind überall – deshalb das mobile Portal IBM Lotus
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析joylite
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgZiyad Bazed
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Adis Jugo
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationsaritasingh19866
 

Similar to BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10 (20)

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
 
Getting Started with BB Development..
Getting Started with BB Development..Getting Started with BB Development..
Getting Started with BB Development..
 
BB10 Leading Mobile Web Platform W3C 2013
BB10 Leading Mobile Web Platform W3C 2013BB10 Leading Mobile Web Platform W3C 2013
BB10 Leading Mobile Web Platform W3C 2013
 
Portal at the Speed of Light
Portal at the Speed of LightPortal at the Speed of Light
Portal at the Speed of Light
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and Why
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
 
Building cross platfrom solutions for enterprise - the mobileshow- may 2014
Building cross platfrom solutions for enterprise - the mobileshow- may 2014Building cross platfrom solutions for enterprise - the mobileshow- may 2014
Building cross platfrom solutions for enterprise - the mobileshow- may 2014
 
Blackberry_runtime_for_android_apps
Blackberry_runtime_for_android_appsBlackberry_runtime_for_android_apps
Blackberry_runtime_for_android_apps
 
HTML5, PhoneGap and What's Next
HTML5, PhoneGap and What's NextHTML5, PhoneGap and What's Next
HTML5, PhoneGap and What's Next
 
Codecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San JoseCodecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San Jose
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
BlackBerry Developer Overview
BlackBerry Developer OverviewBlackBerry Developer Overview
BlackBerry Developer Overview
 
Mobile Endgeräte sind überall – deshalb das mobile Portal
Mobile Endgeräte sind überall – deshalb das mobile Portal Mobile Endgeräte sind überall – deshalb das mobile Portal
Mobile Endgeräte sind überall – deshalb das mobile Portal
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
RIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdgRIM Casual Meetup - Bandung #DevIDBdg
RIM Casual Meetup - Bandung #DevIDBdg
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile application
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10

  • 1. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13
  • 2. M I G R A T I N G A P P S T O B L A C K B E R R Y 1 0 D E F I N I T I V E P O I N T S O F I N T E R E S T Jim Ing (@jim_ing) Sr. Enterprise Developer Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13
  • 3. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 …and dive straight down • Applications types • Tools to use • Strategies • Samples and examples • Resources
  • 4. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Go green by recycling existing apps • BlackBerry OS • HTML5 / web-based • Adobe Air / Flash • Qt • And even iOS!
  • 5. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 One-size does not fit ALL HTML5 C/C++/Qt/Cascades ActionScript BlackBerry Native SDK Adobe AIR WebWorks
  • 6. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 6 Generic HTML User Interface Access 100% of the Native API’s Use the existing BlackBerry extensions, or build your own custom extensions to execute any class you’ve Premium Rendering Fidelity already built. Compiled Native Application No compromises, run in the Open Sourced Apache 2.0 background, run at startup, Community participation listen for pushed data, invoke extends beyond the sole other applications. Powerful Framework Support interest of RIM, check out: http://blackberry.github.com Enterprise Ready Application Customizable Configuration Manage and deploy WebWorks applications Define icons, features, and with the most trusted MDM Support for App Frameworks permissions. Enable solution in enterprise. communication protocols. https://developer.blackberry.com/html5/documentation/
  • 7. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Browser Application JavaScript/HTML/CSS WebWorks Framework for running Web code WebKit Web rendering Engine BlackBerry 10 OS QNX!
  • 8. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 http://developer.blackberry.com/native/documentation/bb10/getting_started.html
  • 9. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Cascades Application Native Application Gaming & Porting Developers Developers Developers C++ UI APIs Cascades C++ platform, device & Platform API (C++) service APIs QtCore Wide range of API’s (From open source and platform providers) BlackBerry 10 Core APIs
  • 10. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 • Easily adapt and deploy existing content • Native BlackBerry® component set look and feel • Can create hybrid apps • Access to native API’s with Adobe® AIR® Native Extensions • Lots of great community support • Lots of open-source frameworks https://developer.blackberry.com/air/documentation/bb10/
  • 11. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 • Based on 2.3.3 release; Jelly Bean coming! • Self Contained Virtual Machine • Only supports Personal Perimeter Java Android Runtime • Camera API • Notifications • Compose Support • Push Support • File Picker • Sensor Support http://developer.blackberry.com/android/documentation/
  • 12. Let’s Talk Strategy … because the devil is in the details
  • 13. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Why? How? • Easier to port • Avoid platform dependent • More code reuse across projects functionality • Use cross-platform libraries, • Easily identify platform dependent frameworks or engines code • Isolate platform dependent code
  • 14. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 If you are using any of these, you might have some things to think about: • UI and graphics • Audio / video • Event handling • NFC • Touch screen input • File I/O Maybe you already • Application control • Threads developed with • Sensors standard libraries?
  • 15. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Mobilizing the Enterprise for YEARS! • Developed with BlackBerry Java • Tightly coupled application tiers • No “Java to BlackBerry 10 Converter” Strategies: • The HTML5 Recipe • Native leveraging cascades
  • 16. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 6 Decouple the Application User Interface Web Native Leverage Web UI BlackBerry Framework Cascades UI Business Logic Java Methods to BlackBerry or Open- JavaScript Functions Source Libraries BlackBerry Device Integration WebWorks or Hybrid BlackBerry 10 Core Container
  • 17. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Your target for years! • Developed with HTML, CSS, JavaScript • Running the internet to intranets • Cross-platform Strategies: • The HTML5 Recipe
  • 18. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 To create repeatable cross-platform: Build towards Standards: WebKit, HTML5, CSS3 + JavaScript Your Org Frameworks: “Micro” “Meso” “Macro” Don’t re-invent the wheel Frameworks Frameworks Frameworks Research frameworks JavaScript Libraries (Macro) jQuery, Sencha (Micro) ZeptoJS, jQmobi HTML5, CSS3, JavaScript… JavaScript Libraries: Forget (External) Animations, Look it 2-3+ 0+ and Feel, + Code 4-5+ year months AliceJS, bbuiJS, ZeptoJS year Age of Device
  • 19. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Legacy devices need Micro Frameworks: Layer Light DOM Zepto.js • Layered approach recommended MVC Spine, Knockout UI Bootstrap, Jo, jQTouch • Gives you the tools you need and not every tool Loader defer.js, LABjs, RequireJS • Perform well on little horsepower Storage Lawnchair Touch Events Hammer.js, Swipe JS Your Org Event Chaining jWorkflow, Chainvas Animations Alice.js, Emile, Shifty, Morf “Micro” Frameworks Graphics Raphael Graphics/Charting gRaphael JavaScript Libraries Media Modest Maps, Leaflet, Mapping Open Layers Mobile HTML5, CSS3, JavaScript, … Utilities xmlObjectifier
  • 20. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Modern devices can use both Frameworks: Layer Medium DOM xui.js • Bigger libraries = more or combined feature sets MVC Backbone.js, AngularJS UI bbUI, Enyo, Ember • New browsers understand HTML5 Loader PreloadJS • Web features are hardware accelerated Storage remoteStorage.js Touch Events Covered by Frameworks (bbui) Your Org Event Chaining jWorkflow Animations FluxSlider, TweenJS “Meso” Frameworks Graphics EaselJS Graphics/Charting HighCharts JavaScript Libraries Media SoundJS Mapping Bing, Nokia Ovi HTML5, CSS3, JavaScript, … Utilities Underscore.js
  • 21. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Future devices will run everything: Layer Heavy DOM jQuery, sencha, dojo, jo • Resource consumption irrelevant MVC JavaScriptMVC DHTMLX Touch, • Exact look and feel cross-platform UI jQuery Mobile • Framework becomes Enterprise philosophy Loader Covered by Frameworks Storage Any (HTML5, Framework, etc) Touch Events Covered by Frameworks Your Org Event Chaining jWorkflow Animations Any “Macro” Frameworks Graphics Box2DJS Graphics/Charting D3, Google Charts JavaScript Libraries Media Popcorn.js Mapping MapQuest, Google Maps HTML5, CSS3, JavaScript, … Utilities Any
  • 22. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 • Supports Qt 4.8 framework Cascades UI apps (C++ and QML) • C/C++ and QML Exclusive modules Qt-based Cascades UI • Port Qt Widget or Shared modules Platform API framework • Qt Quick Qt Quick Strategies: QtScript QtSvg QtCore QtNetwork QtGui Items and elements • Minor changes Style QtDeclarative QtSql QtXml QtXmlPatterns • Use Cascades UI over Qt Widget or Qt Quick UI QPA plugin QNX adaptations BlackBerry adaptations
  • 23. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Step by step • Set up the tool chain • Make the application build • Set up packaging and deployment • Fix the look-and-feel issues • Address platform specific runtime issues • Add platform specific features (device integration) • Submit to App-World • BOOM Done!
  • 24. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 • Interact with One app at a time • Interact with Many apps at a time ̶ In/Out Paradigm ̶ Extend/Connect Paradigm • Most of UI app interaction is based • BlackBerry people Multi-Task on “taps” and gestures • Content is King, App Must Flow • An app is a collection of screens through which the user navigates – a window always fills the device main screen
  • 25. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 User interface development User interface development • Cocoa Touch UI Framework • Cascades Framework • UIKit • Use QML • Use Objective-C Application logic Application logic • Objective-C or… • C • Objective-C++ and C++ (rename your .m • C++ file to .mm and add wrappers)
  • 26. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 UIKit Cascades/QML Application frameworks WebKit Application frameworks Graphics & audio Graphics & audio BlackBerry Platform Core services Services iOS kernel & drivers POSIX Microkernel & drivers
  • 27. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Application UI Cocoa Touch Cascades Device integration Graphics Media Layer Animation Media Cascades Qt APIs Storage Core Services Location Payment Sensors BlackBerry Platform Services Core OS Hardware Qt APIs Security QNX APIs
  • 28. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Cascades Objective-C to Native C/C++ UIKit MIGRATE / QML  Wrapper allows Objective-C in pure C++ projects Objective MIGRATE Native Objective-C to Cascades C/C++ C Wrapper  Mapping approach Open Source Commercial Libraries: Libraries:  Box2D  Marmalade  Cocos2D  Unity3D
  • 29. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 0 iOS NS Class BlackBerry 10 Class Description An array of bytes. The size of a QByteArray can be set in the class NS Array / NSMutableArray QByteArray constructor or via the size() method. It can be changed using the resize() method Stored a date and provides helper methods to for example calculate NSDate Qdate date differences. QDateTime is used to store date and time Used to contain and manipulate strings. There is no separate class NSString NSMutableString QString for strings that cannot be modified in BlackBerry 10 NSURL QUrl Stores and manipulates a URL
  • 31. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 2 Porting Applications from the BlackBerry PlayBook • http://developer.blackberry.com/native/documentation/bb10/porting_from_playbook.html Porting Applications from iOS • http://developer.blackberry.com/native/documentation/bb10/porting_ios_intro.html Porting Applications from Android • http://developer.blackberry.com/native/documentation/bb10/porting_from_android_ndk.html Porting Applications from QT • http://developer.blackberry.com/native/documentation/bb10/porting_qt_apps.html
  • 32. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Qt on BlackBerry 10 • https://github.com/blackberry/Qt Qt Projects • http://community.qnx.com/sf/sfmain/do/viewProject/projects.qt Qt • http://qt-project.org/ Qt4 • git://gitorious.org/qt/qt.git QtMobility Sensors, Multimedia, Bluetooth and Nfc • git://gitorious.org/+kdab-developers/qt-mobility/qnx-qt-mobility.git
  • 33. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Posix compatible • QNX Neutrino certification of compliance as a PSE52 Realtime Controller 1003.13-2003 System • http://developer.blackberry.com/native/documentation/bb10/com.qnx.doc.neutrino.prog/topic/posix_confor mance.html BPS event model • BlackBerry Platform Services (BPS) library provides an application with a single consistent interface to a number of different platform services Support C and C++ Libraries • The BlackBerry 10 OS supports Posix-compliant C and C++, as well as the Dinkum C99 and C++ libraries. • http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html BlackBerry 10 Core APIs
  • 34. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Built-in Libraries • Tons of built-in libraries • http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html#builtin Open Source Libraries • BlackBerry has ported some of the most commonly used open source libraries to the platform. Check out our Github repositories! • http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html#opensource Commerical Frameworks • Tools and Middelware support by BlackBerry 10 • http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html#commercial Wide range of API’s (From open source and platform providers)
  • 35. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 6 The Basics • Application Structure Screen Structure • Screen Sizes • Portrait and Landscape https://developer.blackberry.com/devzone/files/desi gn/bb10/UI_Guidelines_BlackBerry_10.pdf
  • 36. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 7 JAM808 - Introduction to the BlackBerry 10 NDK - Developing a Native BlackBerry 10 App from Start to Finish • New to Native development on BlackBerry® 10? This session will discuss the basics of the Native Software Development Kit (NDK). It will provide a good foundation for understanding what can be done with the NDK, as well as provide an overview of the APIs and associated tooling. Follow the development of a Native app from start to finish, including a user interface written in Cascades™, Qt and QML concepts, file system, accessing device APIs, perimeters and access control. This session is an excellent way to learn about the key components of the platform and how they work together to enable application development. • http://hosting.desire2learncapture.com/RIM/1/watch/85.aspx JAM804 - BlackBerry 10 Visual Style and Finding your Flow • Flow is one of the main concepts behind the UI/UX design for BlackBerry® 10. Join this session for a high level understanding of BlackBerry 10 design concepts, both from a user and developer perspective. You will learn how to design your apps to take full advantage of the flow related features BlackBerry 10 has to offer, including peek gestures, the tab sidebar and list peeking • http://hosting.desire2learncapture.com/RIM/1/watch/86.aspx
  • 37. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 JAM811 - Porting: iOS • Are you an iOS® app developer interested in porting iOS native applications to BlackBerry® 10? Join this session to learn how to get started with porting apps that use iOS UIKIt to BlackBerry 10 using the Cascades™ framework. We will cover the iOS and BlackBerry 10 platforms and frameworks, discuss similarities, differences and what to consider when porting applications. This session will focus on understanding iOS and BlackBerry 10 aspects of application lifecycle. Discover platform services offered and how to use them as well as aspects of UI design and implementation, networking and data persistence. • http://hosting.desire2learncapture.com/RIM/1/watch/95.aspx JAM817 - Native API Deep Dive: Location Based Services & Sensors • Location Based Services and Sensors provide many unique ways to add features and functionality to your app. Join this session to learn more about Location Based Services and Sensor APIs in the BlackBerry® 10 NDK and to discover new ways to use them in your native C and Cascades apps • http://hosting.desire2learncapture.com/RIM/1/watch/96.aspx
  • 38. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 WebKit Ripple BlackBerry WebWorks Samples Community API extensions Toolkits (Alice.js, bbUI.js) http://blackberry.github.com
  • 39. Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 Join the Conversation! BlackBerry Experience Forum 2013 - #BEF13 © 2013 Research In Motion Limited. All rights reserved. BlackBerry®, RIM®, Research In Motion® and related trademarks, names and logos are the property of Research In Motion Limited and are registered and/or used in the U.S. and countries around the world. All other trademarks are the property of their respective owners.