CROSS-PLATFORM
DEVELOPMENT ON
MOBILE DEVICES
Takaaki Mizuno
DeNA
Takaaki Mizuno
• 15 years experience in Engineering.
• Works to DeNA Co., Ltd and Oceans Inc.
How to develop the app both for
iOS/Android ?
There are 2 options:
• Develop for both separately with different
languages ...
Cross-Platform development
environments
Are cross-platform dev denelopment
envivonments workable ?
• Not good at least now
• It’s ok for simple apps
Business
Apps...
Most important thing is…
To know the characteristics of each environment
Native Layer
Cross-platform
Environment layer
You...
Business Apps
• Pros
• Write once, run on both devices
• No need to pass Apple’s review
• Cons
• UI of both environments a...
UI of both environments are different
• Android have “hardware back key” and “Menu”
• Positions of Tab Bar are different
•...
Difficult to catch up with interface trends.
• Pull to refresh
• Side menu
UIWebView based application for iOS
Really Slow
Why ?
• Apple doesn’t allow to use JIT strategy
Chrome iOS version is SLOW
Facebook Application for iOS
Facebook will return to native
Game
• Pros
• Write once, run on both devices
• No need to pass Apple’s review
• Cons
• UI of both environments are totall...
User Interface
• You don’t need to use native-like user interface
Speed
• Compiling code to native ( Unity )
• Preparing alternative Canvas ( appMobi )
• Use OpenGL directly ( ngCore )
JavaScript
• JavaScript for mobile application is totally different from
web app’s one ( such as using jQuery ).
• JavaScr...
But if you want to use JavaScript still…
Closure Compiler
• Google’s answer for large scale JavaScript development
• It optimizes the code and finds error in code.
DeNA’s answer
ngCore
• JavaScript based Game development environment.
• Try ⇛ https://developer.mobage.com/
JSX
• a faster, safer, easier alternative to JavaScript
• JSX compilers compiles JSX code into JavaScript
interface Flyabl...
JSX
we are observing 4% to 27% increase in performance
Try it
http://jsx.github.com/
Arctic.js
• Game engine for smartphone web browsers written in
JavaScript with HTML5 Canvas.
• It provides ActionScript3 f...
Try it
http://denadev.github.com/Arctic.js/
ExGame
• Converts Flash Lite 1.1 SWF into JavaScript and make it
executable on iOS/Android devices.
How to use ExGame
• DeNA provides ExGame to the partner developers.
• Please access to our development sites:
http://devel...
Upcoming SlideShare
Loading in …5
×

CROSS-PLATFORM DEVELOPMENT ON MOBILE DEVICES

209 views

Published on

  • Be the first to comment

  • Be the first to like this

CROSS-PLATFORM DEVELOPMENT ON MOBILE DEVICES

  1. 1. CROSS-PLATFORM DEVELOPMENT ON MOBILE DEVICES Takaaki Mizuno DeNA
  2. 2. Takaaki Mizuno • 15 years experience in Engineering. • Works to DeNA Co., Ltd and Oceans Inc.
  3. 3. How to develop the app both for iOS/Android ? There are 2 options: • Develop for both separately with different languages ( Objective-C / Java ) • Use cross-platform development environment and develop for both platform at once
  4. 4. Cross-Platform development environments
  5. 5. Are cross-platform dev denelopment envivonments workable ? • Not good at least now • It’s ok for simple apps Business Apps • Not so badGames
  6. 6. Most important thing is… To know the characteristics of each environment Native Layer Cross-platform Environment layer Your code Erase the difference But limit the capability sometimes
  7. 7. Business Apps • Pros • Write once, run on both devices • No need to pass Apple’s review • Cons • UI of both environments are totally different • Really slow
  8. 8. UI of both environments are different • Android have “hardware back key” and “Menu” • Positions of Tab Bar are different • Android devices have so many aspect ratios and screen sizes. • You have to care about such differences in your code
  9. 9. Difficult to catch up with interface trends. • Pull to refresh • Side menu
  10. 10. UIWebView based application for iOS Really Slow
  11. 11. Why ? • Apple doesn’t allow to use JIT strategy
  12. 12. Chrome iOS version is SLOW
  13. 13. Facebook Application for iOS
  14. 14. Facebook will return to native
  15. 15. Game • Pros • Write once, run on both devices • No need to pass Apple’s review • Cons • UI of both environments are totally different • Really slow • Use JavaScript
  16. 16. User Interface • You don’t need to use native-like user interface
  17. 17. Speed • Compiling code to native ( Unity ) • Preparing alternative Canvas ( appMobi ) • Use OpenGL directly ( ngCore )
  18. 18. JavaScript • JavaScript for mobile application is totally different from web app’s one ( such as using jQuery ). • JavaScript is not suitable for large scale development. • Because it is difficult to find a bug.
  19. 19. But if you want to use JavaScript still…
  20. 20. Closure Compiler • Google’s answer for large scale JavaScript development • It optimizes the code and finds error in code.
  21. 21. DeNA’s answer
  22. 22. ngCore • JavaScript based Game development environment. • Try ⇛ https://developer.mobage.com/
  23. 23. JSX • a faster, safer, easier alternative to JavaScript • JSX compilers compiles JSX code into JavaScript interface Flyable { abstract function fly() : void; } abstract class Animal { function eat() : void { log "An animal is eating!”; } } class Bat extends Animal implements Flyable { override function fly() : void { log "A bat is flying!”; } }
  24. 24. JSX we are observing 4% to 27% increase in performance
  25. 25. Try it http://jsx.github.com/
  26. 26. Arctic.js • Game engine for smartphone web browsers written in JavaScript with HTML5 Canvas. • It provides ActionScript3 friendly APIs which Flash developers are familiar to. var keyFrame = new arc.anim.KeyFrameAnimation(12, 5, [ new arc.anim.Timeline(this._yellowImg, { 1 : {visible:true}, 3 : {visible:false} }), new arc.anim.Timeline(this._orangeImg, { 1 : {visible:true}, 5 : {visible:false} }), new arc.anim.Timeline(this, { 1 : {scaleX:0.5, scaleY:0.5, transition:arc.anim.Transition.SINE_OUT}, 5 : {scaleX:3, scaleY:3} }) ]);
  27. 27. Try it http://denadev.github.com/Arctic.js/
  28. 28. ExGame • Converts Flash Lite 1.1 SWF into JavaScript and make it executable on iOS/Android devices.
  29. 29. How to use ExGame • DeNA provides ExGame to the partner developers. • Please access to our development sites: http://developer.dena.jp/mbga/en/

×