Development Tools - The Future of JavaME - Sun Java Wireless ...

bravesnailsΛογισμικό & κατασκευή λογ/κού

7 Ιουν 2012 (πριν από 5 χρόνια και 2 μήνες)

590 εμφανίσεις


The Future of JavaME
Development Tools
Juraj SVEC
David PULKRABEK
Karol HAREZLAK
Sun Microsystems, Inc.
January 23, 2008
Agenda

Sun Java Wireless Toolkit for CLDC

Application Testing Framework Demonstration

Sun Java Wireless Toolkit – Prototype Release

On-Device Debugging Demonstration

Future Java ME Development Toolkit

NetBeans Mobility

NetBeans Mobility Demo
Sun Java Wireless Toolkit
for CLDC
Wireless Toolkit – Introduction

What is Wireless Toolkit?
>
Award winning mobile application emulation environment (CLDC)
>
Rapid initial development, debug off device
>
Integrates with NetBeans Mobility Pack and other
Unified Emulator Interface (UEI) compliant IDEs
>
500,000+ downloads a year

API support – more than
23 JSRs
>
Graphics, media, webservices, payment, location, ...
>
CLDC/MIDP + JTWI/MSA + OpenGL
®
ES, SVG, SIP, ...
Wireless Toolkit – Planned Features

Application Testing Framework

API support
>
JSR 256 Mobile Sensor API
>
JSR 280 XML API for Java ME

Emulator
>
CLDC HI Virtual Machine
>
phoneME based implementation

Project Demo Box
>
Ready-to-use code, demos, and
sample application collection
Application Testing Framework

Purpose -
automate manual testing

Simulate fragmentation
>
Devices bugs/differences, APIs implementation

Device and hardware state
>
Battery level, network signal strength,
device rotation, ...

Functional/acceptance testing support
>
Record and play, predefined scenarios,
remote access, headless mode

Usability/accessibility testing support
>
Visual impairment, motor and dexterity
impairments
JSR 256 Mobile Sensor API

Unified sensors management

Easy access to the sensor data

GUI emulated sensors
>
Accelerometer, battery charge,
network field intensity, ...

Easily extensible
>
Pluggable sensors - predefined set of sensors
>
Proxy sensors - read data from network
>
Custom made sensors...

Use SunSPOT as your WTK mobile
sensor!
JSR 280 XML API for Java ME

A complete toolbox for Java ME XML APIs

Key goal is to reduce fragmentation of XML API

Supports JSRs like
>
SVG.next (287), Service Connection (279),
Compound Document Formats (290) for their DOM API needs

Enhanced speed over SUNs XML processing in JSR 172
JSR 280 Core Package
SAX
StAX
JAXP
DOM
Core
JSR 280 Events Package
DOM
Events
DOM Views
CLDC HI and phoneME Feature

Open Source (GPLv2)

Same codebase in
Sun Java Wireless Client

Optimized implementation based
>
Closer to real device (Linux/ARM, Windows/x86, Linux/x86)
>
Cutting-edge performance, fast application startup,
minimal footprint
>
Shared codebase, modular architecture, portability
>
Multiple running MIDlet-s

Community
>
Code contribution - more features
>
Collective testing effort
Demo Box demos

Ready-to-use code, demos, and
sample application collection

Fresh and interesting demos
>
MobileAerith
>
SVG GUI Makeover
>
Flickr Client, ...

Show the best features
>
Richer experience
>
Power of Java ME

Best demos will be shipped
with future Wireless Toolkit!
Sun Java Wireless Toolkit
A new approach
Application
Connectivity
Personal
Information
Comms
Media
Misc
Virtual
Machine
Application
Environment
JSR 218
CDC 1.1
JSR 226
SVG
JSR 135
Mobile Media
JSR 118
MIDP 2.0/2.1
JSR 219
FP 1.1
JSR 120
SMS
Messaging
JSR 248
MSA subset
Clarifications
JSR 139
CLDC 1.1
Sprint
Extensions
2.1
JSR 238
Mobile I18N
JSR 179*
Location
JSR 75
PIM & File
JSR 172
Web Services
JSR 232
Mobile
Operations Mgmt
Prototype Release

Toolkit Architecture
UEI – Unified Emulator Interface

Toolkit & Real Devices

Automatic device detection (ActiveSync)
>
Connect via USB, Serial port, Bluetooth

No difference between emulator and devices

Output redirection
(in case of UEI redirected to an IDE)

Toolkit & Real Devices (cont.)


On-device debugging
>

Debugging feels the same on emulator and devices
>

CVM supports JDWP
>

JDWP communication forwarded from a local TCP/IP port
to the device
>

Can set/cancel breakpoints and perform standard actions
like Step Into / Step Over / Continue

Emulator

Uses the same Java stack as devices

Multiple emulators can run networked
(WMA, Bluetooth)

External events generation

Faster than existing emulators

Supporting 3
rd
party Emulators
>
Matter of implementing adapter,
e.g. WinMobile Emulator

IDE (NetBeans) integration

UEI compliant

Recognized as
MIDP/CLDC platform

Emulator and devices
can be accessed from
an IDE

All functionality
available from cmdline
Device selection in NetBeans
Future Java ME Development Toolkit

Consolidated environment for CDLC and CDC

Device Configurations
>
New approach for handling device/emulator
differences
>
Default Standard configurations for MIDP phone,
JTWI phone, MSA phone, Java FX Phone, Blue-ray,
Set-Top Box, IPTV, ...
>
Ability to create own configuration
>
Dynamically update configurations
>
Search Device Database
Future Java ME Development Toolkit

What to Configure?
>
Visual Appearance
>
Skin (Skin design tools in future)
>
Key Mapping
>
Screen Resolution etc.
>
Set of Supported APIs
>
Customers request even define what optional parts of API are supported
(e.g. SEMC)
>
VM – CLDC HI, CDC HI
>
Heap Size
>
Supported Media Codecs ...

NetBeans Mobility
Introduction

NetBeans Mobility – Java ME
>
Write
>
Test
>
Debug
>
Deploy
>
CLDC, MIDP – Mobile Phones
>
CDC – Smart Phones, PDA
>
Free and Open Source GPL v2 and CDDL
NetBeans Mobility Visual Designer

Flow Designer and Screen Designer and Analyzer

Public API for Custom Components

New components
>
PIM Browser,
>
SMS Composer
>
File Browser
>
Login Screen

Analyzer

Better SVG Support
NetBeans Mobility Pack CLDC/MIDP
NetBeans Mobility Pack CDC


Demo
NetBeans Mobility
Where to get it?

Get the software FREE at http://netbeans.org

Learn more about Java ME at http://java.sun.com

Learn more about Java ME development at
http://developer.sun.com

Mobility Pack module at mobility.netbeans.org

Mobility Pack Mailing list
>
users@mobility.netbeans.org
Where to get it? (cont.)

Sun Java Wireless Toolkit 2.5.2 for CLDC
>
http://java.sun.com/products/sjwtoolkit/

Sun Java Wireless Toolkit for Titan Platform Prototype
Release
>
http://developers.sun.com/mobility/community/sprint-
adp/downloads/index.jsp

Project Demo Box
>
https://meapplicationdevelopers.dev.java.net/demo_box.html


Q&A

Thank You

Juraj.Svec@Sun.COM
David.Pulkrabek@Sun.COM
Karol.Harezlak@Sun.COM