SlideShare a Scribd company logo
1 of 16
Download to read offline
Java ME



Andreas Jakl
Senior Technical Consultant
Forum Nokia

                              13 April, 2010
13.04.2010   © 2010 Nokia   2




Java?
• In numbers:
   – > 6 Billion Java-enabled devices
   – 2.6 Billion Java-enabled phones
     (8 out of 10 shipped in 2008)
   – 3.5 Billion Java Cards
   – 20 Million Java set-top boxes
   – 800 Million Java desktops
   – 180 Operators deploying Java content
   – 6 Million developers
13.04.2010        © 2010 Nokia                   3

                                                                                    MSA …    Mobile Service Architecture (JSRs 248 and 249)



Editions
                                                                                    JTWI …    Java Technology for the Wireless Industry, JSR 185
                                                                                    MIDP …   Mobile Information Device Profile
                                                                                    CDC …    Connected Device Configuration
                                                                                    CLDC …   Connected Limited Device Configuration

            Servers &     Servers &        High-end          Mobile phones &      Smart
           enterprise     personal      PDAs, TV set-top     entry-level PDAs     cards
           computers     computers      boxes, embedde
                                           d devices
           Optional
           Packages
                          Optional
                          Packages         Optional
                                           Packages

                                        Personal Profile         Optional
                                                                 Packages
             Java 2                         Personal
           Platform, E      Java 2            Basis
                                                                   MSA
            nterprise    Platform, St        Profile
             Edition       andard                                  JTWI
              (J2EE)       Edition        Foundation
                                                                   MIDP
                            (J2SE)          Profile


                                              CDC                  CLDC          Java Card



                                        Java Platform, Micro Edition (Java ME)
13.04.2010   © 2010 Nokia   4




Java SE vs. Java ME
• Java ME is mainly a subset of J2SE
    – But different UI- and event handling functionality
    – Less utility classes
        (only Vector and Hashtable, no LinkedLists, …)
• Code runs on both platforms?
    –     general algorithms: yes
    – But the whole application needs porting
13.04.2010   © 2010 Nokia   5




Targets




          + RIM / Blackberry
          + SonyEricsson
          + Motorola
13.04.2010   © 2010 Nokia   6




Basic Terms – Configuration
• Defines Java platform for different device classes
    – CLDC
        •   Limited UI                                 Currently used in
        •   Low computing power,
                                                       most phones:
                                                       CLDC 1.1
        •   Limited connectivity

    – CDC
        •   High bandwidth network connection
        •   larger memory requirements
13.04.2010   © 2010 Nokia   7




Basic Terms – Profile
• Extension and more detailed specification for a configuration
    – Contains APIs for UI, event handling, data storage, networks, timers, …
    – Minimum requirements for devices (screen size, input possibilities, ...)
• For mobile phones:
    – Mobile Information Device Profile (MIDP)
    – Currently used: MIDP 2.1
13.04.2010   © 2010 Nokia      8

                                                 Tornado Mania! 3D


Basic Terms – JSR
                                                 (Digital Chocolate)




• Java Specification Request (JSR)
                                                                                               RealReplay
    – Describe specifications and technologies                                                   (Mopius)


    – Mobile space: APIs, standards
• Examples:
    – JSR 82: Bluetooth APIs
    – JSR 179: Location API
    – JSR 184: Mobile 3D API
    – JSR 226: Scalable 2D Vector Graphics API
13.04.2010   © 2010 Nokia   9




What JSRs could be required?
• A mapping application could require:
   – JSR 226 (Vector Graphics)
       •   Map visualization

   – JSR 179 (Location)
       •   Where am I?

   – JSR 172 (Web Services)
       •   Requesting data

   – JSR 75 (File and PIM)               Google Maps Mobile
                                             © Google
       •   Map an address
13.04.2010   © 2010 Nokia   10




What does my phone support?




                   http://www.forum.nokia.com/devices/
13.04.2010   © 2010 Nokia   11




Development – NetBeans IDE
•   Fully integrated solution
     – Integrates all aspects of mobile
       development
     – Visual UI Designer
     – Game Builder
     – Localization, Preprocessing
     – Web access
     – Automated deployment
     – Comes with generic emulator
•   Maintained by Oracle (Sun)
     – http://www.netbeans.org/
                                          NetBeans (+ Java ME module)
13.04.2010   © 2010 Nokia   12




Development – Eclipse IDE
•   Mobile Tools for Java (MTJ)
     – Targets Java ME development
     – Supports MIDlets
     – Adds project type and Java ME perspective to Eclipse
     – Templates for common projects (games, etc.)
     – Localization, Preprocessing
     – Creates .jad/.jar packages
     – Originally based on EclipseME plug-in
•   Pulsar
     – Combined tools set – includes Eclipse, MTJ and other tools
     – http://eclipse.org/pulsar/
13.04.2010   © 2010 Nokia   13




SDKs
• Device vendor specific SDKs
   – Simulate target more accurately
   – Support proprietary APIs
   – Include device skins
• Generic SDK from Sun
   – Fine enough for initial development
   – http://java.sun.com/javame/downloads/sdk30.jsp
13.04.2010   © 2010 Nokia   14




Deployment Process


                                           .jar/.jad-file
                                          (MIDlet Suite)


                              Packaging


                 Compile &
                  Preverify

   Source code
     (.java)
13.04.2010   © 2010 Nokia   16




Future of Java ME
• Roadmap
   – Nokia makes its Java ME implementation open source
       •   Contribution to Symbian Foundation
   – Next version: Java Runtime 2.0 (JRT)
       •   Faster startup
       •   Easier installation
       •   Beta: http://betalabs.nokia.com/apps/nokia-java-runtime-20-for-s60
   – Future
       •   Migration to Qt based UI ongoing
       •   Hardware acceleration, haptics, etc.
   – http://blogs.forum.nokia.com/blog/java-runtime-for-s60-blog
Thank You.

More Related Content

What's hot

Campus portal for wireless devices
Campus portal for wireless devicesCampus portal for wireless devices
Campus portal for wireless devicesShiladitya Mandal
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSSenthil Kanth
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Wambua Wambua
 
Presenting Cloud Computing
Presenting Cloud ComputingPresenting Cloud Computing
Presenting Cloud ComputingNaveen Karn
 
Mobile Showcase Moblin2
Mobile Showcase Moblin2Mobile Showcase Moblin2
Mobile Showcase Moblin2Tomas Bennich
 
Developing Smart Card Web Server Applications
Developing Smart Card Web Server ApplicationsDeveloping Smart Card Web Server Applications
Developing Smart Card Web Server ApplicationsCellnetrix
 
Jure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesJure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesNokiaAppForum
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007Edoardo Schepis
 
Java ME CLDC MIDP
Java ME CLDC MIDPJava ME CLDC MIDP
Java ME CLDC MIDPSMIJava
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro editioncorneliuskoo
 
jCardSim - development platform for Java Card Applications
jCardSim - development platform for Java Card ApplicationsjCardSim - development platform for Java Card Applications
jCardSim - development platform for Java Card ApplicationsMikhail Dudarev
 
Introduction to j2me
Introduction to j2meIntroduction to j2me
Introduction to j2meFae Kaal
 
Http Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...
Http   Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...Http   Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...
Http Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...qedanne
 
Porting BlackBerry apps to the Series 40 platform
Porting BlackBerry apps to the Series 40 platformPorting BlackBerry apps to the Series 40 platform
Porting BlackBerry apps to the Series 40 platformMicrosoft Mobile Developer
 

What's hot (19)

Campus portal for wireless devices
Campus portal for wireless devicesCampus portal for wireless devices
Campus portal for wireless devices
 
MOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMSMOBILE APPs DEVELOPMENT PLATFORMS
MOBILE APPs DEVELOPMENT PLATFORMS
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)
 
Presenting Cloud Computing
Presenting Cloud ComputingPresenting Cloud Computing
Presenting Cloud Computing
 
Javacard
Javacard Javacard
Javacard
 
J2ME GUI Programming
J2ME GUI ProgrammingJ2ME GUI Programming
J2ME GUI Programming
 
Mobile Showcase Moblin2
Mobile Showcase Moblin2Mobile Showcase Moblin2
Mobile Showcase Moblin2
 
Developing Smart Card Web Server Applications
Developing Smart Card Web Server ApplicationsDeveloping Smart Card Web Server Applications
Developing Smart Card Web Server Applications
 
Java card
Java cardJava card
Java card
 
Jure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi ServicesJure Sustersic Monetization through Ovi Services
Jure Sustersic Monetization through Ovi Services
 
JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007JavaME Development Workflow - JMDF 2007
JavaME Development Workflow - JMDF 2007
 
Java ME CLDC MIDP
Java ME CLDC MIDPJava ME CLDC MIDP
Java ME CLDC MIDP
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro edition
 
Java card
Java cardJava card
Java card
 
jCardSim - development platform for Java Card Applications
jCardSim - development platform for Java Card ApplicationsjCardSim - development platform for Java Card Applications
jCardSim - development platform for Java Card Applications
 
Introduction to j2me
Introduction to j2meIntroduction to j2me
Introduction to j2me
 
Introduction to Java ME
Introduction to Java MEIntroduction to Java ME
Introduction to Java ME
 
Http Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...
Http   Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...Http   Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...
Http Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...
 
Porting BlackBerry apps to the Series 40 platform
Porting BlackBerry apps to the Series 40 platformPorting BlackBerry apps to the Series 40 platform
Porting BlackBerry apps to the Series 40 platform
 

Similar to Java me introduction

Java ME - Introduction
Java ME - IntroductionJava ME - Introduction
Java ME - IntroductionAndreas Jakl
 
Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Agora Group
 
Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMicrosoft Windows Embedded
 
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Andreas Jakl
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiFrancesco Baldassarri
 
Developing native mobile applications using titanium
Developing native mobile applications using titaniumDeveloping native mobile applications using titanium
Developing native mobile applications using titaniumVlad Filip
 
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008JUG Lausanne
 
Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformJussi Pohjolainen
 
Eclipse kura in industry 4.0 david woodard
Eclipse kura in industry 4.0   david woodardEclipse kura in industry 4.0   david woodard
Eclipse kura in industry 4.0 david woodardEurotech
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote presoArtur Alves
 

Similar to Java me introduction (20)

Java ME - Introduction
Java ME - IntroductionJava ME - Introduction
Java ME - Introduction
 
Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011Ben Pashkoff - java embedded - 24mai2011
Ben Pashkoff - java embedded - 24mai2011
 
Game Programming By J2me
Game Programming By J2meGame Programming By J2me
Game Programming By J2me
 
Java ME MSA
Java ME MSAJava ME MSA
Java ME MSA
 
Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivity
 
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
 
J2 Me
J2 MeJ2 Me
J2 Me
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea Grandi
 
J2me Platform
J2me PlatformJ2me Platform
J2me Platform
 
Developing native mobile applications using titanium
Developing native mobile applications using titaniumDeveloping native mobile applications using titanium
Developing native mobile applications using titanium
 
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008
 
Prezentare 1 - LTM
Prezentare 1 - LTMPrezentare 1 - LTM
Prezentare 1 - LTM
 
Intro to Java ME and Asha Platform
Intro to Java ME and Asha PlatformIntro to Java ME and Asha Platform
Intro to Java ME and Asha Platform
 
Eclipse kura in industry 4.0 david woodard
Eclipse kura in industry 4.0   david woodardEclipse kura in industry 4.0   david woodard
Eclipse kura in industry 4.0 david woodard
 
Sotona
SotonaSotona
Sotona
 
Rococo Software Q409
Rococo Software Q409Rococo Software Q409
Rococo Software Q409
 
J2 me 1
J2 me 1J2 me 1
J2 me 1
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote preso
 
Saptalopa_Resume - Copy
Saptalopa_Resume - CopySaptalopa_Resume - Copy
Saptalopa_Resume - Copy
 

Java me introduction

  • 1. Java ME Andreas Jakl Senior Technical Consultant Forum Nokia 13 April, 2010
  • 2. 13.04.2010 © 2010 Nokia 2 Java? • In numbers: – > 6 Billion Java-enabled devices – 2.6 Billion Java-enabled phones (8 out of 10 shipped in 2008) – 3.5 Billion Java Cards – 20 Million Java set-top boxes – 800 Million Java desktops – 180 Operators deploying Java content – 6 Million developers
  • 3. 13.04.2010 © 2010 Nokia 3 MSA … Mobile Service Architecture (JSRs 248 and 249) Editions JTWI … Java Technology for the Wireless Industry, JSR 185 MIDP … Mobile Information Device Profile CDC … Connected Device Configuration CLDC … Connected Limited Device Configuration Servers & Servers & High-end Mobile phones & Smart enterprise personal PDAs, TV set-top entry-level PDAs cards computers computers boxes, embedde d devices Optional Packages Optional Packages Optional Packages Personal Profile Optional Packages Java 2 Personal Platform, E Java 2 Basis MSA nterprise Platform, St Profile Edition andard JTWI (J2EE) Edition Foundation MIDP (J2SE) Profile CDC CLDC Java Card Java Platform, Micro Edition (Java ME)
  • 4. 13.04.2010 © 2010 Nokia 4 Java SE vs. Java ME • Java ME is mainly a subset of J2SE – But different UI- and event handling functionality – Less utility classes (only Vector and Hashtable, no LinkedLists, …) • Code runs on both platforms? – general algorithms: yes – But the whole application needs porting
  • 5. 13.04.2010 © 2010 Nokia 5 Targets + RIM / Blackberry + SonyEricsson + Motorola
  • 6. 13.04.2010 © 2010 Nokia 6 Basic Terms – Configuration • Defines Java platform for different device classes – CLDC • Limited UI Currently used in • Low computing power, most phones: CLDC 1.1 • Limited connectivity – CDC • High bandwidth network connection • larger memory requirements
  • 7. 13.04.2010 © 2010 Nokia 7 Basic Terms – Profile • Extension and more detailed specification for a configuration – Contains APIs for UI, event handling, data storage, networks, timers, … – Minimum requirements for devices (screen size, input possibilities, ...) • For mobile phones: – Mobile Information Device Profile (MIDP) – Currently used: MIDP 2.1
  • 8. 13.04.2010 © 2010 Nokia 8 Tornado Mania! 3D Basic Terms – JSR (Digital Chocolate) • Java Specification Request (JSR) RealReplay – Describe specifications and technologies (Mopius) – Mobile space: APIs, standards • Examples: – JSR 82: Bluetooth APIs – JSR 179: Location API – JSR 184: Mobile 3D API – JSR 226: Scalable 2D Vector Graphics API
  • 9. 13.04.2010 © 2010 Nokia 9 What JSRs could be required? • A mapping application could require: – JSR 226 (Vector Graphics) • Map visualization – JSR 179 (Location) • Where am I? – JSR 172 (Web Services) • Requesting data – JSR 75 (File and PIM) Google Maps Mobile © Google • Map an address
  • 10. 13.04.2010 © 2010 Nokia 10 What does my phone support? http://www.forum.nokia.com/devices/
  • 11. 13.04.2010 © 2010 Nokia 11 Development – NetBeans IDE • Fully integrated solution – Integrates all aspects of mobile development – Visual UI Designer – Game Builder – Localization, Preprocessing – Web access – Automated deployment – Comes with generic emulator • Maintained by Oracle (Sun) – http://www.netbeans.org/ NetBeans (+ Java ME module)
  • 12. 13.04.2010 © 2010 Nokia 12 Development – Eclipse IDE • Mobile Tools for Java (MTJ) – Targets Java ME development – Supports MIDlets – Adds project type and Java ME perspective to Eclipse – Templates for common projects (games, etc.) – Localization, Preprocessing – Creates .jad/.jar packages – Originally based on EclipseME plug-in • Pulsar – Combined tools set – includes Eclipse, MTJ and other tools – http://eclipse.org/pulsar/
  • 13. 13.04.2010 © 2010 Nokia 13 SDKs • Device vendor specific SDKs – Simulate target more accurately – Support proprietary APIs – Include device skins • Generic SDK from Sun – Fine enough for initial development – http://java.sun.com/javame/downloads/sdk30.jsp
  • 14. 13.04.2010 © 2010 Nokia 14 Deployment Process .jar/.jad-file (MIDlet Suite) Packaging Compile & Preverify Source code (.java)
  • 15. 13.04.2010 © 2010 Nokia 16 Future of Java ME • Roadmap – Nokia makes its Java ME implementation open source • Contribution to Symbian Foundation – Next version: Java Runtime 2.0 (JRT) • Faster startup • Easier installation • Beta: http://betalabs.nokia.com/apps/nokia-java-runtime-20-for-s60 – Future • Migration to Qt based UI ongoing • Hardware acceleration, haptics, etc. – http://blogs.forum.nokia.com/blog/java-runtime-for-s60-blog