11
SynapseIndia Mobile Build Apps management

SynapseIndia mobile build apps management

Embed Size (px)

Citation preview

Page 1: SynapseIndia mobile build apps management

SynapseIndia Mobile Build Apps management

Page 2: SynapseIndia mobile build apps management

2 17.02.2006

Automated & manual testing Tdb.

Page 3: SynapseIndia mobile build apps management

3 17.02.2006

Build management The build environment is heavily relying on Eclipse, but there are plans to

support also Ant. One planned extension to Ant is the Antenna –project, which provides a set of Ant tasks suitable for developing wireless Java applications targeted at the J2ME and Mobile Information Device Profile (MIDP).

The build management enables that the build process can be configured to suit for the active project needs. E.g. what build providers are used as default and how the building process works.

The target device management provides data about selectable devices and J2ME platforms (SDK Emulators) and enables that the Runtime Platform Definition. The selected default target Device Platform is then activated to the projects use.

Page 4: SynapseIndia mobile build apps management

4 17.02.2006

Wizards Base wizards:Base wizards:

Create ProjectCreate Project Create ApplicationCreate Application Code PackagingCode Packaging Create ClassCreate Class

The base wizards implement the corresponding Use-Case requirements.The base wizards implement the corresponding Use-Case requirements. One optional scenario may be that Symbian has created an template One optional scenario may be that Symbian has created an template

mechanism (that is in use currently in C++ side in Eclipse), that the MTJ mechanism (that is in use currently in C++ side in Eclipse), that the MTJ could convert to be used in the Java side. could convert to be used in the Java side.

Page 5: SynapseIndia mobile build apps management

5 17.02.2006

Runtime Launch

Page 6: SynapseIndia mobile build apps management

6 17.02.2006

Debugging

Page 7: SynapseIndia mobile build apps management

7 17.02.2006

Code Editor The MTJ code editor is based on the Eclipse

JDT base functionalities.JDT

The JDT (Java Development Tools) subsystem consists of integrated tools for developing, testing, and debugging Java (J2SE) applications. The JDT project is managed as part of the Eclipse Platform top level project.

The JDT Core component defines the non-UI infrastructure for compiling and analyzing Java code. The JDT UI component provides the user interface elements (wizards, views, editors) and infrastructure for editing, refactoring, browsing, and searching Java code. The JDT Debug component handles everything related to running and debugging Java programs.

JDT<<subsystem>>

Core Debug UI

Page 8: SynapseIndia mobile build apps management

8 17.02.2006

Deployment and Runtime management The MTJ provides an Deployment and DevicePlatform frameworks that

supports the existing SDK Emulators and phones runtimes The framework publishes a Device Platform -interface, that capsulate

(hides) the actual runtime environments and protocols. The framework separates the different vendors products to own plug-ins

EclipseEclipseEclipseEclipseSDK / Emulator (Vendor X)SDK / Emulator (Vendor X)

Vendor XVendor X

SDK EmulatorSDK Emulator

Plug-inPlug-in

Vendor XVendor X

SDK EmulatorSDK Emulator

Plug-inPlug-in

MTJMTJ

Plug-inPlug-in

MTJMTJ

Plug-inPlug-in

Device

Platfo

rm

Device

Platfo

rm

Extension point

SDK / Emulator (Vendor Y)SDK / Emulator (Vendor Y)

Vendor YVendor Y

SDK EmulatorSDK Emulator

Plug-inPlug-in

Vendor YVendor Y

SDK EmulatorSDK Emulator

Plug-inPlug-in

SDK / Emulator (Vendor Z)SDK / Emulator (Vendor Z)

Vendor ZVendor Z

SDK EmulatorSDK Emulator

Plug-inPlug-in

Vendor ZVendor Z

SDK EmulatorSDK Emulator

Plug-inPlug-in

Vendor XVendor X

Real DeviceReal Device

Plug-inPlug-in

Vendor XVendor X

Real DeviceReal Device

Plug-inPlug-inReal Device Real Device (Vendor X)Real Device Real Device (Vendor X)

Vendor YVendor Y

Real DeviceReal Device

Plug-inPlug-in

Vendor YVendor Y

Real DeviceReal Device

Plug-inPlug-inReal Device Real Device (Vendor Y)Real Device Real Device (Vendor Y)

Page 9: SynapseIndia mobile build apps management

9 17.02.2006

Device Management The device management in this scope focuses to enable detecting, visually

showing, identifying and visually managing the available mobile devices. There should be ability to group devices with similar configuration based

on some criteria. This grouping could be used e.g. in the packaging / building / localization / deployment / branding processes.

The device model holds each device and

DeviceDevice

Emulator

Device

Emulator

Device

Real

Device

Real

Device

1..n

1

Device Platform Device Platformi/f

Fragmentation Definition

Fragmentation Definition1

Runtime Platform Definition

Runtime Platform Definition

Can be seen as one definition

Page 10: SynapseIndia mobile build apps management

10 17.02.2006

Signing and Obfuscation Signing

MIDP 2.0 (JSR-118) includes enhanced mobile code and application security through a well-defined security manager and provisioning process. During the provisioning the MIDP applications are signed with an certificate, which ensures their security and makes them trustworthy.

Trusted MIDlet suites can be granted access to API's without explicit user authorization, and have wider access to device API's.

Obfuscation By using an Obfuscator tool, the source code can be made more difficult to

reverse-engineer and also there can be some code optimization benefits achieved at the same time.

Obfuscation can be done e.g. through an ANT task that activates an Obfuscator tool and it performs the obfuscation against the parameterized source code location.

Page 11: SynapseIndia mobile build apps management

11 17.02.2006

Localization Localization (I18N/L18N) is a major issue in the wireless space, where a

single app deployed to a single carrier may need to support many languages and character sets.

Key requirements: The Localization architecture should be capable of supporting all languages. It should remove the need for application developers to decide which

encoding the application will support. The Localization architecture should be aware the UI differences in devices so

that the developers won’t have to (e.g. the width and length of a device screen).

The localization should enable that the service providers can extend the language supports during the deployment phase.

Allow local users to select their preferred languages as provided by the application. There should be visible UI simulation that enable to verify the UI immediately when the users switch the locale.

The localization should support at leas two approaches: By creating a resource file (.properties) and adding there the selected source

files localizable keys. By enabling such optimization to bind the localization directly to the

application.