SlideShare une entreprise Scribd logo
1  sur  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 ?

 Business • Not good at least now
  Apps    • It’s ok for simple apps



  Games       • Not so bad
Most important thing is…
To know the characteristics of each environment



                 Your code


               Cross-platform        Erase the difference
                                     But limit the capability
              Environment layer
                                     sometimes


                Native Layer
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/

Contenu connexe

Tendances

TiConnect: Memory Management in Titanium apps
TiConnect: Memory Management in Titanium appsTiConnect: Memory Management in Titanium apps
TiConnect: Memory Management in Titanium appsTim Poulsen
 
JAVA Training in Noida
JAVA Training in NoidaJAVA Training in Noida
JAVA Training in NoidaBipul Roy
 
Dev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar BhattiDev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar BhattiTaswar Bhatti
 
Build Your First Android App Session #1
Build Your First Android App Session #1Build Your First Android App Session #1
Build Your First Android App Session #1Troy Miles
 
Xamarin forms introduction by Taswar Bhatti and Ahmed Assad
Xamarin forms introduction by Taswar Bhatti and Ahmed AssadXamarin forms introduction by Taswar Bhatti and Ahmed Assad
Xamarin forms introduction by Taswar Bhatti and Ahmed AssadTaswar Bhatti
 
Forms + azure
Forms + azureForms + azure
Forms + azureAmal Dev
 
Xamarin UI Test And Xamarin Test Cloud
Xamarin UI Test And Xamarin Test CloudXamarin UI Test And Xamarin Test Cloud
Xamarin UI Test And Xamarin Test CloudEmanuel Amiguinho
 
Android Mobile App Development Training Course Class Software Setup
Android Mobile App Development Training Course Class Software SetupAndroid Mobile App Development Training Course Class Software Setup
Android Mobile App Development Training Course Class Software SetupJoseph Kandi
 
BDD in Xamarin with Specflow & Xamarin UI Test
BDD in Xamarin with Specflow & Xamarin UI TestBDD in Xamarin with Specflow & Xamarin UI Test
BDD in Xamarin with Specflow & Xamarin UI TestEmanuel Amiguinho
 
Vue Fes Japan 2018 参加レポート
Vue Fes Japan 2018 参加レポートVue Fes Japan 2018 参加レポート
Vue Fes Japan 2018 参加レポートyamamotokaoruko
 
Cross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScriptCross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScriptFokke Zandbergen
 
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
 
Creating books app with react native
Creating books app with react nativeCreating books app with react native
Creating books app with react nativeAli Sa'o
 
Android Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAndroid Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAmal Dev
 
Automated Continuous Delivery for iOS
Automated Continuous Delivery for iOSAutomated Continuous Delivery for iOS
Automated Continuous Delivery for iOSEdu Caselles
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinBrian Anderson
 

Tendances (20)

Hangout: Novidades do Xamarin
Hangout: Novidades do XamarinHangout: Novidades do Xamarin
Hangout: Novidades do Xamarin
 
TiConnect: Memory Management in Titanium apps
TiConnect: Memory Management in Titanium appsTiConnect: Memory Management in Titanium apps
TiConnect: Memory Management in Titanium apps
 
JAVA Training in Noida
JAVA Training in NoidaJAVA Training in Noida
JAVA Training in Noida
 
Dev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar BhattiDev days 1 Introduction to Xamarin Taswar Bhatti
Dev days 1 Introduction to Xamarin Taswar Bhatti
 
From Web to Mobile with Stage 3D
From Web to Mobile with Stage 3DFrom Web to Mobile with Stage 3D
From Web to Mobile with Stage 3D
 
Build Your First Android App Session #1
Build Your First Android App Session #1Build Your First Android App Session #1
Build Your First Android App Session #1
 
Webenabled
WebenabledWebenabled
Webenabled
 
Xamarin forms introduction by Taswar Bhatti and Ahmed Assad
Xamarin forms introduction by Taswar Bhatti and Ahmed AssadXamarin forms introduction by Taswar Bhatti and Ahmed Assad
Xamarin forms introduction by Taswar Bhatti and Ahmed Assad
 
Forms + azure
Forms + azureForms + azure
Forms + azure
 
Xamarin UI Test And Xamarin Test Cloud
Xamarin UI Test And Xamarin Test CloudXamarin UI Test And Xamarin Test Cloud
Xamarin UI Test And Xamarin Test Cloud
 
Android Mobile App Development Training Course Class Software Setup
Android Mobile App Development Training Course Class Software SetupAndroid Mobile App Development Training Course Class Software Setup
Android Mobile App Development Training Course Class Software Setup
 
BDD in Xamarin with Specflow & Xamarin UI Test
BDD in Xamarin with Specflow & Xamarin UI TestBDD in Xamarin with Specflow & Xamarin UI Test
BDD in Xamarin with Specflow & Xamarin UI Test
 
Vue Fes Japan 2018 参加レポート
Vue Fes Japan 2018 参加レポートVue Fes Japan 2018 参加レポート
Vue Fes Japan 2018 参加レポート
 
Cross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScriptCross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScript
 
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
 
Creating books app with react native
Creating books app with react nativeCreating books app with react native
Creating books app with react native
 
Android Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And XamarinAndroid Apps Using C# With Visual Studio And Xamarin
Android Apps Using C# With Visual Studio And Xamarin
 
React Native
React NativeReact Native
React Native
 
Automated Continuous Delivery for iOS
Automated Continuous Delivery for iOSAutomated Continuous Delivery for iOS
Automated Continuous Delivery for iOS
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 

Similaire à 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 DEVICESwe20
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
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
 
JavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionJavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionYoav Aharoni
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTManuel Carrasco Moñino
 
Using Adobe Gaming Tools for Education
Using Adobe Gaming Tools for EducationUsing Adobe Gaming Tools for Education
Using Adobe Gaming Tools for EducationJoseph Labrecque
 
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
 
Алексей Волков "Введение в React Native"
Алексей Волков "Введение в React Native"Алексей Волков "Введение в React Native"
Алексей Волков "Введение в React Native"Fwdays
 
Enterprise Strength Mobile JavaScript
Enterprise Strength Mobile JavaScriptEnterprise Strength Mobile JavaScript
Enterprise Strength Mobile JavaScriptTroy Miles
 
C++ on the Web: Run your big 3D game in the browser
C++ on the Web: Run your big 3D game in the browserC++ on the Web: Run your big 3D game in the browser
C++ on the Web: Run your big 3D game in the browserAndre Weissflog
 
Basic javaprogramming(session1)
Basic javaprogramming(session1)Basic javaprogramming(session1)
Basic javaprogramming(session1)Barm Bannasan
 
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
 
The Gist of React Native
The Gist of React NativeThe Gist of React Native
The Gist of React NativeDarren Cruse
 
Universal Applications with Universal JavaScript
Universal Applications with Universal JavaScriptUniversal Applications with Universal JavaScript
Universal Applications with Universal JavaScriptThomas Joseph
 
Looking For Xaml In All The Wrong Places
Looking For Xaml In All The Wrong PlacesLooking For Xaml In All The Wrong Places
Looking For Xaml In All The Wrong PlacesAdam Hill
 
General Assembly Workshop: Advanced JavaScript
General Assembly Workshop: Advanced JavaScriptGeneral Assembly Workshop: Advanced JavaScript
General Assembly Workshop: Advanced JavaScriptSpike Brehm
 
Step by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For BeginnersStep by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For Beginnerscalltutors
 

Similaire à 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
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
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
 
JavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionJavaFX - Sketch Board to Production
JavaFX - Sketch Board to Production
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Mobile html5 v2
Mobile html5 v2Mobile html5 v2
Mobile html5 v2
 
Using Adobe Gaming Tools for Education
Using Adobe Gaming Tools for EducationUsing Adobe Gaming Tools for Education
Using Adobe Gaming Tools for Education
 
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)
 
Алексей Волков "Введение в React Native"
Алексей Волков "Введение в React Native"Алексей Волков "Введение в React Native"
Алексей Волков "Введение в React Native"
 
Enterprise Strength Mobile JavaScript
Enterprise Strength Mobile JavaScriptEnterprise Strength Mobile JavaScript
Enterprise Strength Mobile JavaScript
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
C++ on the Web: Run your big 3D game in the browser
C++ on the Web: Run your big 3D game in the browserC++ on the Web: Run your big 3D game in the browser
C++ on the Web: Run your big 3D game in the browser
 
Basic javaprogramming(session1)
Basic javaprogramming(session1)Basic javaprogramming(session1)
Basic javaprogramming(session1)
 
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
 
The Gist of React Native
The Gist of React NativeThe Gist of React Native
The Gist of React Native
 
Universal Applications with Universal JavaScript
Universal Applications with Universal JavaScriptUniversal Applications with Universal JavaScript
Universal Applications with Universal JavaScript
 
Looking For Xaml In All The Wrong Places
Looking For Xaml In All The Wrong PlacesLooking For Xaml In All The Wrong Places
Looking For Xaml In All The Wrong Places
 
General Assembly Workshop: Advanced JavaScript
General Assembly Workshop: Advanced JavaScriptGeneral Assembly Workshop: Advanced JavaScript
General Assembly Workshop: Advanced JavaScript
 
Step by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For BeginnersStep by Step Guide on Essay Format in APA For Beginners
Step by Step Guide on Essay Format in APA For Beginners
 

Plus de action.vn

Bao cao tai nguyen Internet VN 2013
Bao cao tai nguyen Internet VN 2013Bao cao tai nguyen Internet VN 2013
Bao cao tai nguyen Internet VN 2013action.vn
 
ComScore - Southeast Asia Digital Future in Focus 2013
ComScore - Southeast Asia Digital Future in Focus 2013ComScore - Southeast Asia Digital Future in Focus 2013
ComScore - Southeast Asia Digital Future in Focus 2013action.vn
 
comScore's Presentation Google's Think Digital Vietnam 11-Dec-2012
comScore's Presentation Google's Think Digital Vietnam 11-Dec-2012comScore's Presentation Google's Think Digital Vietnam 11-Dec-2012
comScore's Presentation Google's Think Digital Vietnam 11-Dec-2012action.vn
 
Toan canh thuong mai dien tu 2012
Toan canh thuong mai dien tu 2012Toan canh thuong mai dien tu 2012
Toan canh thuong mai dien tu 2012action.vn
 
White book 2012 - Các vấn đề thương mại/đầu tư và kiến nghị
White book 2012 - Các vấn đề thương mại/đầu tư và kiến nghịWhite book 2012 - Các vấn đề thương mại/đầu tư và kiến nghị
White book 2012 - Các vấn đề thương mại/đầu tư và kiến nghịaction.vn
 
Amazon Annual Report
Amazon Annual ReportAmazon Annual Report
Amazon Annual Reportaction.vn
 
HIGH IMPACT ENTREPRENEURS
HIGH IMPACT ENTREPRENEURSHIGH IMPACT ENTREPRENEURS
HIGH IMPACT ENTREPRENEURSaction.vn
 
Bao cao EBI TMDT 2012
Bao cao EBI TMDT 2012Bao cao EBI TMDT 2012
Bao cao EBI TMDT 2012action.vn
 
VC-Corp Intro
VC-Corp IntroVC-Corp Intro
VC-Corp Introaction.vn
 
Mobile Trends: Cơ hội còn bỏ ngỏ
Mobile Trends: Cơ hội còn bỏ ngỏMobile Trends: Cơ hội còn bỏ ngỏ
Mobile Trends: Cơ hội còn bỏ ngỏaction.vn
 
Mobile VAS market in Vietnam
Mobile VAS market in VietnamMobile VAS market in Vietnam
Mobile VAS market in Vietnamaction.vn
 
Vietnam’s Web in 2012
Vietnam’s Web in 2012Vietnam’s Web in 2012
Vietnam’s Web in 2012action.vn
 
Mạng quảng cáo gia tăng hiệu quả cho quảng cáo hiển thị
Mạng quảng cáo gia tăng hiệu quả cho quảng cáo hiển thịMạng quảng cáo gia tăng hiệu quả cho quảng cáo hiển thị
Mạng quảng cáo gia tăng hiệu quả cho quảng cáo hiển thịaction.vn
 
IDC Q3 2012 Mobile Developer Report
IDC Q3 2012 Mobile Developer ReportIDC Q3 2012 Mobile Developer Report
IDC Q3 2012 Mobile Developer Reportaction.vn
 
Why not to do a startup?
Why not to do a startup?Why not to do a startup?
Why not to do a startup?action.vn
 
Mobiles share of the mix marketing evolution
Mobiles share of the mix marketing evolutionMobiles share of the mix marketing evolution
Mobiles share of the mix marketing evolutionaction.vn
 
Khảo sát lứa tuổi Teen Việt Nam 2012
Khảo sát lứa tuổi Teen Việt Nam 2012Khảo sát lứa tuổi Teen Việt Nam 2012
Khảo sát lứa tuổi Teen Việt Nam 2012action.vn
 
Creative design for mobile social game
Creative design for mobile social gameCreative design for mobile social game
Creative design for mobile social gameaction.vn
 
Balance in SNS by Energy
Balance in SNS by EnergyBalance in SNS by Energy
Balance in SNS by Energyaction.vn
 
Training and developing human resources in a game studio
Training and developing human resources in a game studioTraining and developing human resources in a game studio
Training and developing human resources in a game studioaction.vn
 

Plus de action.vn (20)

Bao cao tai nguyen Internet VN 2013
Bao cao tai nguyen Internet VN 2013Bao cao tai nguyen Internet VN 2013
Bao cao tai nguyen Internet VN 2013
 
ComScore - Southeast Asia Digital Future in Focus 2013
ComScore - Southeast Asia Digital Future in Focus 2013ComScore - Southeast Asia Digital Future in Focus 2013
ComScore - Southeast Asia Digital Future in Focus 2013
 
comScore's Presentation Google's Think Digital Vietnam 11-Dec-2012
comScore's Presentation Google's Think Digital Vietnam 11-Dec-2012comScore's Presentation Google's Think Digital Vietnam 11-Dec-2012
comScore's Presentation Google's Think Digital Vietnam 11-Dec-2012
 
Toan canh thuong mai dien tu 2012
Toan canh thuong mai dien tu 2012Toan canh thuong mai dien tu 2012
Toan canh thuong mai dien tu 2012
 
White book 2012 - Các vấn đề thương mại/đầu tư và kiến nghị
White book 2012 - Các vấn đề thương mại/đầu tư và kiến nghịWhite book 2012 - Các vấn đề thương mại/đầu tư và kiến nghị
White book 2012 - Các vấn đề thương mại/đầu tư và kiến nghị
 
Amazon Annual Report
Amazon Annual ReportAmazon Annual Report
Amazon Annual Report
 
HIGH IMPACT ENTREPRENEURS
HIGH IMPACT ENTREPRENEURSHIGH IMPACT ENTREPRENEURS
HIGH IMPACT ENTREPRENEURS
 
Bao cao EBI TMDT 2012
Bao cao EBI TMDT 2012Bao cao EBI TMDT 2012
Bao cao EBI TMDT 2012
 
VC-Corp Intro
VC-Corp IntroVC-Corp Intro
VC-Corp Intro
 
Mobile Trends: Cơ hội còn bỏ ngỏ
Mobile Trends: Cơ hội còn bỏ ngỏMobile Trends: Cơ hội còn bỏ ngỏ
Mobile Trends: Cơ hội còn bỏ ngỏ
 
Mobile VAS market in Vietnam
Mobile VAS market in VietnamMobile VAS market in Vietnam
Mobile VAS market in Vietnam
 
Vietnam’s Web in 2012
Vietnam’s Web in 2012Vietnam’s Web in 2012
Vietnam’s Web in 2012
 
Mạng quảng cáo gia tăng hiệu quả cho quảng cáo hiển thị
Mạng quảng cáo gia tăng hiệu quả cho quảng cáo hiển thịMạng quảng cáo gia tăng hiệu quả cho quảng cáo hiển thị
Mạng quảng cáo gia tăng hiệu quả cho quảng cáo hiển thị
 
IDC Q3 2012 Mobile Developer Report
IDC Q3 2012 Mobile Developer ReportIDC Q3 2012 Mobile Developer Report
IDC Q3 2012 Mobile Developer Report
 
Why not to do a startup?
Why not to do a startup?Why not to do a startup?
Why not to do a startup?
 
Mobiles share of the mix marketing evolution
Mobiles share of the mix marketing evolutionMobiles share of the mix marketing evolution
Mobiles share of the mix marketing evolution
 
Khảo sát lứa tuổi Teen Việt Nam 2012
Khảo sát lứa tuổi Teen Việt Nam 2012Khảo sát lứa tuổi Teen Việt Nam 2012
Khảo sát lứa tuổi Teen Việt Nam 2012
 
Creative design for mobile social game
Creative design for mobile social gameCreative design for mobile social game
Creative design for mobile social game
 
Balance in SNS by Energy
Balance in SNS by EnergyBalance in SNS by Energy
Balance in SNS by Energy
 
Training and developing human resources in a game studio
Training and developing human resources in a game studioTraining and developing human resources in a game studio
Training and developing human resources in a game studio
 

Dernier

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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 ? Business • Not good at least now Apps • It’s ok for simple apps Games • Not so bad
  • 6. Most important thing is… To know the characteristics of each environment Your code Cross-platform Erase the difference But limit the capability Environment layer sometimes Native Layer
  • 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
  • 25. Try it http://jsx.github.com/
  • 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. Try it http://denadev.github.com/Arctic.js/
  • 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/