eclipse mobile tools for java project
DESCRIPTION
A presentation of the eclipse mobile tools for Java project. It brings mobile development into the eclipse platform.TRANSCRIPT
2
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
Package Obfuscation
Multi Device Support
Build Configuration
Preprocessing
Internationalization
Unit Testing
3
Mobile Tools for Java Overview
4
MTJ Overview Extend existing Eclipse platform to support mobile Java
application development
Integrates with most Software Development Kits (SDKs) available
MTJ does not ship any SDK, it is the device manufacturer's responsibility to distribute their SDKs
Vendor AJavaME SDK
Vendor BJavaME SDK
UEI
VendorProprietaryProtocol
SDKExtens.
MTJ
Eclipse PlatformJDT
5
Mobile Tools for Java Overview
MIDlet Templates
6
MIDlet Templates
Reduces the effort to create applications from scratch
Allows customizing templates without writing source code
Custom templates can be added to the environment
7
MIDlet Templates
Basic Splash Screen ApplicationBasic Game Infrastructure
8
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
9
Application Packaging Resolves project dependencies
Packages third party libraries
10
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
Package Obfuscation
11
Package Obfuscation
Proguard WebSite (http://proguard.sourceforge.net/)
MTJ integrates with proguard to provide obfuscation
ProGuard is an open source Java class file optimizer, obfuscator
Proguard must be downloaded separately from MTJ
12
Demo Part 1 Import installed SDKs
Create a MIDlet Suite Project
Create a MIDlet from a template
Package application for deployment
Create an obfuscated package for deployment
Run/Debug Application
Part 1
13
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
Package Obfuscation
Multi Device Support
14
Applications are developed for a wide range of devices
Device fragmentation problem affects mobile developers
MTJ allows developing applications for multiple target devices
Multi device configuration
15
Multi device configuration
Every configuration has one associated device
Every configuration has it's own symbol set
Workspace level symbol sets (imported from device database)
16
Multi device configuration
It is possible to package either one or all configurations
Every configuation is packaged on it's own folder under the deployed folder
17
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
Package Obfuscation
Multi Device Support
Build Configuration
18
Build Configuration Every device configuration
requires a different set of resources
Customizing packages for different devices manually is very error prone
The build editor allows selecting which resources to package on each device configuration
19
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
Package Obfuscation
Multi Device Support
Build Configuration
Preprocessing
20
Preprocessing Preprocessing is very usefull since mobile applications need to
target several devices
MTJ uses Antenna in order to provide preprocessing support
Antenna is another open source project. It can be dowloaded from (http://antenna.sourceforge.net/)
Antenna preprocessor defines
Preprocessor language
//#if ScreenWidth>100 && ScreenHeight>120 do something;//#else do something else;//#endif
21
Preprocessing
Built in code assitant for preprocessing statements
All available statements are listed with brief descriptions
22
Preprocessing
Built in code assitant for preprocessing symbols
● It is possible to define custom symbols
● Each symbol has
Name, Value, if active on active configuration
23
Demo Part 2 Setup multi device
configuration
Setup build configuration
Enable preprocessing
Manage preprocessing symbol sets
Add preprocessing to our example
Build and package applications for all configurations
Part 2
24
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
Package Obfuscation
Multi Device Support
Build Configuration
Preprocessing
Internationalization
25
Localization
Mobile applications are used all over the world
Localizing applications must not bring an overhead to the development process
26
Localization Localization is
done through key/value pairs
Keys will have localized values for every locale desired
All keys defined are available to the application's code
27
Localization A properties file is generated for
every locale configured
The L10nResources class is used to get the localized values
All localized keys are created within the L10nConstants class
28
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
Package Obfuscation
Multi Device Support
Build Configuration
Preprocessing
Internationalization
Unit Testing
29
Unit Testing Every application needs to be tested in order to achieve quality
standards
The testing framework must be tightly integrated within the IDE
30
Unit Testing Running/Debugging test
cases is as simple as running a MIDlet
The test results are exibited on the device's screen
It is possible to package the tests in order to run on a real device
31
Demo Part 3● Setup localization
● Create localized resources
● Add localization into the application code
● Enable unit testing
● Create Unit Tests/ Suites
● Run Tests
Part 3
32
Eclipse Pulsar Working Group
Mobile Tools for Java Overview
MIDlet Templates
Application Packaging
Package Obfuscation
Multi Device Support
Build Configuration
Preprocessing
Internationalization
Unit Testing
33
Eclipse Pulsar Working Group Pulsar is an industry working group to promote collaboration
between mobile industry players
Pulsar early access package is available for download from eclipse website. (http://www.eclipse.org/pulsar)
First official release with Eclipse Galileo, the annual release of Eclipse projects on June 25th. (http://www.eclipse.org/galileo)
34
Eclipse Pulsar Package
Tools integration platform for mobile development
Easy to install and update tools and SDKs
35
Eclipse Pulsar Package
User Desktop Eclipse.org SDK Plugin Provider Server
Pulsar IDE Package
MTJ EclipseIDE
other
Download & Install
Pulsar Server
Discover SDKs Redirect toPulsar SDKPackage
36
Open Source Community
Eclipse Pulsar Working Group
Mobile Tools for Java Overview
37
How to participate As an open source project everyone is welcome to contribute
Send new ideas
Help with bug fixes
Propose new features
Join our test team
DSDP MTJ Web site: http://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/dsdpmtjdev
38
Conclusions
MTJ provides several features in order to improve mobile Java development
It requires a very low learning curve since it follows Eclipse standards and everyone uses Eclipse :)
39
Questions