14
PORTING JAVA APPS FROM SYMBIAN TO SERIES 40 Michael Samarin Director, Developer Training and Evangelism Futurice

Porting Java apps from Symbian to Series 40

Embed Size (px)

DESCRIPTION

If you have Java™ apps for Symbian phones, this webinar is for you. You‘ll learn how to use the newest features for developers on Series 40 phones and why it can be worthwhile to port your Java apps to serve this large market. Java expert Michael Samarin of Futurice will provide an overview of the differences between the Java runtime environments of Symbian and Series 40 and will show you how to adapt your Symbian apps to reach Series 40 users.

Citation preview

Page 1: Porting Java apps from Symbian to Series 40

PORTING JAVA APPS FROM SYMBIAN TO SERIES 40

Michael Samarin Director, Developer Training and Evangelism Futurice

Page 2: Porting Java apps from Symbian to Series 40

GENERAL CONSIDERATIONS • Same development platform Java ME on Series 40 and

Symbian. • Standard Midlets based on CLDC 1.1, MIDP 2.0 and common

JSRs will run without even recompiling on both Symbian and Series 40.

• However, behavior and User Experience of Java apps might be significantly different.

• APIs and Capabilities of Java Runtime on Symbian and Series 40 are different.

Page 3: Porting Java apps from Symbian to Series 40

PORTING CHECKLIST • Nokia SDK 2.0 For Java: Asha Full Touch Emulator, Nokia IDE for

Java • Available JSRs and APIs, Media formats • Platform Memory Requirements • Java Runtime System Properties • Performance • UI optimization and User Experience • http://www.developer.nokia.com/Resources/Library/Java

Page 4: Porting Java apps from Symbian to Series 40

NOKIA SDK 2.0 FOR JAVA

Device SDK Manager

Integrated SDK + Toolchain

App Templates

JAD Editor

(NetBeans is supported as well)

Page 5: Porting Java apps from Symbian to Series 40
Page 6: Porting Java apps from Symbian to Series 40
Page 7: Porting Java apps from Symbian to Series 40

PLATFORMS

Developer Platform 2.0 DP 1.1 DP 1.0 6th Ed., FP1 6th Ed. 6th Ed., Lite 5th Ed., FP1

Page 8: Porting Java apps from Symbian to Series 40

APIs and JSRs (Belle FP1 – Nokia 808 PureView) Asha 311 DP2

Asha 309 DP2

Asha 205 DP1

Nokia 109 S40 6 Ed Light

E72 S60 3Ed FP2

JSR 139 Connected, Limited Device Configuration (CLDC) 1.1 Yes Yes Yes Yes Yes JSR 118 MIDP 2.1 Yes Yes Yes Yes Yes JSR 75 FileConnection and PIM API 1.0 Yes Yes Yes Yes Yes JSR 82 Java™ APIs for Bluetooth 1.1 Yes Yes Yes - Yes JSR 172 J2ME™ Web Services Specification 1.0 (RPC package) Yes Yes Yes Yes Yes JSR 172 J2ME™ Web Services Specification 1.0 (XML Parser package) Yes Yes Yes Yes Yes JSR 177 Security and Trust Services API for J2ME™ 1.0 (SATSA-APDU package) Yes Yes Yes Yes Yes JSR 177 Security and Trust Services API for J2ME™ 1.0 (SATSA-CRYPTO package) Yes Yes Yes Yes Yes JSR 177 Security and Trust Services API for J2ME™ 1.0 (SATSA-PKI package) - - - - - JSR 184 Mobile 3D Graphics API for J2ME™ 1.1 Yes Yes Yes Yes Yes JSR 205 Wireless Messaging API 2.0 Yes Yes Yes Yes Yes JSR 226 Scalable 2D Vector Graphics API for J2ME™ 1.1 Yes Yes Yes - Yes JSR 234 Advanced Multimedia Supplements 1.1 (audio3d) Yes - Yes - Yes JSR 234 Advanced Multimedia Supplements 1.1 (camera) Yes - Yes - - JSR 234 Advanced Multimedia Supplements 1.1 (music) Yes Yes Yes - Yes JSR 257 Contactless Communication API 1.0 - - - - - IAP Info API 1.0 - - - - Yes eSWT UI API 1.0.3 - - - - Yes JSR 135 Mobile Media API 1.2 Yes Yes 1.1 Yes Yes JSR 179 Location API for J2ME™ 1.0.1 1.0 1.0 1.0 1.0 1.0 JSR 211 Content Handler API 1.0.1 1.0 1.0 1.0 1.0 - JSR 248 Mobile Service Architecture Subset 1.1 for CLDC 1.1 Yes Yes Yes - Yes JSR 256 Mobile Sensor API 1.2 Yes Yes - - - JSR 257 Contactless Communication API Extensions - - - - - Nokia UI API 1.4 1.6 1.6 1.1 1.1 1.1

Page 10: Porting Java apps from Symbian to Series 40
Page 11: Porting Java apps from Symbian to Series 40

SYSTEM PROPERTIES • Make sure to explore differences in available System Properties on

Symbian and Series 40: • http://www.developer.nokia.com/Resources/Library/Java/#!develope

rs-guides/application-framework/system-properties.html

• There are many unique System Properties available only on Series 40: dual SIM, layout alignment in scripts (LTR, RTL), network ID, country code etc.:

• http://www.developer.nokia.com/Resources Library/Java/#!developers-guides/application-framework/system-properties/nokia- specificsystem-properties.html

Page 12: Porting Java apps from Symbian to Series 40

PERFORMANCE • Only testing on real device will give correct perception of your apps’

performance. • Make sure correct usage of threads, on some Series 40 device, having more

then 4 running threads doesn’t improving performance. • Defining classes and members as static on Series 40 decreases performance. • Audio playback performance (especially for games) requires per-device

optimization. Some devices do not support more then 4 “prefetch” calls on sampled media.

• Sensor querying loops should be designed with low performance in mind. • https://www.developer.nokia.com/Resources/Library/Java/#!developers-

guides/series-40-performance-optimisation.html

Page 13: Porting Java apps from Symbian to Series 40

UI AND USER EXPERIENCE • Asha Full Touch introduced new Look & Feel for LCDUI components, as

well as, new optimized version of LWUIT: • http://www.developer.nokia.com/Resources/Library/Full_Touch • http://projects.developer.nokia.com/LWUIT_for_Series_40

• There are significant additions to Nokia UI APIs, including support for

gestures optimized for multi-point touch, virtual keyboard, orientation, new extensions to LCDUI (CategoryBar, IconCommand):

• http://www.developer.nokia.com/Resources/Library/Java/#!introduction-to-java-me/new-features-in-java-runtime-200-for-series-40.html

Page 14: Porting Java apps from Symbian to Series 40

Want to learn more? www.developer.nokia.com http://www.youtube.com/user/nokiadevforum

Michael Samarin, Director of Developer Training and Evangelism, Futurice

THANK YOU!