• Published on

  • View

  • Download


Cross-platform development on mobile devicesCross-platform development on mobile devicesTakaaki MizunoDeNATakaaki Mizuno15 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 ( Objective-C / Java )Use cross-platform development environment and develop for both platform at onceCross-Platform development environments4Are cross-platform dev denelopment envivonments workable ?Most important thing isTo know the characteristics of each environmentNative LayerCross-platformEnvironment layerYour codeErase the differenceBut limit the capability sometimesErase the differenceBit limit the capability sometimes6Business AppsProsWrite once, run on both devicesNo need to pass Apples reviewConsUI of both environments are totally differentReally slowUI of both environments are differentAndroid have hardware back key and MenuPositions of Tab Bar are differentAndroid devices have so many aspect ratios and screen sizes.You have to care about such differences in your codeDifficult to catch up with interface trends.Pull to refreshSide menuUIWebView based application for iOSReally SlowWhy ?Apple doesnt allow to use JIT strategyChrome iOS version is SLOWFacebook Application for iOSFacebook will return to nativeGameProsWrite once, run on both devicesNo need to pass Apples reviewConsUI of both environments are totally differentReally slowUse JavaScriptUser InterfaceYou dont need to use native-like user interfaceSpeedCompiling code to native ( Unity )Preparing alternative Canvas ( appMobi )Use OpenGL directly ( ngCore )JavaScriptJavaScript for mobile application is totally different from web apps one ( such as using jQuery ).JavaScript is not suitable for large scale development.Because it is difficult to find a bug.But if you want to use JavaScript stillClosure CompilerGoogles answer for large scale JavaScript developmentIt optimizes the code and finds error in code.DeNAs answerngCoreJavaScript based Game development environment.Try faster, safer, easier alternative to JavaScriptJSX compilers compiles JSX code into JavaScriptinterface 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!;}}JSXwe are observing 4% to 27% increase in performanceTry it 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}})]);Try it Flash Lite 1.1 SWF into JavaScript and make it executable on iOS/Android devices.How to use ExGameDeNA provides ExGame to the partner developers.Please access to our development sites:


View more >