SynapseIndia mobile apps tools for java

Page 1

SynapseIndia Mobile Apps Tools for Java Platform The goal of the Mobile Tools for Java project is to extend existing Eclipse frameworks to support mobile device Java application development. MTJ will enable developers to develop, debug and deploy mobile Java applications to emulators and real devices. Scope of the doc: ď ŽFocus on 1st release (+ potential future features)

1


Contents         

Eclipse High-Level ArchitectureWizards Java Runtime Environments Runtime Launch MTJ Ecosystem Debugging MTJ high-level layers Code Editor MTJ Development by MilestoneDeployment Device fragmentation Device Management Pre-processing Signing and Obfuscation Automated & manual testing Localization Build management Application Flow GUI Editor Backup slides

17.02.2006

2


Eclipse High-level Architecture Ec o s y s t e m Ve r t ic a l In d u s t r y In it ia t iv e s

Enterprise Enterprise Domain Domain

Internet Internet Domain Domain

Desktop Desktop Domain Domain

Embedded Embedded Domain Domain

Mobile Mobile Domain Domain

Data Data Management Management

Modeling Modeling Tools Tools

Embedded Embedded & & Mobile Mobile Tools Tools

Web Web Tools Tools

Service Service Oriented Oriented Architecture Architecture

Java Java Dev. Dev. Tools Tools

C/C++ C/C++ Dev. Dev. Tools Tools

Test Test and and Performance Performance

Business Business Intelligence Intelligence & & Reporting Reporting

System System Management Management

Modeling Modeling Frameworks Frameworks

Graphical Graphical Frameworks Frameworks

UI UI Frameworks Frameworks

Workspace Workspace

Project Project Model Model

Update Update

Runtime Runtime

Workbench Workbench

SWT SWT

17.02.2006

Ho rizo n t a l Te c h n o lo g ie s

Te c h n o lo g y En a b le rs

Fra Fr a m e w o rk r ks

Multi-language Multi-language support support

To o ls Pla t fo rm

Ric h Clie n t Pla t fo r m

3


Java Runtime Environments Legend

Enterprise Optional packages

Desktop

High-end devices

Optional packages

J2EE

J2SE

Low-end devices

Smart Cards

Java JRE runtime dependencies J&C and MTJ runtime scope

Optional packages

Not used Java runtime

Personal profile

Optional packages

Foundation profile

MIDP

CDC

CLDC

Java Card

KVM KVM

Card VM

Java Java Virtual Virtual Machine Machine

Java Micro Edition (J2ME) The MTJ projects focus in Mobile runtimes is in the J2ME area.

17.02.2006

4


MTJ Ecosystem Eclipse Eclipse

Download Download // Update Update sites sites Eclipse Eclipse

U U E E II

Vendor X SDK

API API

MTJ MTJ

JavaDocs JavaDocs API API

API API

JavaDocs JavaDocs

Sun Sun // IBM IBM

(tooling (tooling runtime runtime JRE JRE 5.0 5.0 // J9 J9 ))

Vendor Y SDK A A List List of of JVMS JVMS

X X U U E E II

Vendor Vendor X X (for (for SDK SDK download) download)

JavaDocs JavaDocs API API

Tooling Runtimes JRE 1.4 .. 5.0, J9 Operating Systems: Win32, Linux, MAC.

Vendor Vendor Y Y (for (for SDK SDK download) download)

API API

Real Real Device Device

JavaDocs JavaDocs

MTJ context

17.02.2006

Generic SDK

5

Different Different vendor products products based based on on Eclipse MTJ MTJ


MTJ high-level layers Mobile IDE Components Device Platform Provider

Device Description Provider

Obfuscation Provider

Packaging Provider

Signing Provider

Device Platform Provider

GUI Builder Provider

Preprocessing Provider

Build Provider

Deployment Provider

Ant Provider

x

Runtime Management

Build Build Management Management

Deployment Deployment Management Management

Device Management

Mobile IDE Extensibility Framework Layer Security GUI Security GUI Builder Builder Management Management Management Management

Visual Visual Editor Editor

Web Web Tools Tools Project Project

GEF GEF

Data Data Tools Tools

Multimedia Multimedia Tools Tools

MultiMultilanguage language support support

Graphical Graphical Modeling Modeling Framework Framework

BIRT BIRT

Testing Testing & & Profiling Profiling Tools Tools

Workflow Workflow Toolbox Toolbox Eclipse Modeling Framework

EMF EMF OSGI OSGI

17.02.2006

Eclipse Tool Services

SWT SWT

Workbench Workbench

Eclipse Platform

JDT JDT

Operating Systems: Win32, Linux, MAC

6


MTJ Development by Milestone

GUI GUI builders builders

Mobile Mobile RAD RAD // IDE IDE

Wizards Wizards

Mobile Mobile SDK SDK Emulator Emulator

Provider Provider Components Components Build

Create Create Application Application

Code Code Packaging Packaging

Build Build

Project

Create Create Class Class

Create Create Project Project

Deployment Deployment

J2ME J2ME Nature Nature

Obfuscation Obfuscation providers providers

Audio Audio converter converter

Flow Flow Editor Editor

Code Code Editor Editor

Signing Signing provider provider

Custom Custom Components Components

LCDUI LCDUI Editor Editor

J2ME J2ME project project builders builders

Deployment Deployment providers providers

Localization Localization

eSWT eSWT Editor Editor

PrePreprocessing processing

JAD JAD Editor Editor

Symbian Symbian templates templates

Create Create UI UI

Runtime Runtime launch launch Desktop Desktop

Device Device

Packaging Packaging

Debugging Debugging Desktop Desktop

Game Game Editor Editor

Other

Xx Xx Editor Editor

Snippets Snippets

Build Build Framework Framework

Deployment Deployment Framework Framework

Runtime Runtime Management Management Framework Framework

GUI GUI Builder Builder Framework Framework

Security Security Management Management Framework Framework

Eclipse Eclipse Platform Platform

17.02.2006

nd

2 Iteration 1st Release Future design

IDE IDE Extensible Extensible Framework Framework Layer Layer Device Device Management Management Framework Framework

1st Iteration

Help Help

Antenna Antenna provider provider

Device Device

Legend

7


Device fragmentation 

 

Different characteristics of devices must be taken into account  Physical device characteristics, e.g. display resolution,-size and buttons, processing power and memory  Quirks in the OS, API and Java virtual machine implementations Variation comes also from APIs supported by each device  Flavours of Symbian (S60, S80, S90) and other mobile OS versions  J2ME profiles and configurations CLDC 1.0/1.1 and MIDP 1.0/2.0  Optional APIs for Bluetooth, 3D, Multimedia, Web Services, etc.  Proprietary APIs from device manufacturers and operators In addition, there are other operator and market requirements  Localisation, branding, billing, etc. New devices and APIs are introduced frequently Varying devices

17.02.2006

Differing assets

Operator requirements

Huge amount of configurations

8


Device fragmentation, Mobile value chain Application Application Developers Developers

Content Content aggregators aggregators and and Distributor Distributor

End-user End-user // consumer consumer

Network Network operators operators

Infrastructure Infrastructure providers providers

Legend

Information exchange Cash flow exchange

17.02.2006

Retail Retail

Device Device manufactures manufactures

This diagram represents the major players in the wireless industry. Application- and Content providers have partnered with Network operators to design and develop Java solutions for consumers. Content aggregators license content from it’s creators and format it to be used with specific devices and networks. Content distributors create the revenue by providing the distribution channels. Network operators (carriers) and Infrastructure providers control the wireless network and own the customer information. Device manufactures drive the technical innovation through the new hardware. The application developers and content aggregators needs most tools against the device fragmentation.

9


Device fragmentation, pre-processing ď Ž

ď Ž

ď Ž

Definition: Pre-processing changes the source code before it is compiled. It allows conditional compilation and inclusion of one source file into another and is helpful when trying to maintain a single source for several devices, each having its own bugs, add-on APIs, etc. and it enables device optimization. The Eclipse JDT could add support for pre-processing, alternative could be e.g. J2ME Polish, which can be integrated to Eclipse (licensing must be checked) or re-implementing the similar functionality. One key feature is the device description database, that helps to create tasks or actions against similar devices. The device description database enables that developers can identify and group devices with an keyword, Can be seen as one definition that can be used e.g. in pre-processing. Device

i/f

Device Platform

17.02.2006

1

1..n

Emulator

Real

Device

Device

10

1

Runtime Platform Definition Fragmentation Definition


Application Flow ď Ž

The Application Flow creates kind a action diagram, where the visible and invisible actions are drawn on a graphical editor. The AF-editor enables that developer can design e.g. mobile application UI flow.

17.02.2006

11


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.