24
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary Nov 19, 2008 Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0 1 DSDP Mobile Tools for Java Project Christian Kurzke Gustavo de Paula

DSDP Mobile Tools for Java Project

Embed Size (px)

DESCRIPTION

Eclipse Summit Europe presentation

Citation preview

Page 1: DSDP Mobile Tools for Java Project

© 2002 IBM Corporation

Confidential | Date | Other Information, if necessaryNov 19, 2008 Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

1

DSDP Mobile Tools for Java Project

Christian Kurzke

Gustavo de Paula

Page 2: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ 0.9 is released

Available since Oct 14th 2008

3000 downloads since released

Based on EclipseME 1.7.9

Supported SDKs

UEI (Motorola, Nokia, Sony-Ericsson, etc.)

MPowerPlayer & Microemu (Java SE based SDKs)

Several new features (features requests from EclipseME) Multiple hosts support (Win32, Linux and MAC OSX)

Page 3: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

Agenda

A Brief MTJ History

The Origin: EclipseME

MTJ as a JavaME Tool

MTJ as a Framework

Current & Future Plan

Conclusions

Page 4: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

A Brief MTJ History

MTJ Project was created by Nokia in 2005

Main project sponsors were Nokia and IBM

Part of DSDP top level project

Mobile application development environment

CLDC and CDC based devices

Deploy and Execute an application

Focus was on providing a tooling framework that other vendors can extend to create their own JavaME tools

Release 1.0 was planned for September 2007

MTJ last release was 0.7 from November 2006

Page 5: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

A Brief MTJ History

Nokia and IBM could not continue the support on the Project MTJ 0.7 was “too much” framework

There were few companies interested in developing their own tools on top of the MTJ framework

No developer community Small user community

MTJ Reboot on the beginning of 2008 Motorola as major project sponsor

Inputs from other companies such as RIM

Use EclipseME as the initial code base

Page 6: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

The Origin: EclipseME

EclipseME is an Eclipse plug-in for JavaME development Focus on CLDC/MIDP (other profiles could be supported) Provides all basic services (build, sign, obfuscate, etc.) Provide some extensibility, but it is not its main focus

First public releases in 2003 Current version is 1.7.9

Almost 600.000 downloads Created and maintained by Craig Setera

Not a “Eclipse Foundation” project, but still distributed under the EPL Used by all major mobile device manufactures

Nokia, Motorola, Sony Ericsson, etc.

EclipseME focus is the opposite of original MTJ focus Framework (Original MTJ) vs. Tool (EclipseME)

Page 7: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ Reboot Objectives

Final MTJ must be “Framework enough” that a company can extend to create its

own tool “Tool enough” that can be used by a mobile application

developer as it is

MTJ must create a community around it

Page 8: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a JavaME Tool

Target User: MIDlet Suite Developer

Provide all necessary support to develop MIDP-based application

Import SDK

Create Project / MIDlet Wizards

Edit MIDlet Suite Application Descriptor

Build MIDlet Suite Package

Run / Debug MIDlet

Page 9: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a JavaME ToolImport SDK

Any UEI or Java SE-based SDK

User can select which device to be imported

Devices are added to Device Management list

User is able to select one as the default

Page 10: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a JavaME ToolCreation Wizards

Select JAD Name

Select Current SDK & Device

Enable Preprocessing on that Project

Page 11: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a JavaME ToolJAD Editor

Page 12: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a JavaME ToolRun / Debug

Page 13: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a JavaME ToolSummary

Provide all necessary features to develop MIDlets Support all major SDK vendors Provide advanced features, such as java code

preprocessing

Page 14: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a Framework

Original objective of MTJ 0.9 is to provide a tool for JavaME developers

Framework is not a primary focus, but a welcome “side effect” of proper design

But…

There are some ways to customize MTJ in order to

Support vendor specific JavaME SDK features

Enhance MIDlet environment with libraries

Page 15: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a Framework

Two different targets developers for the extension points

Device Manufactures

MIDlet content providers

Device Manufactures extend MTJ to add support to its SDK

i.e.: A manufacturer can have an SDK that requires a proprietary protocol to communicate with

MIDlet content providers extend MTJ to provide libraries that can be used by MIDlet developers to access their content

i.e.: A game studio might want to have its game engine as a library that can be used by other developers to write games based on their library

Page 16: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ

Library A

Vendor SpecificSDK

MTJ as a Framework

UI

Core

DeviceImporter

DeviceEditor

JADAttributes

JADPages

Library

Library N

Page 17: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

Vendor Extensions

MTJ as a Framework

JAD Editor

• Add vendor specific page

• Customize page name, fields and possible values

SDK Importer

• Implement protocol to talk to SDK

• Define UI to edit each SDK Device

Content Provider Extensions

Library

• Enabled easy deployment with MTJ on MIDP libraries

• Libraries can be added to a MIDlet Suite project

• Included in final deployable JAR

Page 18: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ as a FrameworkSummary

Not MTJ main focus right, but some extensibility is available

Vendor extensions Content provider extensions

Page 19: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

Original MTJ Plan – EclipseCon 2008

EclipseME 1.7.8

MTJ 0.7

MTJ 0.8 MTJ 0.9 MTJ 1.0

• EclipseME Code• Re-organize code withEclipse code standards• Setup build environment

• Re-structure code(increase flexibility)

• Adapt code from MTJ 0.7• Signing• Deployment• Packing• Import netbeans• Import carbideJ• MIDlet templates

Q2/2008 Q3/2008 Q4/2008

Page 20: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

Current revised Plan

EclipseME 1.7.8

MTJ 0.7

MTJ 0.9 MTJ 0.9.1 MTJ 1.0

• EclipseME Code• Re-organize code withEclipse code standards• Setup build environment• Import from Netbeans • Import from EclipseME• Enhanced JAD Editor

• Bug fixes• Library Support• MIDlet Localization • Multiple Device Support

• MIDletTemplates

• Join Galileo Train• Re-structure code (increase flexibility)• Adapt code from MTJ 0.7

• Signing• Deployment• Packing

Q3/2008 Q4/2008 Q2/2009

• Sybase joined the project• External contributions

Page 21: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ Today

6 Committers

Motorola, Sybase and one Individual (Craig Setera)

Valuable contributions from RIM and other individuals

Active discussions on developer Mailing List and Newsgroup

Help is always welcome

Page 22: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

MTJ In the Future

MTJ 1.0 will be part of the Galileo release train

The goal is to establish MTJ as the standard environment for all Mobile Java developers, not only Midlets

(Help Wanted! )

“Eclipse Mobile Industry Working Group” is an effort to establish a community of Eclipse Members who share interest in Mobile Development Tools.

Define mobile requirements for cross-project roadmaps

Advance development of Eclipse tooling for Mobile applications

More info: http://www.eclipse.org/org/industry-workgroups/mobilewg.php

Page 23: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

Conclusions

MTJ 0.9 is ready to use!!!

It can be used both as tool and a framework

As a tool, it is the best choice in the Eclipse environment to develop Java ME applications

As a framework, it can be extended to add vendor specific SDK features

Help is always welcome

Page 24: DSDP Mobile Tools for Java Project

Copyright © 2007, 2008 Motorola Inc., Made available under the Eclipse Public License v 1.0

Thanks!

DSDP MTJ Web site: www.eclipse.org/dsdp/mtj

DSDP MTJ Wiki: http://wiki.eclipse.org/DSDP/MTJ

Newsgroup: news://news.eclipse.org/eclipse.dsdp.mtj

Developer List: http://dev.eclipse.org/mailman/listinfo/dsdp-mtj-dev