Why Java?

minutetwitterSoftware and s/w Development

Jun 7, 2012 (5 years and 15 days ago)

563 views

Why Java?
Understand the Advantages and
Features of the BlackBerry Java
Development Environment (JDE)
John Svazic
Team Lead, Java APIs
Tim Windsor
Application Development 
Consultant
February 16, 2010
Agenda
•BlackBerry®Java®Development Environment
•Background
•APIs and capabilities
•BlackBerry Java Developer Tools
•BlackBerry®JDE Plugin for Eclipse®
•BlackBerry JDE
•BlackBerry smartphone simulators
•Other IDEs
•BlackBerry Code Signing
•Resources
BlackBerry Java
Development
BlackBerry Java / Java ME
The BlackBerry®smartphoneis built from the ground
up as a Java®based devicewith all built-in applications
and APIs written in Java
BlackBerry smartphonessupport:
•MIDP Standard APIs (MIDP v2.1 supported) for cross platform
development
•CLDC Standard APIs (CLDC v1.1 supported) for connectivity
•BlackBerry specific Java APIs
Device OS
Java Virtual Machine
Java ME APIs
BlackBerry APIs
Java Applications
BlackBerry Java / Java ME
Java APIs for the BlackBerry solution enables you to
develop rich custom client applications that provide
•Compelling customizable user interface
•Local data storage on the device
•Event listening and system interfaces
•Secure wireless transport via HTTP
Advanced Java API capabilities include
•Integration with BlackBerry Email, PIM and Phone applications
•Networking and Secure Push Services
•Communication with Bluetooth®-enabled peripherals
•Rich multimedia features
•Location-based services and BlackBerry®Maps
•Touch Events and Accelerometer Support
Evolution of BlackBerry Smartphone Software
4.0
4.0.2
3.7
3.6
3.3
4.1
4.3
4.5
4.7
4.6.1
4.6
4.7.1
5.0
4.2.1
4.2
5810
5820
6200 Series
6500 Series
6700 Series
7200 Series
7700 Series
7100
7290
7510
7520
8700
7130
7100i
Pearl8800 Series
8110
8120
8130
StormTour
8900
8350i
8520
Pearl Flip
Bold
Initial
Release
MIDP 1.0
CLDC 1.0
PIM APIs
Mail APIs
MIDP 2.0
CLDE 1.1
Invoke APIs
Color
Smartphone
Support
Smart Card
APIs
JSR 179
(LBS)
Mulltimedia
Focus
JSR 75
(File API)
JSR 82
(Bluetooth)
Application
Permissions
JSR-172 (Web
services)
JSR-205 (MMS)
JSR-211 (CHAPI)
JSR-238
(Internationaliztn)
Map Field
Spell Check API
HTML Email
JSR-226
(SVG)
Décor APIs
Multi-PIM
Support
SMS & MMS
Listeners
Touch Screen
-Input
-Keyboard
Orientation APIs
Accelerometer
Invoke
-Video Recorder
Improved UI
Customization
Networking API
Hotspot API
Push API
JSR 234
(AMMS)
Media Key
Events
Reverse
Geo-coding
Biometric API
User Auth API
Attachment API
Storm2
Bold 9700
Devices shown from left to right, top row: BlackBerry®7100t smartphone, BlackBerry®7100i smartphone, BlackBerry®Pearl™Flip 8220 smartphone, BlackBerry®Curve™8900 smartphone,
BlackBerry®Storm2™smartphone. Second row: BlackBerry®5810 smartphone, BlackBerry®6200 smartphone, BlackBerry®7200 smartphone, BlackBerry®7100 smartphone, BlackBerry®7250
smartphone, BlackBerry®7100i smartphone, BlackBerry®Pearl™8100 smartphone, BlackBerry®8800 smartphone , BlackBerry®Pearl™8110 smartphone, BlackBerry®Bold 9000 smartphone,
BlackBerry®Storm™smartphone, BlackBerry®Tour™9630 smartphone, BlackBerry®Bold™9700 smartphone.
APIs and Capabilities: Compelling UI
New in 5.0
•UI Pickers (Date & Time, Spinner, File, Location)
•User Interaction APIs (Transitions, Kinetic Scrolling, Picture Zoom,
Toolbar, Eyelid Field, Picture Scroll Field)
•New Layout Managers and UI Customization APIs
APIs and Capabilities: Secure Push Services
Refers to a server-initiated connection where a server-side
application sends data to a client application proactively
•Key benefits over polling for new data:
•Reduced network traffic
•Reduce cost, increase battery life
•Reduced processing requirements
•Timeliness of data
•Can be used in many different ways:
•Pushing notifications for business workflow
•Push updates of time sensitive data
•Just like BlackBerry®Mail!
•New in 5.0
•BlackBerry Push APIs for device push listeners
APIs and Capabilities: Multimedia
BlackBerry®Storm™9500 smartphone
•Features
•Leverage the Media Player on the BlackBerry
smartphone for playback of multimedia content
•Embed audio into applications using the Mobile
Multi-Media API (JSR 135)
•Record audio and store it on the BlackBerry
smartphone or send it over the network
•Camera integration allows applications to use the
image capture abilities for pictures
•New in 5.0
•Embedded video capturing and streaming
•Embed video and access increased camera control
(zoom, focus) with JSR 234
•Capture Media Key Events *
APIs and Capabilities: Location Based Services
•Features
•Enhance applications by adding location awareness using JSR-179
Location Based Services
•BlackBerry®smartphones support:
•Cellsite fixes (CDMA only)
•Assisted GPS (certain carriers only)
•Ephemeris Extensions (EDGE only)
•Autonomous Fixes (EDGE and CDMA)
•External GPS receiver connected over Bluetooth
•Cell Tower LBS
•New in 5.0
•JSR-179 extensions
•Reverse Geo-coding
•Location Picker
•BlackBerry device Locate Service
APIs and Capabilities: BlackBerry Maps
•Features
•Create sophisticated location
aware solutions with very little
effort
•Using the Invoke API or built in
support (via MapField) allow
for flexible addition of mapping
to your application
•Supports static routes both
text and on-map
•New in 5.0
•LocationPicker
APIs and Capabilities: Security and Cryptography
•Features
•Crypto API
•Encrypt and decrypt data
•Digitally sign and verify
data
•Authenticate data
•Certificates (X.509)
•SSL/TLS
•KeyStore
•New in 5.0
•Biometric APIs
•User Authentication APIs
APIs and Capabilities: Messaging
•Email
•Integrate with the BlackBerry Mail application to send and receive email
•PIN Messaging
•Send PIN messages direct to other BlackBerry smartphones
•Extend the BlackBerry
®
Messenger Client for peer-to-peer applications
•SMS and MMS
•Wireless Messaging API 1.0 (JSR 120) allows applications to sendand
receive SMS messages
•Wireless Messaging API 2.0 (JSR 205) allows applications to send and
receive MMS messages
•New in 5.0
•Attachment API, Multiple ContactList Support
APIs and Capabilities: BrowserField2
•New in 5.0
•BrowserField2 allows developers to quickly and easily
•Embed web contentfrom various sources within a Java Application.
•Provide easy page navigationwith respect to the BrowserField’s history
(i.e. back, forward, stop, refresh)
•Access the DOMof loaded web content
•Configurehow a page will be displayed and behave
•Monitor the state of a loading document
•Execute JavaScript®in the context of the loaded web content from
JavaHandler HTTP connections, SSL, cookies and caching.
•Extend JavaScriptwith functionality written in Java allowing JavaScript to
effectively invoke Java code
APIs and Capabilities: Integration with Built-In Applications
•Application Menu Item
•Ability to add menu items to existing BlackBerry smartphone applications
(messaging, calendar, etc)
•Invoke
•Invocation of BlackBerry smartphone applications including:
•Browser, Messages, Calendar, BlackBerry®Maps, Camera, Search
•Content Handler API (JSR 211)
•Supported in 4.3.0
•Key mechanism for integration in the future
•App World Integration APIs
•Integrate your Application UI into BlackBerry smartphone Application UI
•Phone Screen API
•Contact Linking
BlackBerry Java
Development Tools
BlackBerry JDE Plug-in for Eclipse
BlackBer
r
y®Curve™8300 smartphone
•Eclipse
•An open source development environment
www.eclipse.org
•BlackBerry JDE Plugin for Eclipse
•Provides key BlackBerry features in familiar Eclipse
environment
•Requirements
•Eclipse Classic 3.3.1
•Microsoft Vista or Windows XP
•Java SE JDK v5 or v6
BlackBerry JDE Plug-in for Eclipse
•Features
•Supports building against multiple JDEs

(v4.5.0 shipped with installer by default)
•Localization
•Resource Editor and Source Control Integration
•Java Debug Wire Protocol (JDWP) used for fully integrated debugging
support of devices and simulators
•Objects and Profiling Window Support
•Memory Statistics and Source Code Profiler
•Javadocs and JDE Help
•Sample Applications focusing on how to leverage specific APIs
BlackBerry JDE
•BlackBerry JDE
•A fully integrated development environment and simulation for building
BlackBerry smartphone applications
•Requirements:
•Java SE JDK v5
•Windows Vista or
Windows XP
An Integrated
Development Environment
BlackBerry GUI Builder
DEMO
BlackBerry Smartphone Simulators
•Smartphone Simulator
•Network Connectivity
•Battery Levels
•microSD™Card
•GPS Location
•Camera Image
•Incoming Voice Calls
•USB Cable Connected
•Touch Screen
•Accelerometer
BlackBerry Smartphone Simulators
DEMO
BlackBerry Simulators
•BlackBerry Mobile Data System
Connection Service Simulator
•Simulates HTTP and socket
connections for BlackBerry
smartphone simulators
•Allows simulation of push
functionality to BlackBerry
smartphone simulators
•BlackBerry®Mail server simulator
•Simulate email functionality with the
BlackBerry smartphone simulator
•Stand-alone or POP3 integration
Leverage Other IDEs
•The BlackBerry JDE Component Pack is:
•A simple and small installer which includes the key pieces necessary for
integration with other development environments
•Allows integration with alternative development environments including
debugging support, compilation, code signing and deployment support.
•NetBeans
http://www.netbeans.org/kb/50/blackberry.html
BlackBerry Code Signing
•What are BlackBerry Code Signing Keys
•Sensitive APIs are protected by BlackBerry (add in here:
solution, smartphone, device etc) code signing
•Controlled APIs are split into four areas:
•Runtime APIs
•BlackBerry smartphone Application APIs
•Cryptography APIs
•Certicom APIs
•Developers leverage the SignatureTool to
sign their applications using unique identity
BlackBerry Code Signing
•How to register for keys?
•Fill out a registration form at:
https://www.blackberry.com/SignedKeys/
•Administration fee is required to process keys
•Code signing keys are distributed by email
•Developers only required to register once
Keys do not expire and can be re-used for all application signing
BlackBerry Java
Development Resources
BlackBerry Developer Community
•Fast Facts
•200,000+ Registered Developers
•Hundreds of Knowledge Base Articles,
Videos and Beginner Level Tutorials
•Recently Launched Developer Blog
•Monthly Webinar Series
•BlackBerry Developer Newsletter
•More than 70,000 Development-Related
Forum Posts
•Developer Issue Tracker
•Developer Training and Certification
•And more …
www.blackberry.com/developers
App Planet Resources
•Hands on labs
•Try out our Java labs!
•Web, Widget and Theme labs
also available!
•Meet the Experts
•Sit down and chat with staff!
www.blackberry.com/developers