Date post: | 30-Jun-2015 |
Category: |
Technology |
Upload: | e27 |
View: | 729 times |
Download: | 0 times |
MobFest February 2009
Aaron Chan
Business Developer
Cross Platform Development & Porting
The causes
What causes fragmentation?The Fragmentation Problem
The causes
What causes fragmentation?
Hardware differences, models & markets
Verification of handsets /java
New JSRs and APIs
The speed of the standards process
Manufacturer differentiation
Handset customization
Handset variation & language differences
Why fragmentation?
Strategies
How to deal with fragmentation (1)
A) The brute force method
Create reference versions Create 10-15 primary ports Create 50-100 secondary ports
Involves code washing, pre-processing search & replace expressions, various manual adjustment.
Typical for Java applications deployment
How to deal with fragmentation
Strategies
B) The transcoding method
Create reference versionsCreate a port for each OS For each phone in each group, carry out transcoding using device profiles
Normally, the source code is often sent elsewhere for treatment
Or use transcoding
Strategies
C) Advanced compiler technology
Make the code:Transformableable to carry out complex analysisable to perform static checksform an application syntax tree
A compiler back-end for each OS, adapted to optimally output code for each target platform, in analogy to GCC technology and its back-end(s)
Which is what we’re gonna be showing you here today!
Or transform
MoSync
MoSync a cross platform (Symbian, J2ME, Windows Mobile and others) tool that makes it easy to port, update and create applications from one mobile platform to another.
MoSync removes bottlenecks in developing and deploying and allows dynamic services to be created simply.
Mobile development has never been easier and porting is history!
The solution
One source code direct to Symbian, Java and Windows Mobile
Pre-processer directivesAbstraction layerDevice analysis
Time to demo!
The Eclipse IDE
Project window
Building the project
Testing in the emulator
Demo “Simple application”
Other examples “advanced application”
With permission from with author Eric Chahi
Source interpreter
SDL stub ported in 4 hours
Porting Another World* into MoSync
* The game is known as Out of this World in the US and Outer World ( アウターワールド ) in Japan
Ruby for Symbian, Windows Mobile (and java)
Open source language
Ported in 1,5 days
A Ruby interpreter built on MoSync
“Building Ruby”
How to automatically port to hundreds of phones
The solution
Single projects vs. multiple projects
Building for many devices and OSs
Using the Finalizergenerating scripts/criteriarunning scriptdefines, pre- and post-stepsoutput structuresaved-in project
Developing for Symbian devices w/o C++
New technology means new languagesDifferent front-ends
C/C++JavaObjective CFortran/ADA/Small Talk/Erlang/new
Scripting languages (python, ruby)Different back-ends
iPhoneAndroidMoblinFlash/ECMA script/weirdnew
Download your copy today from www.mosync.com
Thank you!
Mobile Sorcery AB
Aaron Chan, business [email protected]