eclipse mobile tools for java project

40
1  Eclipse + Mobile = Mobile Tools for Java David Marques [email protected]

Upload: david-marques

Post on 28-Jan-2015

116 views

Category:

Technology


3 download

DESCRIPTION

A presentation of the eclipse mobile tools for Java project. It brings mobile development into the eclipse platform.

TRANSCRIPT

Page 1: Eclipse Mobile Tools for Java Project

Eclipse + Mobile = Mobile Tools for Java

David [email protected]

Page 2: Eclipse Mobile Tools for Java Project

Mobile Tools for Java Overview

MIDlet Templates

Application Packaging

Package Obfuscation

Multi Device Support

Build Configuration

Preprocessing

Internationalization

Unit Testing

Page 3: Eclipse Mobile Tools for Java Project

Mobile Tools for Java Overview

Page 4: Eclipse Mobile Tools for Java Project

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

Page 5: Eclipse Mobile Tools for Java Project

Mobile Tools for Java Overview

MIDlet Templates

Page 6: Eclipse Mobile Tools for Java Project

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

Page 7: Eclipse Mobile Tools for Java Project

MIDlet Templates

Basic Splash Screen ApplicationBasic Game Infrastructure

Page 8: Eclipse Mobile Tools for Java Project

Mobile Tools for Java Overview

MIDlet Templates

Application Packaging

Page 9: Eclipse Mobile Tools for Java Project

Application Packaging Resolves project dependencies

Packages third party libraries

Page 10: Eclipse Mobile Tools for Java Project

10 

Mobile Tools for Java Overview

MIDlet Templates

Application Packaging

Package Obfuscation

Page 11: Eclipse Mobile Tools for Java Project

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 

Page 12: Eclipse Mobile Tools for Java Project

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

Page 13: Eclipse Mobile Tools for Java Project

13 

Mobile Tools for Java Overview

MIDlet Templates

Application Packaging

Package Obfuscation

Multi Device Support

Page 14: Eclipse Mobile Tools for Java Project

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

Page 15: Eclipse Mobile Tools for Java Project

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)

Page 16: Eclipse Mobile Tools for Java Project

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

Page 17: Eclipse Mobile Tools for Java Project

17 

Mobile Tools for Java Overview

MIDlet Templates

Application Packaging

Package Obfuscation

Multi Device Support

Build Configuration

Page 18: Eclipse Mobile Tools for Java Project

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

Page 19: Eclipse Mobile Tools for Java Project

19 

Mobile Tools for Java Overview

MIDlet Templates

Application Packaging

Package Obfuscation

Multi Device Support

Build Configuration

Preprocessing

Page 20: Eclipse Mobile Tools for Java Project

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

Page 21: Eclipse Mobile Tools for Java Project

21 

Preprocessing

Built in code assitant for preprocessing statements

All available statements are listed with brief descriptions

Page 22: Eclipse Mobile Tools for Java Project

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

Page 23: Eclipse Mobile Tools for Java Project

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

Page 24: Eclipse Mobile Tools for Java Project

24 

Mobile Tools for Java Overview

MIDlet Templates

Application Packaging

Package Obfuscation

Multi Device Support

Build Configuration

Preprocessing

Internationalization

Page 25: Eclipse Mobile Tools for Java Project

25 

Localization

Mobile applications are used all over the world

Localizing applications must not bring an overhead to the development process

Page 26: Eclipse Mobile Tools for Java Project

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

Page 27: Eclipse Mobile Tools for Java Project

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

Page 28: Eclipse Mobile Tools for Java Project

28 

Mobile Tools for Java Overview

MIDlet Templates

Application Packaging

Package Obfuscation

Multi Device Support

Build Configuration

Preprocessing

Internationalization

Unit Testing

Page 29: Eclipse Mobile Tools for Java Project

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

Page 30: Eclipse Mobile Tools for Java Project

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

Page 31: Eclipse Mobile Tools for Java Project

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

Page 32: Eclipse Mobile Tools for Java Project

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

Page 33: Eclipse Mobile Tools for Java Project

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 web­site. (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)

Page 34: Eclipse Mobile Tools for Java Project

34 

Eclipse Pulsar Package

Tools integration platform for mobile development

Easy to install and update tools and SDKs

Page 35: Eclipse Mobile Tools for Java Project

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

Page 36: Eclipse Mobile Tools for Java Project

36 

Open Source Community

Eclipse Pulsar Working Group

Mobile Tools for Java Overview

Page 37: Eclipse Mobile Tools for Java Project

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/dsdp­mtj­dev 

Page 38: Eclipse Mobile Tools for Java Project

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 :)

Page 39: Eclipse Mobile Tools for Java Project

39 

Questions

Page 40: Eclipse Mobile Tools for Java Project

40 

Eclipse + Mobile = Mobile Tools for Java

David [email protected]