phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr

Similar documents
How to Build, Run, and Develop Code With the phoneme Open Source Project Stuart Marks Hinkmond Wong Sun Microsystems, Inc.

What's New In Mobile & Embedded Java? A Technology Update

The Java Mobile and Embedded Platform: Now and the Future

Making The Future Java

Petr Suchomel Architect, NetBeans Mobility

Minne menet, Mobiili-Java?

JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

Developing Mobile Applications

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming

Reach the Next Billion with Engaging Apps: Full Developers

All about the new SCMAD Certification Exam

LIGHTWEIGHT UI TOOLKIT MAKING COMPELLING JAVA ME APPLICATIONS EASY

Requirements and Issues of V**s for Mobile Terminals

<Insert Picture Here> JavaFX 2.0

PTViewerME: Immersive Panoramas for PDA and Smartphone

Java Embedded 2013 Update

<Insert Picture Here> Java Virtual Developer Day

Building a Java ME Test Suite in 15 Minutes

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

Radical GUI Makeover with Ajax Mashup

Oracle Senior VP Steve Harris on Oracle s Vision of Java

Java 2 Platform, Micro Edition

THE JAVA ECOSYSTEM Platform for Web & Mobile Games

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java)

Bluetooth Scatternet Application. Sun Code for Freedom

Java Technology-Based VAS in China Mobile: Today and Tomorrow

Java Technology for the Mobile Mass Market

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices

Java Embedded on ARM

MIDP3: Mobile device media power train

Developing Games for J2ME Technology- Enabled Mobile Devices

<Insert Picture Here> JavaFX Overview April 2010

Mobile Phone Programming

Java SE and Embedded SE The road forward, 2011 edition

Developer s overview of the Android platform

Series 40 6th Edition SDK, Feature Pack 1 Installation Guide

Setting up Java environment for Project Capuchin development with Sony Ericsson phones

Distributed Embedded Systems with AmbiComp

JavaME TAMZ. Department of Computer Science VŠB-Technical University of Ostrava

Open application environments in mobile devices: Focus on JME and Ericsson Mobile Platforms

IBM Workplace Client Technology, Micro Edition V5.7 delivers tools and run-times for server-managed client devices

JAVA. Java Micro Edition

Overview of Java 2 Platform, Micro Edition (J2ME )

CM0256 Pervasive Computing

Environments for Devices Based on Embedded Systems

Java FX 2.0. Dr. Stefan Schneider Oracle Deutschland Walldorf-Baden

Java ME Directions. JCP F2F - Austin. Florian Tournier - Oracle May 9, Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Oracle Java Micro Edition Software Development Kit

Mobile Phone Programming

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Introduction To NetBeans 5.5

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Deploying Java Platform, Standard Edition (Java SE Platform) in Today s Embedded Devices

Graphics API for J2ME (JSR 184). The Sun J2ME Wireless Toolkit supports the development of Java applications that run on devices such as cellular

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

SHWETANK KUMAR GUPTA Only For Education Purpose

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

Application Development using J2ME Architecture for Device Independence

How ercp stacks up against Android and other Mobile Rich Client Platforms. Ken Walker, J9 Java Class Libraries David Girle, Client Solutions WPLC

Equinox Project Update

DVB-HTML MIDP 2.0 Graphics Architectures for Non-Desktop Devices

JAVA ON HANDHELD DEVICES COMPARING J2ME CDC TO JAVA 1.1 AND JAVA 2

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Evolution of Virtual Machine Technologies for Portability and Application Capture. Bob Vandette Java Hotspot VM Engineering Sept 2004

Android Overview. Most of the material in this section comes from

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

A Guided Tour of Eclipse IoT: 3 Software Stacks for IoT. Benjamin Cabé, Eclipse

Wireless Java Technology

3 Software Stacks for IoT Solutions. Ian Skerrett Eclipse

Getting the Most from Eclipse

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)

Advanced Object-Oriented Programming Introduction to OOP and Java

Streaming with Project Capuchin for Adobe Flash Lite developers

Mobile Client Software User Manual (V1.1)

EDJE PROJECT. The Software Foundation for IoT Devices. IS2T S.A All rights reserved.

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

JSR 377 Desktop Application Framework September Andres Almiray

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

Colin Turfus, Symbian Developer Network. Developer essentials for Symbian OS

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Mobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University

Eclipse IoT State of the Union. Benjamin Cabé, Eclipse

The Three Software Stacks Required for IoT. Benjamin Cabé Eclipse

Device Technologies I J2ME & WinCE

Wireless Internet Platform for Interoperability (WIPI(

مريم سعد جعفر رانيا عبد السجاد علي سامي سمادير عبد العباس ياسمين عبد االمير

CS260 Intro to Java & Android 04.Android Intro

Eclipse project update by the Eclipse project PMC March 11 th 2008

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc.

ARM Mali -400 MP. The Scalable Multicore Graphics Processing Unit. Under embargo until June 2 nd, 2008

Mobile Terminal Software Platform OPP

Equinox Project 3.6 Release Review

IBM SecureWay On-Demand Server Version 2.0

LAB-6340: Advanced Java ME Programming - Streaming Video From Server to Your Device

Copyright Khronos Group, Page 1

The VMKit project: Java (and.net) on top of LLVM

Transcription:

phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr Senior Technologist and Community Ambassador Java Mobile & Embedded Community Sun Microsystems 1

Platform Scalability and Evolution Java Platform, Micro Edition (Java ME) Optional Packages Capabilities Java Card Optional Packages MSA JTWI Mobile Information Device Profile (MIDP) Connected Limited Device Configuration (CLDC) Optional Packages Personal Basis Profile (PBP) Personal Profile (PP) Foundation Profile (FP) Connected Device Configuration (CDC) Java Platform, Standard Edition (Java SE) Resources

Java Mobile & Embedded Community www.mobileandembedded.org Java Mobile & Embedded Community Growth Hub for blogs, industry news, and resources Exceeds 20,000 activities/month Home of phoneme, LWUIT, and 200 other community projects Cumulative Activity 350,000 300,000 250,000 200,000 150,000 100,000 50,000 250 200 150 100 50 Projects in Community Activity Projects 0 0 11/06 06/08 08/08 01/09 Month Vibrant community with deep mobile and embedded Java expertise

At a Glance

Lightweight UI Toolkit (LWUIT) Lightweight library bundled directly with the application Peerless widget set inspired by Swing > Optimized for mobile and embedded Compelling UI, consistent across platforms Minimal requirements, highly portable > CLDC 1.1/MIDP 2.0 or > CDC/PBP or Java SE 1.4 GPLv2 + Classpath Exception > Encourages wide adoption and commercial use

Overview of phoneme Project The OSS implementation of the Java ME platform Dual-licensed: GPLv2 and commercial license Hosted in subversion on java.net > https://phoneme.dev.java.net/source/browse/phoneme/ Actually two distinct stacks > phoneme Feature (CLDC/MIDP stack) > phoneme Avanced (CDC stack) > Shared code for common JSRs and functionality Not just for phones!

phoneme Feature Highlights > OSS version of commercial Sun Java Wireless Client > Shipping on millions of mass-market feature phones Features > Product-quality CLDC/MIDP stack > High performance with hotspot compilation and many other optimizations > Advanced MIDlet multitasking (isolates), advanced resource mgmt > Modular, portable design > MSA 248 ready (supports most MSA 248 JSRs)

phoneme Feature (2) Features cont'd > ARM DBX (separate license) and RTC support > Advanced on-device debugging and logging > ROMization > AOT support precompilation of Java classes > Advanced performance for start-up and interactive use > Multitude of configuration options > Extensive documentation Base for JavaFX Mobile

phoneme Feature (3) Specs > Target platforms > Linux/ARM (OMAP 3), Windows/x86, Linux/x86 > Minimal OS requirements (single native thread) > Runs well on 40+ MHz CPU, < 1 MB RAM (2 4 MB typ.) Used in > Emulator core (CLDC) of the Java ME SDK > midpath: A desktop MIDP emulation > Common code and libraries used in SunSPOT & Squawk > Sony PlayStation Portable PSP port > Embedded Java applications

phoneme Advanced Highlights > OSS stack for advanced phones and consumer devices > Shipping in commercial products Features > Product-quality CDC/FP/PBP/PP stack, Java SE 1.4.2- compliant > High performance with hotspot compilation and other optimizations > Multi-VM support, advanced application management > Dual-stack support ( MIDP-on-CDC ), API hiding > Supports OSGi

phoneme Advanced (2) Features cont'd > JSR 75 (PIM), JSR 82 (Bluetooth), JSR 205 (WMA), JSR 135 (MMAPI), JSR 172 (Web Services), JSR 226 (SVG) > JVMTI - debugging and profiling > Growable/shrinkable Java heap > ROMization > AOT support precompilation of Java classes > VM inspector navigate and inspect VM data structures > Extensive documentation Base for JavaFX Mobile

phoneme Advanced (3) Specs > Target platforms > Linux/ARM, Windows/x86, Linux/x86, Windows Mobile 5.0/6.0 in beta > Requires OS with process and address space support > Runs well on 200 MHz CPU, > 2 MB RAM (4 16 MB typ.)

phoneme Advanced (4) High performance, small footprint See http://community.buglabs.net/kschultz/posts/

phoneme Advanced (5) Used in > Emulator core (CDC) of the Java ME SDK > Embedded Linux: Jalimo/OpenEmbedded recipes > CDC for Nokia N770/N800/N810 > BUG: Configurable consumer electronics device > OpenCable (OCAP): Set-top box middleware > Cineca.tv: Interactive TV platform > Core of Amazon Kindle and Kindle 2 > PalmOS port in the works > Likely RI for Brazilian SBTVD Digital TV standard

Source Code at Java.Net Snapshots available as source code bundles > https://phoneme.dev.java.net/downloads_page.html Source code can be retrieved from svn repository > https://phoneme.dev.java.net/svn/phoneme Atypical repository structure > Lots of branches, tags, and supertags Detailed Getting Started Guides & wikis: > http://wiki.java.net/bin/view/mobileandembedded/phonemefeature > http://wiki.java.net/bin/view/mobileandembedded/phonemeadvanced

Repository Layout: Components components cdc... jsr120 midp jsr135... cldc phoneme Advanced software shared components phoneme Feature software

What's Next & Resources Explore the wealth of information and projects > http://www.mobileandembedded.org phoneme is the open source Java ME reference > Play with it: Download, build, modify, run it Join the community > Sign up as a member > Participate in the forums, ask questions, help others > Write a blog or articles Start coding: Bug-fixes, improvements, applications Use phoneme and LWUIT for your own projects

Thank You! One URL to remember www.mobileandembedded.org