Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Push your development furtherSun™TechDays
Joko Java kiehuu kännykässä?J2ME-platformin tuoreimmat kuulumiset...
Kari Systä / Nokia Research CenterAntero Taivalsaari / Sun Microsystems, Inc.
17. joulukuuta 2003
Push your development furtherSun™TechDaysDid You Know That...
● Java is already in more than 150 million mobile phones?
● There are more than 200 J2ME device models from 27 manufacturers?
● Over 20 million new J2ME devices are sold every month!
● Globally, over 10 million Java application downloads take place every month.
Push your development furtherSun™TechDaysDid You Know That...
● You can develop, install, buy and sell applications to mobile phones?
● And that it is easier as than you think!!
● Have you already tried?
Push your development furtherSun™TechDaysAgenda
J2ME platform overview MIDP 2.0 overview Application and tool demos... Forthcoming J2ME standards and APIs JTWI (Java Technology for the Wireless Industry)
How to get started? Conclusions
Push your development furtherSun™TechDays
J2ME Platform Overview
Push your development furtherSun™TechDaysJava™ 2 Platform
Push your development furtherSun™TechDaysJ2ME Base Platforms
Connected, Limited Device Configuration (CLDC) Specifies the basic Java platform for mobile phones,
two-way messaging devices, and low-end PDA devices. CLDC devices are usually wireless. Minimum memory requirement: a few hundred kilobytes.
Connected Device Configuration (CDC) Specifies Java™ environment for digital television set-top
boxes, high-end wireless devices and automotive telematics systems.
CDC devices may be wired (DTV cable, etc.) or wireless. Minimum memory requirement: a few megabytes.
Push your development furtherSun™TechDaysCLDC Scope
KVM
CLDC
MIDPProfile
Configuration
Core Java language features Core Java virtual machine
features Core java.* libraries
Push your development furtherSun™TechDaysMIDP Scope
MIDlet Application model (life-cycle, packaging)
Persistent storage (RMS) Networking (HTTP) User interface libraries
(LCDUI)
+ new APIs in MIDP 2.0
KVM
CLDC
MIDPProfile
Configuration
Push your development furtherSun™TechDaysThe J2ME™ Devices & Standards
Most J2ME devices today are based onCLDC 1.0 + MIDP 1.0.
New devices have started using MIDP 2.0.
Backwards compatibility is important: MIDP1.0 applications can run unmodified of MIDP2.0
A lot of additional J2ME API extensions are coming.
Push your development furtherSun™TechDays
MIDP Quick Overview
Push your development furtherSun™TechDaysMIDP 1.0 APIs (most phones today)
Application model (life-cycle, packaging) javax.microedition.midlet
User interface (high and low level APIs) javax.microedition.lcdui
Persistent storage (RMS) javax.microedition.rms
Networking (HTTP) javax.microedition.io.HTTPConnection
Core system class packages from CLDCjava.lang, java.io, java.util
Push your development furtherSun™TechDaysMIDP 2.0 – New Features
● Enhanced security model for MIDlet Suites– Security domains– The notion of Trusted MIDlet suites
● Game API– Rich set of features for 2D game development– Sprites, layering, image transformations, ...– Extension of the MIDP user interface API
● Sound API– Tone generation, sampled sounds (optional), MIDI support
(optional)– Subset of the full J2ME Mobile Media API (JSR 135).
Push your development furtherSun™TechDaysMIDP 2.0 – New Features
● User interface enhancements– More look&feel control to applications
● More advanced layout control● CustomItem● More control over fonts
– New component types (CustomItem, StringItem, Spacer),– Full screen mode for Canvas– Various command handling enhancements, – Backlight, vibrate support– etc. etc.
Push your development furtherSun™TechDaysMIDP 2.0 – New Features
Additional network protocols HTTPS, Comm (serial ports), Socket, Server Socket,
Secure Socket (SSL), Datagram Note: Only HTTP and HTTPS are required by the
specification; other protocols are optional.
Push functionality Ability to launch a MIDlet in response to an incoming
message (“event-driven application launch”)
Over The Air (OTA) provisioning Defines specific guidelines how the users can initiate the
downloading of MIDlets through the browsers that is resident on the device.
Push your development furtherSun™TechDaysSample MIDP Applications
● Games, utilities, web, email, even Telnet clients.
● For example check– www.midlet.org– www.softwaremarket.nokia.com
Push your development furtherSun™TechDays
MIDlet Development Steps
1) Write your Java application2) In the development tool, click “build” to:
2a) Compile it
2b) Pre-verify it 2c) Package it into a JAR file 2d) Sign the JAR file (new in MIDP 2.0 – Optional) 2e) Create the application descriptor
3) Test in an emulator4) Test in a phone5) Publish the application
Push your development furtherSun™TechDays
Claims and the Truth
● Claim: Java application are too slow– Answer: just check some the games;
there are even versions of Mandelbrot
● Claim: Applications are not really portable– Answer: they can be. If the developer optimizes
for a certain device, it is for that device.If the developer thinks portability, the app can be very portable
Push your development furtherSun™TechDaysMIDP Development Tools
● Sun J2ME Wireless Toolkit (SolarisTM platform, Linux, and Win32):– Standalone or – Plugged into Sun ONE Studio
Mobile Edition IDE● Numerous third party tools
(Borland/Nokia,Metrowerks/Motorola, Siemens, etc.)
● Emulators and tools for local provisioning
Push your development furtherSun™TechDays
Additional / ForthcomingJ2ME Standards
Push your development furtherSun™TechDaysAdditional J2ME Standards Efforts
● There are various standardization efforts to define APIs on top of CLDC and MIDP:– JSR 82: Java API for Bluetooth Wireless Technology– JSR 120/205: Wireless Messaging API– JSR 135: J2ME Mobile Media API– JSR 172: J2ME Web Services– JSR 179: Location API for J2ME– JSR 184: J2ME Mobile 3D Graphics API– JSR 195/228: J2ME Information Module Profile– JSR 226: J2ME Scalable 2D Vector Graphics API
==========– JSR 185: Java Technology for the Wireless Instrustry
Push your development furtherSun™TechDaysWhat's Next? JTWI
There are so many new APIs coming... ...which APIs are we going to see as the
base APIs in the forthcoming devices (after the current MIDP 2.0 devices)?
There is an “umbrella” effort called JTWI (Java Technology for the Wireless Industry) that is defining the roadmap.
Defined jointly by 18 major device manufacturers and operators.
Push your development furtherSun™TechDaysJTWI Specification
A separate agreement and specification to● agree on set of core APIs● agree on clarifications of core APIs
Components of JTWI● CLDC (1.0 or 1.1)● MIDP 2.0● WMA (Wireless Messaging API)● Multimedia API
Push your development furtherSun™TechDays
How to Get Started?
Push your development furtherSun™TechDaysHow to Get Started?
● Learn programming and Java(Tommi can help you in this :-)
● Download the CLDC and MIDP specs(jcp.org, java.sun.com, nokia.com, ....)
● Or buy Antero's book :-)
● Download the tools– Compilation against MIDP libraries– JAR & JAR creation– Emulator
Push your development furtherSun™TechDays
Conclusions
Push your development furtherSun™TechDaysJ2ME™ Platform = Big Opportunity
150 million J2ME enabled devices in the world, increasing at 20+ million per month.
Over 200 different J2ME-enabled device modelsfrom 27 manufacturers (Sun, Sep 2003)
By 2007, nearly 100% of all handsets will be Java enabled (1.5 billion devices!) (ARC Group)
Java is the leading wireless development platform with 70 carrier deployments around the world, and growing (Sun, Sep 2003)
63 commercial J2ME licensees (Sun, Jan 2003) 200,000+ J2ME developers (Sun, Mar 2003)
Push your development furtherSun™TechDaysSummary
MIDP 2.0 is a feature rich upgrade of MIDP 1.0 with new features including: Fine-grained security model (Trusted MIDlets) New connection types including secure connections New Game and Sound APIs New UI objects for easier programming
Many additional APIs coming
The forthcoming JTWI standard will bundle together all the key APIs.
Push your development furtherSun™TechDaysDevelopment Resources
Sun Wireless Developer site: http://wireless.java.sun.com
J2ME™ Platform homepage: http://java.sun.com/j2me
Download the Sun J2ME Wireless Toolkit: http://java.sun.com/products/j2mewtoolkit
Learn more about specific J2ME devices: http://wireless.java.sun.com/device
Guides, Tools, ...http://forum.nokia.com
And – there is a lot more:www.google.com
Push your development furtherSun™TechDays
Questions?