41
BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

BlackBerry 10, Beta 2 SDK

Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Page 2: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Agenda

1. Development Platform, C/C++ NDK, Tooling Make apps flow with the Invoke Framework Discover ways to connect via NFC Use system services Enhancements to the IDE

2. Cascades UI UI Improvements New Features and new Controls

3. Demos

2

Page 3: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Updated Documentation

Updated Microsites and Documents https://developer.blackberry.com/platforms/ndk

�  https://developer.blackberry.com/cascades/ �  https://developer.blackberry.com/native/

Follow the updated UX Guidelineshttps://developer.blackberry.com/ui

3

Page 4: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Part 1 – Platform, C/C++ NDK, Tooling Russell Andrade

Page 5: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

New APIs and Tooling

                                       C  APIs  Invoca,on  Framework  API    NFC  Cryptography  Audio  Manager  Slogger2    No,fica,ons  Manager  

         Invoca,on  API              Barcode  processing              Vibra,on  control              Copy  and  paste                Video  &  Camera            Loca,on            No,fica,ons  

 Invoca,on  Tooling  PreGy  Prin,ng  of  Qt  objects  Mul,-­‐device  support  Faster  Deploy  Times  

C++  APIs

       IDE

Page 6: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Enable Application Interaction Leverage the platform!

Integrate with the OS and other applications Use Invoke APIs

6

Invoke I need to

open this .doc file.

Anyone?

I can open .doc

files

Invocation Framework

Page 7: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Invocation Framework

Enables delivery of invocations between end points Provides brokering scheme Provides a list of best fit targets for an invocation Access from C/C++ and Cascades

Page 8: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Notifications Manager

Several types of events may arise that require the application to notify the user. Some events require the user to respond and some don't. Each event can be mapped to one of these notification types: Simple LED Vibrate and Sound Toast messages Dialogs Unified Inbox Notifications

Page 9: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

NFC Near Field Communication (NFC) is used for contactless communication between devices and tags/cards. Some of the use cases we will be able to support include: · Bluetooth / Wifi pairing, NFC based contact exchange · Reading and writing Tags / Smart Posters / Content Discovery · Contactless payment (VISA, Mastercard etc) · Physical/Logical access control · Ticketing (event, transit, parking etc.) Our NFC API covers •  NDEF Message Reading and writing •  Tag emulation •  Tag reading and writing •  Peer to peer connections

The API covers NDEF message reading and writing, tag emulation, tag reading and writing, and peer to peer connections. All of these could potentially be requested by multiple applications concurrently. The API covers NDEF message reading and writing, tag emulation, tag reading and writing, and peer to peer connections. All of these could potentially be requested by multiple applications concurrently.

Page 10: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Cryptography  

Cer$com  C  APIs  

Symmetric  Encryp,on   AES,  DES,  3DES,RC2,  RC4,  RC5  

Asymmetric  Encryp,on   RSA,  ECIES  

Key  Agreement/Transport   DH,  ECDH,  ECMQV,  RSA  

Digital  Signatures   ECDSA,  ECQV,  RSA,  DSA,  RSA-­‐PSS,  ECNR,  ECPVS  

Hash  func,ons   SHA-­‐1,  SHA-­‐224,  SHA-­‐256,  SHA-­‐384,  SHA-­‐512,  MD2,  MD4,  MD5,  HMAC-­‐SHA-­‐1,  HMAC-­‐SHA-­‐224,  HMAC-­‐SHA-­‐256,  HMAC-­‐SHA-­‐384,  HMAC-­‐SHA-­‐512,  HMAC-­‐MD5,  ANSI  KDF,  IEEE  KDF1  

Random  Number  Generator   ANSI  X9.62  RNG,  FIPS  140-­‐2,  Hash_DRBG,  HMAC_DRBG,  CTR_DRBG  

Page 11: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Audio Manager

The audio manager provides the following features:

Automatic Routing and Manual Routing Audio Stream Type Identification Audio Concurrency Policy Management Audio Device Monitoring and mounting (Headset, A2DP, HDMI etc.) The use of the audio manager is optional

Page 12: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Slogger 2

Slogger 2 is the new logging API that replaces the legacy slogger. Resolves many of the performance issues with the original slogger Provides seamless migration path for code that uses legacy slogger APIs Logs when interrupts are off. Capable of reliably merging multiple log buffers into chronological order

Preserves a copy of RAM log buffers on process crash or device reset

Avoid using original slogger APIs

Page 13: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Barcode Processing is a new API that was developed for encoding and decoding QR codes

Initiate barcode scanner which launches camera viewfinder Can scan bar and QR codes Convert codes into their string representation Display barcode

Barcode Scanner

Page 14: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Video  and  Camera  

We support new C++ APIs to control camera settings and capture pictures and video. The primary use case is developers working on Augmented Reality type apps Instantiate a camera viewfinder preview Overlay content over it Take pictures Record video

Page 15: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Multi-device support

•  Can specify multiple icons and splash screens to uploaded as assets •  Selects different splash screens based on the resolution of the device •             All  assets  are  packaged  in  same  bar  

Page 16: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Pretty Printing

Page 17: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Faster Deploy Times •     New  op,miza,ons  made  to  deployment  ,mes  

Page 18: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Part 2 – User Interface

Anders Larsson

Page 19: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Overview of updates in Beta2

UI look and feel improvements -  ActionBar -  Context Menu -  Performance -  … and lots of tweaks here and there

New features and controls -  Tabs Compact mode and splats -  List multiselect, gridlist -  Sheets, Custom Dialogs -  High level gestures -  Application Menu -  … and lots of small but very usefull additions

New samples and tutorials 19

Page 20: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

TabbedPane improvements

20

Tab sidebar - two modes - Compact - Extracted Mode can be controlled using touch or APIs Allows quick tab navigation and peeking

Page 21: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

TabbedPane splats

21

The classic BlackBerry splat can be used to indicate new content in tabs Can be combined with a number indicating how much new content that is available Easily controlled through C++ or QML

Page 22: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Context Menu improvements

22

Look and feel improvements Can now be accessed in one continouos drag movement Extracting elements in compact mode allows browsing through options Improved layouting for more ergonomic access

Page 23: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Feature Highlights

-  List Improvements -  High level gestures -  Application Menu -  Sheets and Custom Dialogs

Page 24: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

List improvements

Page 25: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

List improvements

The list has gone through a major refactoring behind the scenes Dedicated GridListLayout In the old beta a ”hack” using two level lists could achieve a grid list New solution is much more flexible Note: Old hack won’t work anymore! Multi Select Support Attaching a MultiSelectHandler enables multiselect in the list and helps you track the selection. The selection mechanism is automatically integrated with the context menu and actionbar

25

Page 26: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

High level gestures

Page 27: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Built in gestures in Beta 2

GestureHandler base class Subclasses �  TapHandler �  DoubleTapHandler �  LongPressHandler �  PinchHandler

27

Page 28: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

QML Example – Pinch handler

28

Container  {      id:  gestureContainer      gestureHandlers:  [            PinchHandler  {              onPinchStart:  {  

       //  start  up  code  (if  needed)              }              onPinchUpdate:  {  

           gestureContainer.scaleX  =  event.pinchRatio;              gestureContainer.scaleY  =  event.pinchRatio;              gestureContainer.rotationZ  =  event.rotation;  

           }              onPinchEnd:  {  

       //  shutdown  code  (if  needed)              }    ]  }  

Page 29: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Application Menu

Page 30: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Application Menu

Pulled down by swiping from the top Should mainly be used for rarely used

application actions such as settings and help

Can be disabled if the application don’t

want to use it (for this Beta only available through C++

APIs)

30

Page 31: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Sheets & Custom Dialogs

Page 32: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Sheets

A sheet breaks the current navigational flow. It contains a subflow that need to be finished before the original application flow can be resumed.

Examples: Pickers, Forms

32

Page 33: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Sheets usage

33

Page 1 Main application flow in NavigationPane

Page 2 Page 3

Sheet subflow. Must be finished before mainflow can be resumed. Sheets can contain a completely new navigation stack, including other sheets

Page 2a Page 2b

Back Back

Back

Sheet Opened Sheet Closed – return to Page 2

Page 34: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

QML Example – Sheets

34

 Page  {  …    attachedObjects:  [  Sheet  {  //  sheets  that  can  be  launched  from  this  page  

                         id:  mySheet              Page  {  …                        }                            }  

                       ]    …    actions:  [  

   …      onTriggered:  {          mySheet.visible  =  true;  //  on  some  action,  show  the  sheet  

                       }                  }          ]  }  

Page 35: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Custom Dialogs

Custom Dialogs can be used when an application need to display a custom modal dialog

Any content can be placed in the dialog The UI behind the dialog will be dimmed

out and cannot be interacted with Note: There are already a set of system dialogs with

a predefined look and feel available in bb::system::SystemDialog. These should be used when applicable.

35

Page 36: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

QML Example – Custom Dialogs

36

 Page  {  …    attachedObjects:  [  CustomDialog  {    

                         id:  myDialog                Container  {…  //  some  content  

             }                          }  

                       ]    …    actions:  [  …  

   onTriggered:  {          myDialog.visible  =  true;  //  show  the  Custom  Dialog  

                   }          ]  }  

Page 37: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Improved, updated and new examples!

Page 38: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Cascades Samples

Don’t forget to check out our new sample apps!

�  Photo Bomber �  Shows how to use the MultiMedia

Libray and the camera

�  Bucket List �  Shows multi select, JSON handling

and ActionSet handling

�  Updated Cascades Cookbook �  Examples of other new features

38

https://developer.blackberry.com/cascades/sampleapps/

Page 39: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

3. Demos

Page 40: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Need more info ?

1.    Check  out  our  Na$ve  website  at  :    h8ps://developer.blackberry.com/pla?orms/ndk    2.   Take  a  look  at  our  support  forums    h8p://suppor?orums.blackberry.com/t5/Developer-­‐Support-­‐Forums/ct-­‐p/blackberrydev        

Page 41: BlackBerry 10, Beta 2 SDK · BlackBerry 10, Beta 2 SDK Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations

Thank you! Russell Andrade – Product Manager Anders Larsson – Product Manager Suavek Zajac – Developer Relations