Automated mobile application porting
-
Upload
e27 -
Category
Technology
-
view
730 -
download
0
description
Transcript of Automated mobile application porting
![Page 1: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/1.jpg)
MobFest February 2009
Aaron Chan
Business Developer
Cross Platform Development & Porting
![Page 2: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/2.jpg)
The causes
What causes fragmentation?The Fragmentation Problem
![Page 3: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/3.jpg)
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?
![Page 4: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/4.jpg)
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
![Page 5: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/5.jpg)
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
![Page 6: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/6.jpg)
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
![Page 7: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/7.jpg)
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
![Page 8: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/8.jpg)
One source code direct to Symbian, Java and Windows Mobile
Pre-processer directivesAbstraction layerDevice analysis
Time to demo!
![Page 9: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/9.jpg)
The Eclipse IDE
Project window
Building the project
Testing in the emulator
Demo “Simple application”
![Page 10: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/10.jpg)
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
![Page 11: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/11.jpg)
Ruby for Symbian, Windows Mobile (and java)
Open source language
Ported in 1,5 days
A Ruby interpreter built on MoSync
“Building Ruby”
![Page 12: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/12.jpg)
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
![Page 13: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/13.jpg)
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
![Page 14: Automated mobile application porting](https://reader035.fdocuments.in/reader035/viewer/2022062514/5591d44d1a28abbe658b4772/html5/thumbnails/14.jpg)
Download your copy today from www.mosync.com
Thank you!
Mobile Sorcery AB
Aaron Chan, business [email protected]