SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
PORTING JAVA APPS FROM SYMBIAN TO
SERIES 40



Michael Samarin
Director,
Developer Training and Evangelism
Futurice
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.
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
NOKIA SDK 2.0 FOR JAVA
    Integrated SDK + Toolchain             JAD Editor




    App Templates                  Device SDK Manager


 (NetBeans is supported as well)
PLATFORMS




5th Ed., FP1   6th Ed., Lite   6th Ed.   6th Ed., FP1   DP 1.0   DP 1.1   Developer Platform 2.0
Asha 311   Asha 309   Asha 205    Nokia 109 E72 S60 3Ed
                    APIs and JSRs (Belle FP1 – Nokia 808 PureView)
                                                                                 DP2        DP2        DP1      S40 6 Ed Light 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
MEMORY REQUIREMENTS
• On Symbian there are no limitations on Java Heap space usage
  or JAR file size.
• Series 40 limits Java Heap space to 2 or 4 Mb and JAR file size
  to 1 or 2 Mb.
• Challenge for developers to minimize memory usage (exclude
  image processing, big XML parsing). Use memory profiling with
  SDK Emulator.
• Challenge for game making with large graphical assets. Utilize
  post downloading with caching data in RecordStore.
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
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
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
THANK YOU!
Want to learn more?
www.developer.nokia.com
http://www.youtube.com/user/nokiadevforum




             Michael Samarin, Director of Developer Training and Evangelism, Futurice

Weitere ähnliche Inhalte

Mehr von Microsoft Mobile Developer

Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagMicrosoft Mobile Developer
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsMicrosoft Mobile Developer
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appMicrosoft Mobile Developer
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeMicrosoft Mobile Developer
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoMicrosoft Mobile Developer
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraMicrosoft Mobile Developer
 
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesMicrosoft Mobile Developer
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsMicrosoft Mobile Developer
 
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0Microsoft Mobile Developer
 
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Microsoft Mobile Developer
 

Mehr von Microsoft Mobile Developer (20)

Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocamera
 
NFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra appNFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra app
 
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
 
Connettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile ServicesConnettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile Services
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
 
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
 
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
 

Kürzlich hochgeladen

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 

Kürzlich hochgeladen (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 

Porting Java apps from Symbian to Series 40

  • 1. PORTING JAVA APPS FROM SYMBIAN TO SERIES 40 Michael Samarin Director, Developer Training and Evangelism Futurice
  • 2. 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.
  • 3. 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
  • 4. NOKIA SDK 2.0 FOR JAVA Integrated SDK + Toolchain JAD Editor App Templates Device SDK Manager (NetBeans is supported as well)
  • 5.
  • 6.
  • 7. PLATFORMS 5th Ed., FP1 6th Ed., Lite 6th Ed. 6th Ed., FP1 DP 1.0 DP 1.1 Developer Platform 2.0
  • 8. Asha 311 Asha 309 Asha 205 Nokia 109 E72 S60 3Ed APIs and JSRs (Belle FP1 – Nokia 808 PureView) DP2 DP2 DP1 S40 6 Ed Light 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
  • 9. MEMORY REQUIREMENTS • On Symbian there are no limitations on Java Heap space usage or JAR file size. • Series 40 limits Java Heap space to 2 or 4 Mb and JAR file size to 1 or 2 Mb. • Challenge for developers to minimize memory usage (exclude image processing, big XML parsing). Use memory profiling with SDK Emulator. • Challenge for game making with large graphical assets. Utilize post downloading with caching data in RecordStore.
  • 10.
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. THANK YOU! Want to learn more? www.developer.nokia.com http://www.youtube.com/user/nokiadevforum Michael Samarin, Director of Developer Training and Evangelism, Futurice