BlackBerry Smartphone Application Development Trenton Computer Festival Sat 24 April 2010 John DeGood NU3E john@degood.org http://degood.org/ Sat 24 Apr 2010 BlackBerry Smartphone Application Development 1
Global Smartphone Market Share Vendor Percent Share Nokia 38.9% RIM 19.8% Apple 14.4% HTC 4.6% Source: IDC Sat 24 Apr 2010 BlackBerry Smartphone Application Development 2
US Smartphone Market Share Sat 24 Apr 2010 BlackBerry Smartphone Application Development 3
Open Development vs Walled Garden The iphone vision of the mobile Internet s future omits controversy, sex, and freedom, but includes strict limits on who can know what and who can say what. It s a sterile Disney-fied walled garden surrounded by sharp-toothed lawyers. The people who create the apps serve at the landlord s pleasure and fear his anger. Tim Bray, Google Android Developer Advocate 15 Mar 2010 http://www.tbray.org/ongoing/when/201x/2010/03/15/joining-google Sat 24 Apr 2010 BlackBerry Smartphone Application Development 4
Sat 24 Apr 2010 BlackBerry Smartphone Application Development 5
Sat 24 Apr 2010 BlackBerry Smartphone Application Development 6
Development Costs Development Tools Deployment Vendor Store Android Free Free; can selfpublish App Market 70% share BlackBerry Free Free; can selfpublish; restricted APIs require signing certificate (1-time $20 fee) App World 70% share $200/10 submissions iphone $99/year Free; App Store only; Apple approval required App Store 70% share Palm Free Free for open source and web distribution apps App Catalog 70% share $50/paid app Sat 24 Apr 2010 BlackBerry Smartphone Application Development 7
Smartphone App Languages Android OS (Linux) Java syntax; also native code BlackBerry OS (proprietary) Java ME, supports a subset of MIDP 2.0 (OS >=4) Javascript/HTML (OS >= 5) iphone OS (Darwin) Cocoa Touch/Objective-C Palm webos (Linux) Javascript/HTML; also C/C++ Sat 24 Apr 2010 BlackBerry Smartphone Application Development 8
BlackBerry Java Features Multitasking Always-on background threads Server-side push Bluetooth peripherals Location-based Services (GPS) Multimedia audio and video Cryptography and Security APIs Sat 24 Apr 2010 BlackBerry Smartphone Application Development 9
BlackBerry Java Development Tools Java Development Environment (JDE) Legacy standalone development environment JDE Plug-in for Eclipse Extends Eclipse development platform to support BlackBerry Java applications Simulators Smartphone Simulators Email and MDS Services Simulator Simulates wireless network connectivity and services Sat 24 Apr 2010 BlackBerry Smartphone Application Development 10
BlackBerry Java JDE Version JDE version determines which BlackBerry phones the Java application will support e.g. JDE 4.5 supports BlackBerry OS >= 4.5 Developers should use the lowest JDE version that supports the functionality required by their application in order to operate on the greatest number of phones Sat 24 Apr 2010 BlackBerry Smartphone Application Development 11
BlackBerry Development Cycle Write Java source code for app Debug app with simulator Test on different simulators representing different target smartphones Deploy app Install via USB Install over-the-air from any website Submit to BlackBerry App World Sat 24 Apr 2010 BlackBerry Smartphone Application Development 12
Over-the-Air App Download Simply copy 2 files to any website appname.jad appname.cod On the BlackBerry, use web browser to browse to URL appname.jad Sat 24 Apr 2010 BlackBerry Smartphone Application Development 13
Hello TCF Demonstration Run MDS Simulator (simulates cell infrastructure) Run BlackBerry JDE 4.2.1 Load samples.jdw workspace Modify Source code for Hello TCF application Build (F7) Test (F5) Sat 24 Apr 2010 BlackBerry Smartphone Application Development 14
Web References BlackBerry Developer Zone http://na.blackberry.com/eng/developers/ BlackBerry JDE downloads http://na.blackberry.com/eng/developers/javaappde v/devtools.jsp Sat 24 Apr 2010 BlackBerry Smartphone Application Development 15
Thank You! Download Presentation at http://degood.org/ Sat 24 Apr 2010 BlackBerry Smartphone Application Development 16