blackberry10 and ios app sdk/platform comparison

45
BlackBerry 10 and iOS app SDK/Platform comparison Suavek Zajac Developer Relations

Upload: dr-ranbijay-kumar

Post on 21-Jan-2017

255 views

Category:

Mobile


4 download

TRANSCRIPT

BlackBerry 10 and iOS app SDK/Platform comparison

Suavek Zajac Developer Relations

Ranbijay Kumar

Key Takeaways:

Understand the similarities and difference between the platforms

� What’s different

� What’s the same � Where differences matter

2

The Platforms

3

iOS (Kernel) & Drivers

Core Services

Graphics and Audio

Application Frameworks [Maps, Message …]

UIKit

BB10 (QNX micro-kernel) & Drivers

Core Services (/BPS)

Graphics and Audio

Application Frameworks [Qt, Maps, PIM, Share …]

Cascades / QML

Posix

Webkit

Android Runtime, AIR

Types of Apps

4

Web Apps

Native with Webview PhoneGap…

Native

(Objective C and Cocoa Touch UIKit, OpenGL)

Web Apps

Native with Webview WebWorks, PhoneGap…

Native

(C/C++, QML, Cascades, OpenGL)

Objective C and C

5

#include <stdio.h>!#include <stdlib.h>!!int !main(int argc, char **argv)!{! fprintf(stdout, “Hello World!\n”);! return EXIT_SUCCESS;!}!

C/C++

!  C/C++ is used widely due to it’s portability. It’s a true cross-platform language (combined with POSIX) !  Enables Lots of BB10 Open Source Frameworks !  iOS can also run C/C++ apps (Objective-C++). Developers are

starting to look into this option for cross-platform savings. !  Simple on iOS (just rename your .m file into .mm and add objective-C+

+)

6

Development Environment

Momentics IDE

8

XCode

9

Platform Services

10

!  BB10 is playing catch-up to iOS in SDK features and services

!  Lots of similarities between key features …

!  Differences to be discussed…

Thoughts…

!  iOS !  Facebook/Twitter Connect APIs !  Background (/Headless) services

!  VOIP !  Custom Navigation Apps !  Music / Downloads /Services

11

Cryptography*

!  iOS and BB10 … similar features !  AES,DES,3DES… !  Key difference BB10 crypto algorithms are FIPS certified

!  What the FIPS? Only Modules validated as

conforming to FIPS 140-2 are accepted by the Federal

Agencies of Canada/US for the protection of sensitive

information.

Service similarities (Invoke)

13

I need to open

this .doc file. Anyone?

I can open .doc

files

Invocation Framework

Service Similarities (Viewers)

14

Similarities in UX

!  Apple Says !  The Display Is Paramount

!  Regardless of Its size !  Apps Respond to Gestures, Not Clicks

!  RIM Says !  Content is King !  Apps must Flow

15

Notifications

16

BB10 Peek is more efficient

17

!  Apple concept of page curl !  Not as universal

A key difference

!  Apple Says !  People interact with One App at a Time

!  RIM Says !  Extend/Connect

!  BlackBerry people Multi-Task !  Combine that with Peek and Viewers/Cards

18

Application Behavior Lifecycle and when to store your data

•  Must respond correctly to lifecycle events

•  Can drain battery •  Must store data

efficiently

19

Start

Exit

Normal (Active)

Thumbnail (Active/Inactive)

Hidden (Inactive)

iOS Lifecycle

20

!  Long-Running Background Tasks !  Audio !  Location/Navigation !  VOIP !  Newsstand apps (downloads etc…) !  Accessory apps

Sample Project Podcast App (Work in progress. Blog installments)

Starting: Development Tools

22

UI Design (iOS storyboards)

23

BB10 Qt/QML

24

Lists (ListView)

Container*{***..*****ListView*{*********dataModel:(XmlDataModel({*************source:*"models/items.xml"*********}*********listItemComponents:*[************(ListItemComponent({*****************type:*"header”*******************HeaderListItem*{*********************>tleText:*ListItemData.>tle*********************sub>tleText:*ListItemData.sub>tle*****************}*************},*************ListItemComponent*{*****************type:*"listItem”*******************StandardListItem*{*********************>tleText:*ListItemData.>tle*********************descrip>onText:*ListItemData.sub>tle*********************statusText:*ListItemData.status*****************}}}}}}*

Lists

26

10 Lines of QML!

Lists Summary

!  iOS Storyboards are Visually appealing but … QML/Qt is just as descriptive.

!  Data binding to Lists is much easier in Cascades than on iOS

27

Similar UI (notice subtle UX diff’s)

28

Navigation (Navigation Controller)

29

Navigation Pane

30

A closer look at applications

Navigation Bar / Action Bar

32

Settings / App Menu

33

Tab Bar

34

Tab Overflows (BB10 Sidebar)

35

Context Menu

36 toolbar

Custom buttons in the navigation bar

BB10 has an action bar overflow

37

TableView / ListView

38

WebView and WebView (webkit)

39

Action Sheets / Sheets

40

Cascades 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

41

Cascades Controls

iOS Controls

43

Questions and Answers

Thank you

Suavek Zajac Developer Relations