Date post: | 04-Dec-2014 |
Category: |
Technology |
Upload: | terrencebarr |
View: | 6,042 times |
Download: | 0 times |
Do It with LWUIT!
Terrence BarrSenior Technologist and Community AmbassadorJava Mobile & Embedded CommunitySun Microsystems
Agenda
• Java Mobile & Embedded Community
• What is LWUIT?• Motivation• Key Benefits• Key Features• Demo• Designer Tool• What happened since launch
Java Mobile & Embedded Community
• Hub for blogs, industry news, and resources
• More than 20,000 activities/month
• Home of phoneME, LWUIT, and 200 other community projects
www.mobileandembedded.org
Vibrant community with deep mobile and embedded Java expertise
11/06 06/08 08/08 01/09
0
50,000
100,000
150,000
200,000
250,000
300,000
350,000
0
50
100
150
200
250
Java Mobile & Embedded Community Growth
Activity Projects
Month
Cu
mu
lativ
e A
ctiv
ity
Pro
ject
s in
Co
mm
unity
At a Glance
What is LWUIT?
• Advanced, lightweight UI library• Compelling UI• Consistent across different devices• For today's handsets (and more ...)• Portable
> MIDP, CDC, SE, TV ...
• Inspired by Swing• Tools support• Open source: GPLv2 + classpath exception
Motivation
• Complex UI requirements on existing devices• Too much fragmentation
> Is WORA even possible?
• Strong market need for compelling UI library• High portability
> No Java library that spans across mobile & TV (CDC & CLDC)
• Streamlines operations between graphic designer and content developers
Key Benefits
• Rapid development> Familiar API> Clean & Simple
• Easy deployment> One JAR –
many devices
• Mass market devices• Consistent + Extendable• Filthy Rich UI• Brand-able
Key Features
• Swing-like MVC• Layouts• PLAF & themes• Fonts• Rich widgets • Painters• Animations & transitions• 3D, SVG integration• Touch screen support• I18N/L10N support• ... more
Transitions
• Ready Made common transitions> Slide, Fade> 3D transitions – Cube , Rotate, Fly in
• Extendable• Applicable for
> Forms> Dialogs> Menu> Components
Touch Screen Support
• All widgets supports touch screen events• Drag and drop support, including flow rearrange on
drop with live feedback• Gesture scrolling (“iPhone effect”)• Physics engine for fluid motion• Glass pane & z-ordered components for component
dragging• Implicit support for touch screen devices, same
application for touch & feature phones
Demo
Example: List Renderer & ModelForm form = new Form(“List”);form.setLayout(new BorderLayout());List list = new List(new String[] { “Item 1”, “Item 2”, “Item 3”, “Item 4”});list.setListCellRenderer(new MyRenderer());form.addComponent(BorderLayout.CENTER, list);form.addCommand(exitCommand);form.show();
Approach
Designer Tool (“Resource Editor”)
• Built for designers> De-couples designer and developer's environment
• Standalone application• Resources:
> Themes> Fonts> Animations/Images> Localization
• Live preview
Performance & Portability
• Tested on numerous mobile devices > Nokia s40 + s60, Sony Ericsson, Motorola, LG, Samsung,
Sprint, ...
• Tested on Sigma designs STB with Java Media Client• Designed for small size/overhead• Most overhead is in resources (application-specific!)• Indexed Image & light mode for low end• Doesn't require preprocessor!
Footprint
• Jar size as low as 80-90kb for a small application
• Memory depends on > Theme/functionality/resolution
• Example> UI Demo runs on 320x240x24bpp Nokia S40
using under 1 MB and no more than 2 MB
• Themes can be light or heavy depending on their features
What happened since launch
• Very well received by the community• LWUIT on java.net
> On the Top 5 projects list by email traffic! > Over 70000 forum views> 3rd party developers contributing
• Internet buzz> Over 40000 results in google> Blogs, articles and more (“Do It with LWUIT!”)
• Half-day LWUIT tutorial at M3DD (Jan 2009)> Materials available (slides, audio, exercises)
What happened since launch (2)
• Adoption in Tools> Sprint WTK 2.2> Java ME SDK 3.0
• LWUIT applications rapidly developed!> Comverse VVM, Nuux,
Emoze email,Telmap, CTIA conference app, more ..
• Adopted in the SBTVD Java DTV open spec> http://java.sun.com/javame/technology/javatv/index.jsp
For More Information ...
• Java Mobile & Embedded Community> http://www.mobileandembedded.org
• LWUIT project page> http://lwuit.dev.java.net/> Downloads, developers guide, tutorials, videos> Very active forum & mailing list> Device database
• Feedback [email protected]• Shai's blog http://lwuit.blogspot.com/
> Tips & tricks, examples, technical info
Thank You! (Q&A)
Do It with LWUIT!
Terrence BarrSenior Technologist and Community AmbassadorJava Mobile & Embedded CommunitySun Microsystems