際際滷

際際滷Share a Scribd company logo
DSDP Mobile Tools for Java Project Christian Kurzke Gustavo de Paula
MTJ 0.9 is released Available since Oct 14 th  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)
Agenda A Brief MTJ History The Origin: EclipseME MTJ as a JavaME Tool MTJ as a Framework Current & Future Plan Conclusions
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
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
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)
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
MTJ as a JavaME Tool Target Use r: 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
MTJ as a JavaME Tool Import 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
MTJ as a JavaME Tool Creation Wizards Select JAD Name Select Current SDK & Device Enable Preprocessing on that Project
MTJ as a JavaME Tool JAD Editor
MTJ as a JavaME Tool Run / Debug
MTJ as a JavaME Tool Summary Provide all necessary features to develop MIDlets Support all major SDK vendors Provide advanced features, such as java code preprocessing
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
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
MTJ Library A Vendor Specific SDK MTJ as a Framework UI Core Library Library N DeviceImporter DeviceEditor JADAttributes JADPages
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
MTJ as a Framework Summary Not MTJ main focus right, but some extensibility is available Vendor extensions Content provider extensions
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 with Eclipse 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
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 with Eclipse 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
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
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
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
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

More Related Content

What's hot (20)

Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
lzongren
Five android architecture
Five android architectureFive android architecture
Five android architecture
Tomislav Homan
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
Ted Chien
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
master760
Android Basic
Android BasicAndroid Basic
Android Basic
Nirav Ranpara
Android
Android Android
Android
Nirav Ranpara
Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2
Ahsanul Karim
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
Espen Riskedal
Android primer
Android primerAndroid primer
Android primer
intellisenseit
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
Boom Shukla
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
Peter Robinett
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_started
Ahsanul Karim
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
fantasy zheng
Android ppt
Android pptAndroid ppt
Android ppt
Dharmdutt Gupta
Android Framework
Android FrameworkAndroid Framework
Android Framework
CodeAndroid
Get an Android tutorial for beginners
Get an Android tutorial for beginnersGet an Android tutorial for beginners
Get an Android tutorial for beginners
JavaTpoint.Com
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
Mobile Java
Mobile JavaMobile Java
Mobile Java
Nikita Makarov
Introduction to android basics
Introduction to android basicsIntroduction to android basics
Introduction to android basics
Hasam Panezai
The unconventional devices for the video streaming in Android
The unconventional devices for the video streaming in AndroidThe unconventional devices for the video streaming in Android
The unconventional devices for the video streaming in Android
Alessandro Martellucci
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
lzongren
Five android architecture
Five android architectureFive android architecture
Five android architecture
Tomislav Homan
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
Ted Chien
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
master760
Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2Android Workshop Day 1 Part 2
Android Workshop Day 1 Part 2
Ahsanul Karim
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
Espen Riskedal
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
Boom Shukla
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
Peter Robinett
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_started
Ahsanul Karim
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
fantasy zheng
Android Framework
Android FrameworkAndroid Framework
Android Framework
CodeAndroid
Get an Android tutorial for beginners
Get an Android tutorial for beginnersGet an Android tutorial for beginners
Get an Android tutorial for beginners
JavaTpoint.Com
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
Introduction to android basics
Introduction to android basicsIntroduction to android basics
Introduction to android basics
Hasam Panezai
The unconventional devices for the video streaming in Android
The unconventional devices for the video streaming in AndroidThe unconventional devices for the video streaming in Android
The unconventional devices for the video streaming in Android
Alessandro Martellucci

Similar to DSDP Mobile Tools for Java Project (20)

DSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java WebinarDSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java Webinar
gustavoeliano
SynapseIndia mobile build apps management
SynapseIndia mobile build apps managementSynapseIndia mobile build apps management
SynapseIndia mobile build apps management
Synapseindiappsdevelopment
Getting started with android
Getting started with androidGetting started with android
Getting started with android
amitgb
Creating Great Apps with MOTODEV Studio for Android
Creating Great Apps with MOTODEV Studio for AndroidCreating Great Apps with MOTODEV Studio for Android
Creating Great Apps with MOTODEV Studio for Android
Motorola Mobility - MOTODEV
Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012
Andy Piper
Android overview
Android overviewAndroid overview
Android overview
Has Taiar
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
ilias ahmed
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Prof. Erwin Globio
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
Dharani Kumar Madduri
010118565.pdf
010118565.pdf010118565.pdf
010118565.pdf
EidTahir
Learn .NET Core - Introduction
Learn .NET Core - IntroductionLearn .NET Core - Introduction
Learn .NET Core - Introduction
Eng Teong Cheah
際際滷s bootcamp21
際際滷s bootcamp21際際滷s bootcamp21
際際滷s bootcamp21
dxsaki
Hello Android - Pune GTUG
Hello Android - Pune GTUGHello Android - Pune GTUG
Hello Android - Pune GTUG
sushrutbidwai
Android
Android Android
Android
Nishant Jain
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
Ranjith Kumar
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of android
akila_mano
Android
Android Android
Android
Intekhab Alam Khan
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
Bhavya Siddappa
Android..overwiew
Android..overwiewAndroid..overwiew
Android..overwiew
Sai Teja
Analysis Of The Original Version Of Java
Analysis Of The Original Version Of JavaAnalysis Of The Original Version Of Java
Analysis Of The Original Version Of Java
Amanda Brady
DSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java WebinarDSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java Webinar
gustavoeliano
Getting started with android
Getting started with androidGetting started with android
Getting started with android
amitgb
Creating Great Apps with MOTODEV Studio for Android
Creating Great Apps with MOTODEV Studio for AndroidCreating Great Apps with MOTODEV Studio for Android
Creating Great Apps with MOTODEV Studio for Android
Motorola Mobility - MOTODEV
Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012
Andy Piper
Android overview
Android overviewAndroid overview
Android overview
Has Taiar
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
ilias ahmed
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Prof. Erwin Globio
010118565.pdf
010118565.pdf010118565.pdf
010118565.pdf
EidTahir
Learn .NET Core - Introduction
Learn .NET Core - IntroductionLearn .NET Core - Introduction
Learn .NET Core - Introduction
Eng Teong Cheah
際際滷s bootcamp21
際際滷s bootcamp21際際滷s bootcamp21
際際滷s bootcamp21
dxsaki
Hello Android - Pune GTUG
Hello Android - Pune GTUGHello Android - Pune GTUG
Hello Android - Pune GTUG
sushrutbidwai
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
Ranjith Kumar
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of android
akila_mano
Android..overwiew
Android..overwiewAndroid..overwiew
Android..overwiew
Sai Teja
Analysis Of The Original Version Of Java
Analysis Of The Original Version Of JavaAnalysis Of The Original Version Of Java
Analysis Of The Original Version Of Java
Amanda Brady

More from gustavoeliano (13)

Introduction to Trusted Virtual Client
Introduction to Trusted Virtual ClientIntroduction to Trusted Virtual Client
Introduction to Trusted Virtual Client
gustavoeliano
Modelo de Negocia巽達o Bilateral para Com辿rcio Eletr担nicoModelo de Negocia巽達o Bilateral para Com辿rcio Eletr担nico
Modelo de Negocia巽達o Bilateral para Com辿rcio Eletr担nico
gustavoeliano
Bilateral Negotiation Model for Agent Mediated Electronic Commerce
Bilateral Negotiation Model for Agent Mediated Electronic CommerceBilateral Negotiation Model for Agent Mediated Electronic Commerce
Bilateral Negotiation Model for Agent Mediated Electronic Commerce
gustavoeliano
Uma Arquitetura para Agentes Negociadores Baseada em Teoria dos JogosUma Arquitetura para Agentes Negociadores Baseada em Teoria dos Jogos
Uma Arquitetura para Agentes Negociadores Baseada em Teoria dos Jogos
gustavoeliano
Client Server Development Problems in Supporting Different Wireless Platform
Client Server Development  Problems in Supporting Different Wireless PlatformClient Server Development  Problems in Supporting Different Wireless Platform
Client Server Development Problems in Supporting Different Wireless Platform
gustavoeliano
Restructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and HibernateRestructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and Hibernate
gustavoeliano
Use of Java Technology-Based Class Loaders to Design and Implement a Java P...
Use of Java Technology-Based Class Loaders  to Design and Implement a Java P...Use of Java Technology-Based Class Loaders  to Design and Implement a Java P...
Use of Java Technology-Based Class Loaders to Design and Implement a Java P...
gustavoeliano
MOTODEV Studio for Testing A platform testing based on Eclipse
MOTODEV Studio for Testing A platform testing based on EclipseMOTODEV Studio for Testing A platform testing based on Eclipse
MOTODEV Studio for Testing A platform testing based on Eclipse
gustavoeliano
Multi-Configuration support in MTJ
Multi-Configuration support in MTJMulti-Configuration support in MTJ
Multi-Configuration support in MTJ
gustavoeliano
469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...
gustavoeliano
The Build System of Commercial RCP Application A Case Study
The Build System of Commercial RCP Application A Case StudyThe Build System of Commercial RCP Application A Case Study
The Build System of Commercial RCP Application A Case Study
gustavoeliano
Re-structuring of a swing-based application into an Eclipse RCP
Re-structuring of a swing-based application into an Eclipse RCPRe-structuring of a swing-based application into an Eclipse RCP
Re-structuring of a swing-based application into an Eclipse RCP
gustavoeliano
Building XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experienceBuilding XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experience
gustavoeliano
Introduction to Trusted Virtual Client
Introduction to Trusted Virtual ClientIntroduction to Trusted Virtual Client
Introduction to Trusted Virtual Client
gustavoeliano
Modelo de Negocia巽達o Bilateral para Com辿rcio Eletr担nicoModelo de Negocia巽達o Bilateral para Com辿rcio Eletr担nico
Modelo de Negocia巽達o Bilateral para Com辿rcio Eletr担nico
gustavoeliano
Bilateral Negotiation Model for Agent Mediated Electronic Commerce
Bilateral Negotiation Model for Agent Mediated Electronic CommerceBilateral Negotiation Model for Agent Mediated Electronic Commerce
Bilateral Negotiation Model for Agent Mediated Electronic Commerce
gustavoeliano
Uma Arquitetura para Agentes Negociadores Baseada em Teoria dos JogosUma Arquitetura para Agentes Negociadores Baseada em Teoria dos Jogos
Uma Arquitetura para Agentes Negociadores Baseada em Teoria dos Jogos
gustavoeliano
Client Server Development Problems in Supporting Different Wireless Platform
Client Server Development  Problems in Supporting Different Wireless PlatformClient Server Development  Problems in Supporting Different Wireless Platform
Client Server Development Problems in Supporting Different Wireless Platform
gustavoeliano
Restructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and HibernateRestructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and Hibernate
gustavoeliano
Use of Java Technology-Based Class Loaders to Design and Implement a Java P...
Use of Java Technology-Based Class Loaders  to Design and Implement a Java P...Use of Java Technology-Based Class Loaders  to Design and Implement a Java P...
Use of Java Technology-Based Class Loaders to Design and Implement a Java P...
gustavoeliano
MOTODEV Studio for Testing A platform testing based on Eclipse
MOTODEV Studio for Testing A platform testing based on EclipseMOTODEV Studio for Testing A platform testing based on Eclipse
MOTODEV Studio for Testing A platform testing based on Eclipse
gustavoeliano
Multi-Configuration support in MTJ
Multi-Configuration support in MTJMulti-Configuration support in MTJ
Multi-Configuration support in MTJ
gustavoeliano
469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...
gustavoeliano
The Build System of Commercial RCP Application A Case Study
The Build System of Commercial RCP Application A Case StudyThe Build System of Commercial RCP Application A Case Study
The Build System of Commercial RCP Application A Case Study
gustavoeliano
Re-structuring of a swing-based application into an Eclipse RCP
Re-structuring of a swing-based application into an Eclipse RCPRe-structuring of a swing-based application into an Eclipse RCP
Re-structuring of a swing-based application into an Eclipse RCP
gustavoeliano
Building XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experienceBuilding XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experience
gustavoeliano

DSDP Mobile Tools for Java Project

  • 1. DSDP Mobile Tools for Java Project Christian Kurzke Gustavo de Paula
  • 2. MTJ 0.9 is released Available since Oct 14 th 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)
  • 3. Agenda A Brief MTJ History The Origin: EclipseME MTJ as a JavaME Tool MTJ as a Framework Current & Future Plan Conclusions
  • 4. 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
  • 5. 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
  • 6. 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)
  • 7. 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
  • 8. MTJ as a JavaME Tool Target Use r: 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
  • 9. MTJ as a JavaME Tool Import 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
  • 10. MTJ as a JavaME Tool Creation Wizards Select JAD Name Select Current SDK & Device Enable Preprocessing on that Project
  • 11. MTJ as a JavaME Tool JAD Editor
  • 12. MTJ as a JavaME Tool Run / Debug
  • 13. MTJ as a JavaME Tool Summary Provide all necessary features to develop MIDlets Support all major SDK vendors Provide advanced features, such as java code preprocessing
  • 14. 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
  • 15. 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
  • 16. MTJ Library A Vendor Specific SDK MTJ as a Framework UI Core Library Library N DeviceImporter DeviceEditor JADAttributes JADPages
  • 17. 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
  • 18. MTJ as a Framework Summary Not MTJ main focus right, but some extensibility is available Vendor extensions Content provider extensions
  • 19. 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 with Eclipse 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
  • 20. 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 with Eclipse 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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