4. 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)
5. 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;!
}!
6. 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
10. 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…
12. 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.
15. 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
17. BB10 Peek is more efficient
17
! Apple concept of page curl
! Not as universal
18. 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
19. 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)
27. 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
41. 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