SlideShare ist ein Scribd-Unternehmen logo
1 von 29
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 ( Objective-C / Java )
• Use cross-platform development
environment and develop for both platform
at once
Cross-Platform development
environments
Are cross-platform dev denelopment
envivonments workable ?
• Not good at least now
• It’s ok for simple apps
Business
Apps
• Not so badGames
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
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
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
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 totally different
• Really slow
• Use JavaScript
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 ).
• JavaScript is not suitable for large scale development.
• Because it is difficult to find a bug.
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 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!”;
}
}
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 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
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://developer.dena.jp/mbga/en/

Weitere ähnliche Inhalte

Was ist angesagt?

Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google DevsCraig Dunn
 
Reframing hybrid
Reframing hybridReframing hybrid
Reframing hybridBen Sperry
 
An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium DesktopSauce Labs
 
Esug java
Esug javaEsug java
Esug javaESUG
 
Learn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.FormsLearn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.FormsEng Teong Cheah
 
OzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousOzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousCraig Dunn
 
Make Cross Platform Apps that Suck Less
Make Cross Platform Apps that Suck LessMake Cross Platform Apps that Suck Less
Make Cross Platform Apps that Suck Lessjhugman
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalJames Quick
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Adrian Philipp
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScriptKevin Whinnery
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 
When to (use / not use) React Native.
When to (use / not use) React Native.When to (use / not use) React Native.
When to (use / not use) React Native.Bobby Schultz
 
Lessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssLessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssKevin Whinnery
 
Lesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupLesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupUniversity of Catania
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Lars Vogel
 
Flutter Development Services
Flutter Development ServicesFlutter Development Services
Flutter Development ServicesThe NineHertz
 

Was ist angesagt? (20)

Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
Titanium @ Minnebar
Titanium @ MinnebarTitanium @ Minnebar
Titanium @ Minnebar
 
Reframing hybrid
Reframing hybridReframing hybrid
Reframing hybrid
 
An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium Desktop
 
Esug java
Esug javaEsug java
Esug java
 
Learn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.FormsLearn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.Forms
 
OzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousOzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furious
 
Make Cross Platform Apps that Suck Less
Make Cross Platform Apps that Suck LessMake Cross Platform Apps that Suck Less
Make Cross Platform Apps that Suck Less
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-Technical
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Core Java
Core JavaCore Java
Core Java
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
When to (use / not use) React Native.
When to (use / not use) React Native.When to (use / not use) React Native.
When to (use / not use) React Native.
 
Lessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssLessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's Ass
 
Lesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment SetupLesson 02 - React Native Development Environment Setup
Lesson 02 - React Native Development Environment Setup
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11
 
React Native
React NativeReact Native
React Native
 
Flutter Development Services
Flutter Development ServicesFlutter Development Services
Flutter Development Services
 

Ähnlich wie CROSS-PLATFORM DEVELOPMENT ON MOBILE DEVICES

Cross-platform development on mobile devices
Cross-platform development on mobile devicesCross-platform development on mobile devices
Cross-platform development on mobile devicesaction.vn
 
Mobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleMobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleSathish Gogineni
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapAmar Mesic
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
Mobile Application Development Using Java
Mobile Application Development Using JavaMobile Application Development Using Java
Mobile Application Development Using JavaNexSoftsys
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsBarcoding, Inc.
 
PhoneGap - What It Actually Is
PhoneGap - What It Actually IsPhoneGap - What It Actually Is
PhoneGap - What It Actually IsMarkiyan Matsekh
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Jad Salhani
 
Developing a mobile cross-platform library
Developing a mobile cross-platform libraryDeveloping a mobile cross-platform library
Developing a mobile cross-platform libraryKostis Dadamis
 
java Training in Ranchi
java Training in Ranchijava Training in Ranchi
java Training in Ranchisanjaydeo12
 
The Gist of React Native
The Gist of React NativeThe Gist of React Native
The Gist of React NativeDarren Cruse
 
Cross Platform Development in C# (DDDNorth 2013)
Cross Platform Development in C# (DDDNorth 2013)Cross Platform Development in C# (DDDNorth 2013)
Cross Platform Development in C# (DDDNorth 2013)ross.dargan
 
Jan Kroon's talk @mdevcon 2012
Jan Kroon's talk @mdevcon 2012Jan Kroon's talk @mdevcon 2012
Jan Kroon's talk @mdevcon 2012Jan Kroon
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth elementFernando Cejas
 
Cross-Platform Native Apps in Java (budapest.mobile)
Cross-Platform Native Apps in Java (budapest.mobile)Cross-Platform Native Apps in Java (budapest.mobile)
Cross-Platform Native Apps in Java (budapest.mobile)Gergely Kis
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularTodd Anglin
 
Presentation on java life of a deveoper.pptx
Presentation on java life of a deveoper.pptxPresentation on java life of a deveoper.pptx
Presentation on java life of a deveoper.pptxVatsalVora15
 
Universal Applications with Universal JavaScript
Universal Applications with Universal JavaScriptUniversal Applications with Universal JavaScript
Universal Applications with Universal JavaScriptThomas Joseph
 

Ähnlich wie CROSS-PLATFORM DEVELOPMENT ON MOBILE DEVICES (20)

Cross-platform development on mobile devices
Cross-platform development on mobile devicesCross-platform development on mobile devices
Cross-platform development on mobile devices
 
Mobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleMobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large Scale
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
Mobile Application Development Using Java
Mobile Application Development Using JavaMobile Application Development Using Java
Mobile Application Development Using Java
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
 
PhoneGap - What It Actually Is
PhoneGap - What It Actually IsPhoneGap - What It Actually Is
PhoneGap - What It Actually Is
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016
 
Developing a mobile cross-platform library
Developing a mobile cross-platform libraryDeveloping a mobile cross-platform library
Developing a mobile cross-platform library
 
java Training in Ranchi
java Training in Ranchijava Training in Ranchi
java Training in Ranchi
 
Java (1)
Java (1)Java (1)
Java (1)
 
INTRODUCTION_O1.pptx
INTRODUCTION_O1.pptxINTRODUCTION_O1.pptx
INTRODUCTION_O1.pptx
 
The Gist of React Native
The Gist of React NativeThe Gist of React Native
The Gist of React Native
 
Cross Platform Development in C# (DDDNorth 2013)
Cross Platform Development in C# (DDDNorth 2013)Cross Platform Development in C# (DDDNorth 2013)
Cross Platform Development in C# (DDDNorth 2013)
 
Jan Kroon's talk @mdevcon 2012
Jan Kroon's talk @mdevcon 2012Jan Kroon's talk @mdevcon 2012
Jan Kroon's talk @mdevcon 2012
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth element
 
Cross-Platform Native Apps in Java (budapest.mobile)
Cross-Platform Native Apps in Java (budapest.mobile)Cross-Platform Native Apps in Java (budapest.mobile)
Cross-Platform Native Apps in Java (budapest.mobile)
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
 
Presentation on java life of a deveoper.pptx
Presentation on java life of a deveoper.pptxPresentation on java life of a deveoper.pptx
Presentation on java life of a deveoper.pptx
 
Universal Applications with Universal JavaScript
Universal Applications with Universal JavaScriptUniversal Applications with Universal JavaScript
Universal Applications with Universal JavaScript
 

Mehr von we20

Nielsen SEA Cross-platform Report 2014
Nielsen SEA Cross-platform Report 2014Nielsen SEA Cross-platform Report 2014
Nielsen SEA Cross-platform Report 2014we20
 
Hành vi và xu hướng sử dụng Internet tại Việt Nam
Hành vi và xu hướng sử dụng Internet tại Việt NamHành vi và xu hướng sử dụng Internet tại Việt Nam
Hành vi và xu hướng sử dụng Internet tại Việt Namwe20
 
Báo Cáo Hành Vi Người Tiêu Dùng Online
Báo Cáo Hành Vi Người Tiêu Dùng OnlineBáo Cáo Hành Vi Người Tiêu Dùng Online
Báo Cáo Hành Vi Người Tiêu Dùng Onlinewe20
 
Bao cao tai nguyen Internet 2014
Bao cao tai nguyen Internet 2014Bao cao tai nguyen Internet 2014
Bao cao tai nguyen Internet 2014we20
 
Report on Vietnam Internet resources 2014
Report on Vietnam Internet resources 2014Report on Vietnam Internet resources 2014
Report on Vietnam Internet resources 2014we20
 
Internet Trends 2014
Internet Trends 2014 Internet Trends 2014
Internet Trends 2014 we20
 
2014 ASIA-PACIFIC DIGITAL OVERVIEW
2014 ASIA-PACIFIC DIGITAL OVERVIEW2014 ASIA-PACIFIC DIGITAL OVERVIEW
2014 ASIA-PACIFIC DIGITAL OVERVIEWwe20
 
2014 internet trends
2014 internet trends2014 internet trends
2014 internet trendswe20
 
Personalized Recommendation - The Key for Engagement?
Personalized Recommendation - The Key for Engagement?Personalized Recommendation - The Key for Engagement?
Personalized Recommendation - The Key for Engagement?we20
 
VIETNAM E-COMMERCE REPORT 2013
VIETNAM E-COMMERCE REPORT 2013VIETNAM E-COMMERCE REPORT 2013
VIETNAM E-COMMERCE REPORT 2013we20
 
Báo cáo Thương mại điện tử Việt Nam 2013
Báo cáo Thương mại điện tử Việt Nam 2013Báo cáo Thương mại điện tử Việt Nam 2013
Báo cáo Thương mại điện tử Việt Nam 2013we20
 
ONLINE PAYMENT ACTUAL SITUATION & POTENTIAL
ONLINE PAYMENT ACTUAL SITUATION & POTENTIALONLINE PAYMENT ACTUAL SITUATION & POTENTIAL
ONLINE PAYMENT ACTUAL SITUATION & POTENTIALwe20
 
E-COMMERCE IN VN
E-COMMERCE IN VNE-COMMERCE IN VN
E-COMMERCE IN VNwe20
 
Online Mobile Game with Mobicom_eng ver.
Online Mobile Game with Mobicom_eng ver.Online Mobile Game with Mobicom_eng ver.
Online Mobile Game with Mobicom_eng ver.we20
 
NÓI VỀ TMĐT Ở VN
NÓI VỀ TMĐT Ở VNNÓI VỀ TMĐT Ở VN
NÓI VỀ TMĐT Ở VNwe20
 
MUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAY
MUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAYMUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAY
MUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAYwe20
 
MOBILE APP _VIET VER
MOBILE APP _VIET VERMOBILE APP _VIET VER
MOBILE APP _VIET VERwe20
 
MOBILE APP _ENG VER.
MOBILE APP _ENG VER.MOBILE APP _ENG VER.
MOBILE APP _ENG VER.we20
 
Phát triển Mobile Application
Phát triển Mobile ApplicationPhát triển Mobile Application
Phát triển Mobile Applicationwe20
 
Develop Mobile Application
Develop Mobile ApplicationDevelop Mobile Application
Develop Mobile Applicationwe20
 

Mehr von we20 (20)

Nielsen SEA Cross-platform Report 2014
Nielsen SEA Cross-platform Report 2014Nielsen SEA Cross-platform Report 2014
Nielsen SEA Cross-platform Report 2014
 
Hành vi và xu hướng sử dụng Internet tại Việt Nam
Hành vi và xu hướng sử dụng Internet tại Việt NamHành vi và xu hướng sử dụng Internet tại Việt Nam
Hành vi và xu hướng sử dụng Internet tại Việt Nam
 
Báo Cáo Hành Vi Người Tiêu Dùng Online
Báo Cáo Hành Vi Người Tiêu Dùng OnlineBáo Cáo Hành Vi Người Tiêu Dùng Online
Báo Cáo Hành Vi Người Tiêu Dùng Online
 
Bao cao tai nguyen Internet 2014
Bao cao tai nguyen Internet 2014Bao cao tai nguyen Internet 2014
Bao cao tai nguyen Internet 2014
 
Report on Vietnam Internet resources 2014
Report on Vietnam Internet resources 2014Report on Vietnam Internet resources 2014
Report on Vietnam Internet resources 2014
 
Internet Trends 2014
Internet Trends 2014 Internet Trends 2014
Internet Trends 2014
 
2014 ASIA-PACIFIC DIGITAL OVERVIEW
2014 ASIA-PACIFIC DIGITAL OVERVIEW2014 ASIA-PACIFIC DIGITAL OVERVIEW
2014 ASIA-PACIFIC DIGITAL OVERVIEW
 
2014 internet trends
2014 internet trends2014 internet trends
2014 internet trends
 
Personalized Recommendation - The Key for Engagement?
Personalized Recommendation - The Key for Engagement?Personalized Recommendation - The Key for Engagement?
Personalized Recommendation - The Key for Engagement?
 
VIETNAM E-COMMERCE REPORT 2013
VIETNAM E-COMMERCE REPORT 2013VIETNAM E-COMMERCE REPORT 2013
VIETNAM E-COMMERCE REPORT 2013
 
Báo cáo Thương mại điện tử Việt Nam 2013
Báo cáo Thương mại điện tử Việt Nam 2013Báo cáo Thương mại điện tử Việt Nam 2013
Báo cáo Thương mại điện tử Việt Nam 2013
 
ONLINE PAYMENT ACTUAL SITUATION & POTENTIAL
ONLINE PAYMENT ACTUAL SITUATION & POTENTIALONLINE PAYMENT ACTUAL SITUATION & POTENTIAL
ONLINE PAYMENT ACTUAL SITUATION & POTENTIAL
 
E-COMMERCE IN VN
E-COMMERCE IN VNE-COMMERCE IN VN
E-COMMERCE IN VN
 
Online Mobile Game with Mobicom_eng ver.
Online Mobile Game with Mobicom_eng ver.Online Mobile Game with Mobicom_eng ver.
Online Mobile Game with Mobicom_eng ver.
 
NÓI VỀ TMĐT Ở VN
NÓI VỀ TMĐT Ở VNNÓI VỀ TMĐT Ở VN
NÓI VỀ TMĐT Ở VN
 
MUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAY
MUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAYMUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAY
MUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAY
 
MOBILE APP _VIET VER
MOBILE APP _VIET VERMOBILE APP _VIET VER
MOBILE APP _VIET VER
 
MOBILE APP _ENG VER.
MOBILE APP _ENG VER.MOBILE APP _ENG VER.
MOBILE APP _ENG VER.
 
Phát triển Mobile Application
Phát triển Mobile ApplicationPhát triển Mobile Application
Phát triển Mobile Application
 
Develop Mobile Application
Develop Mobile ApplicationDevelop Mobile Application
Develop Mobile Application
 

CROSS-PLATFORM DEVELOPMENT ON MOBILE DEVICES

  • 2. Takaaki Mizuno • 15 years experience in Engineering. • Works to DeNA Co., Ltd and Oceans Inc.
  • 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
  • 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. 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. 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. 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. Difficult to catch up with interface trends. • Pull to refresh • Side menu
  • 10. UIWebView based application for iOS Really Slow
  • 11. Why ? • Apple doesn’t allow to use JIT strategy
  • 14. Facebook will return to native
  • 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. User Interface • You don’t need to use native-like user interface
  • 17. Speed • Compiling code to native ( Unity ) • Preparing alternative Canvas ( appMobi ) • Use OpenGL directly ( ngCore )
  • 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. But if you want to use JavaScript still…
  • 20. Closure Compiler • Google’s answer for large scale JavaScript development • It optimizes the code and finds error in code.
  • 22. ngCore • JavaScript based Game development environment. • Try ⇛ https://developer.mobage.com/
  • 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. JSX we are observing 4% to 27% increase in performance
  • 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} }) ]);
  • 28. ExGame • Converts Flash Lite 1.1 SWF into JavaScript and make it executable on iOS/Android devices.
  • 29. How to use ExGame • DeNA provides ExGame to the partner developers. • Please access to our development sites: http://developer.dena.jp/mbga/en/