SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
Cross-platforms for Mobile Development
Vũ Phượng Hoàng
08/2013
Content
• What is cross-platforms development?
• Why do we need cross-platforms?
• How to go with cross-platforms?
• Comparisons
• Conclusions
• Q & A
• Resources
What is cross-platforms development?
• Develop for multiple platforms
• Simultaneous (or not)
• Mobile platforms:
• Android
• iOS
• Windows Phone
Why do we need cross-platforms?
• More customers, more $$$
• Short time to market
• Synchronization
• Simpler workflow
• Can be less headache for developers?
How to go with cross-platforms?
Plan Business Logic
Code
Compile
Test
Deploy
When do cross-platforms participate?
Plan Business Logic
Code
Compile
Test
Deploy
When do cross-platforms participate?
Web App
Hybrid App
Interpreted App
Plan Business Logic
Code
Compile
Test
Deploy
When do cross-platforms participate?
Web App
Hybrid App
Interpreted App
Cross-Compiled App
Plan Business Logic
Code
Compile
Test
Deploy
When do cross-platforms participate?
Web App
Hybrid App
Interpreted App
Cross-Compiled App
Generated App
Java Code-Base Objective C Code-Base C# Code-Base
(Java) Binary (Objective C) Binary (C#) Binary
Back-End
compile compile compile
Native App
Eclipse XCode Visual Studio
Android iOS Windows Phone
Native App Workflow
You must develop each by each platform…
Eclipse
Code in Android SDK BuildSetup UI
Test
Native App Workflow
Eclipse
Code in Android SDK BuildSetup UI
Test
XCode (Must be in MAC OS)
Code in iOS SDK BuildSetup UI
Test
Native App Workflow
Eclipse
Code in Android SDK BuildSetup UI
Test
XCode (Must be in MAC OS)
Code in iOS SDK BuildSetup UI
Test
Visual Studio (Must be in Windows)
Code in WP SDK BuildSetup UI
Test
Native App Workflow
Now, let’s have a look at
cross-platforms methods!
Plan Business Logic
Code
Compile
Test
Deploy
Cross-platforms at “Code” stage
Web App
Hybrid App
Interpreted App
Browser
Common Front-End
Common UI
Back-End
use
render
Resources @ Server
Server-side WebApp (Normal Website)
Android iOS Windows Phone
Eclipse
Code in Javascript BuildSetup UI
Test
Test
Test
Test & Tweak
Server-side WebApp Workflow
Client-side WebApp (Local HTML files)
Browser
Common Front-End
Common UI
Back-End
use
render
Resources @ Local
Android iOS Windows Phone
• How to make it
look like Native?
Browser
Front-End (e.g: )
Back-End
use
render
Resources @ Local
Client-side WebApp (Local HTML files)
Android iOS Windows Phone
Android UI iOS UI Windows Phone UI
Eclipse
Code in BuildSetup UI
Test
Test
Test
Test & Tweak
Client-side WebApp Workflow
Problems with WebApp
• Home screen shortcut?
• Native access?
Native
Web View (Browser)
Back-End
Javascript Code-Base
compile
Wrapper (e.g
PhoneGap)
Web View (Browser)
Back-End
Java Library
Objective C Library
C# Library
Javascript Code-Base
use
use
use
compile
Javascript Bridge
use
Hybrid App (Website in a wrapper)
Android
iOS
Windows Phone
Hybrid App Workflow
Eclipse
Code inSetup UI
Test
Test
Test
Test & Tweak
Test
Ripple
Build
Build
Build
Eclipse
Code inSetup UI
Test
Test
Test
Test & Tweak
Test
Ripple
Download
Hybrid App Workflow (More convenient build version)
PhoneGap Build
Javascript (or Lua) Code-Base
Java Bridge Objective C Bridge C# Bridge
Back-End
Abstract Layer
(e.g: )
use
use useuse
Interpreted App (Abstract API Layer)
Android iOS Windows Phone
Titanium Studio (Eclipse-based)
Code inSetup UI
Test
Test
Test
Build
Build
Build
Interpreted App Workflow
Cross-platforms at “Compile” stage
Plan Business Logic
Code
Compile
Test
Deploy
Cross-Compiled App
Cross-compiled App (Multiple Compilers)
This is what they advertise …
C# code
(Java) Binary (Objective C) Binary (C#) Binary
Back-End
Android Compiler iOS Compiler WP Compiler
compile compile compile
Cross-compiled App (Multiple Compilers)
Android iOS Windows Phone
Cross-compiled App (Multiple Compilers)
And this is what I had to do…
Shared C# code
(Java) Binary (Objective C) Binary (C#) Binary
Back-End
Android Compiler
(e.g Xamarin.Android)
iOS Compiler
(e.g Xamarin.iOS)
WP Compiler
compile compile compile
C# Code for Android C# Code for iOS C# Code for WP
use use use
Cross-compiled App (Multiple Compilers)
Android iOS Windows Phone
Xamarin Studio (Visual Studio-based)
Code Shared C#Setup UI
Test
Test
Test
BuildCode in C#
Xamarin.Android
Re-use Shared C#Setup UI BuildCode in C#
Xamarin.iOS
Re-use Shared C#Setup UI BuildCode in C#
Normal C#
Cross-compiled App Workflow
Plan Business Logic
Code
Compile
Test
Deploy
Generated App
Cross-platforms at “Logic” stage
Java Code-Base Objective C Code-Base C# Code-Base
(Java) Binary (Objective C) Binary (C#) Binary
Back-End
Business Logic
Generated App (Code Generator)
Android iOS Windows Phone
Android iOS Windows Phone
• Why not utilize “Business Logic”?
compile compile compile
Java Code-Base Objective C Code-Base C# Code-Base
(Java) Binary (Objective C) Binary (C#) Binary
Back-End
Code Generator
(e.g: Applause)
Model (DSL)
Generated App (Code Generator)
Android iOS Windows Phone
Android iOS Windows Phone
compile compile compile
Generated App Workflow
XText (Eclipse-based)
‘Code’ inSetup UI
Test
Test
Test
Build
Build
Build
Method SDK
Native
Access
Perfor-
mance
Off
-line
Sync
Human
Resource
Tools Time Ease
Native App #1 #1 #1 #6 3 teams Free? 3 unit #2
Web App
Sencha
iUI
#6 #5 #6? #1 1 team Free 1 unit #1
Hybrid App
PhoneGap
Flash
Trigger.IO
#3 #5 #5 #2 1,5 team Free 1,5 unit #3
Interpreted
App
Titanium
RhoMobile
#3 #4 #1 #5 1,5 team Free? 1,5 unit #4
Cross
Compiling
App
Xamarin
Marmalade
Strawberry
#3 #3 #1 #2 1,5 team $$$ 1,5 unit #5
Generated
App
Applause #2 #2 #1 #2
1 team
+ 3 teams
Free
1 unit
+ 3 unit
#6
Comparisons
Comparisons – Who uses which?
• Native App:
• Web App:
• Hybrid App:
• Interpreted App:
• Cross-Compiled Game:
• Generated App:
Comparisons – Demo Statistics (Lower is better)
0
5000
10000
15000
20000
25000
30000
35000
Native App
Server-side Web App
Client-side Web App
PhoneGap
Titanium
Native App Web App PhoneGap Titanium
Native Access Full API None Depend on framework Depend on framework
Performance Best
Worst – Depend on
browser
Worst – Depend on
browser
Good
Cost
Depend on # of
platforms
1 team + quick
development
1 team + quick
development
1 team but Coded UI?
Doc & Support
Full documentations
Large communities
Full documentation
Largest communities
Good documentation
Open forum
Have documentation
Open forum
GUI Design Acceptable Great & Many Great & Many
25$ for ForgedUI
20$ for VisualUI
Test
Has debugging tools
Has profiling tools
Great debugging tools
Great profiling tools
Great debugging tools
Great profiling tools
Has debugging tools
Has profiling tools
Short list
Conclusion (Now what?)
• Cross-platforms for developing mobile
applications are not mature yet
• Wise choices:
• Web App for simple products (prototype?)
• Native App for complex products
• Hybrid App for existed Web App
• Interpreted App is the market shortcut
• Q: How about native libraries?
A: Plugin Bridge for Cordova-based frameworks (OTT
application demo)
Titanium Modules for Titanium
• Q: Can I trust them?
A: Behind PhoneGap is Adobe
Titanium is trusted by ebay, Mitsubishi
Xamarin is managed by GNOME co-founders
• ...
Q & A
• Quick comparison: http://www.markus-
falk.com/mobile-frameworks-comparison-chart/
• Google, SlideShare are your friends
• And I am, too :D
More resources
Thank you for listening!
vuphuonghoang88@gmail.com

Contenu connexe

Tendances

An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium DesktopSauce Labs
 
Miracle Inameti-Archibong - We made our website a progressive web app and why...
Miracle Inameti-Archibong - We made our website a progressive web app and why...Miracle Inameti-Archibong - We made our website a progressive web app and why...
Miracle Inameti-Archibong - We made our website a progressive web app and why...SiteVisibility
 
Past, Present, Future of APIS
Past, Present, Future of APISPast, Present, Future of APIS
Past, Present, Future of APISJason Harmon
 
Pender presentation 2.0
Pender presentation 2.0 Pender presentation 2.0
Pender presentation 2.0 PhoneGap
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformRui Marinho
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin PlatformLiddle Fang
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentSynerzip
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Mike Melusky
 
Development at Mercari
Development at MercariDevelopment at Mercari
Development at MercariTomoaki Imai
 
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
Badoo: Cross platform Mobile Test Automation and Continuos DeliveryBadoo: Cross platform Mobile Test Automation and Continuos Delivery
Badoo: Cross platform Mobile Test Automation and Continuos DeliveryCodeFest
 
Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptxSai Krishna
 
When Android Apps Go Evil
When Android Apps Go EvilWhen Android Apps Go Evil
When Android Apps Go EvilLookout
 
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
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scaleRahul Dighe
 
MVP Mix 2015 - Introduction to Xamarin Development
MVP Mix 2015 - Introduction to Xamarin DevelopmentMVP Mix 2015 - Introduction to Xamarin Development
MVP Mix 2015 - Introduction to Xamarin DevelopmentJames Montemagno
 

Tendances (20)

TypeScript
TypeScriptTypeScript
TypeScript
 
An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium Desktop
 
React Native
React NativeReact Native
React Native
 
Miracle Inameti-Archibong - We made our website a progressive web app and why...
Miracle Inameti-Archibong - We made our website a progressive web app and why...Miracle Inameti-Archibong - We made our website a progressive web app and why...
Miracle Inameti-Archibong - We made our website a progressive web app and why...
 
flutter.school #HelloWorld
flutter.school #HelloWorldflutter.school #HelloWorld
flutter.school #HelloWorld
 
Past, Present, Future of APIS
Past, Present, Future of APISPast, Present, Future of APIS
Past, Present, Future of APIS
 
Pender presentation 2.0
Pender presentation 2.0 Pender presentation 2.0
Pender presentation 2.0
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Device fragmentation vs clean code
Device fragmentation vs clean codeDevice fragmentation vs clean code
Device fragmentation vs clean code
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015
 
Development at Mercari
Development at MercariDevelopment at Mercari
Development at Mercari
 
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
Badoo: Cross platform Mobile Test Automation and Continuos DeliveryBadoo: Cross platform Mobile Test Automation and Continuos Delivery
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
 
Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptx
 
Mule raml
Mule ramlMule raml
Mule raml
 
When Android Apps Go Evil
When Android Apps Go EvilWhen Android Apps Go Evil
When Android Apps Go Evil
 
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
 
Rebooting APIs at scale
Rebooting APIs at scaleRebooting APIs at scale
Rebooting APIs at scale
 
MVP Mix 2015 - Introduction to Xamarin Development
MVP Mix 2015 - Introduction to Xamarin DevelopmentMVP Mix 2015 - Introduction to Xamarin Development
MVP Mix 2015 - Introduction to Xamarin Development
 

En vedette

[UX Series] 5 - Navigation
[UX Series] 5 - Navigation[UX Series] 5 - Navigation
[UX Series] 5 - NavigationPhuong Hoang Vu
 
[UX Series] 4 - Contrast in design
[UX Series] 4 - Contrast in design[UX Series] 4 - Contrast in design
[UX Series] 4 - Contrast in designPhuong Hoang Vu
 
[UX Series] 2 - Clean design. Less is more
[UX Series] 2 - Clean design. Less is more[UX Series] 2 - Clean design. Less is more
[UX Series] 2 - Clean design. Less is morePhuong Hoang Vu
 
[UX Series] 1b - 12 standard screen layouts
[UX Series] 1b - 12 standard screen layouts[UX Series] 1b - 12 standard screen layouts
[UX Series] 1b - 12 standard screen layoutsPhuong Hoang Vu
 
[UX Series] 3 - User behavior patterns and design principles
[UX Series] 3 - User behavior patterns and design principles[UX Series] 3 - User behavior patterns and design principles
[UX Series] 3 - User behavior patterns and design principlesPhuong Hoang Vu
 
[UX Series] 1 - UX Introduction
[UX Series] 1 - UX Introduction[UX Series] 1 - UX Introduction
[UX Series] 1 - UX IntroductionPhuong Hoang Vu
 
[UX Series] 6 - Animation principles
[UX Series] 6 - Animation principles[UX Series] 6 - Animation principles
[UX Series] 6 - Animation principlesPhuong Hoang Vu
 
Analyzing Compare and Contrast Essays - Workspace Design
Analyzing Compare and Contrast Essays - Workspace DesignAnalyzing Compare and Contrast Essays - Workspace Design
Analyzing Compare and Contrast Essays - Workspace Designsarahelizabethfield
 
Graphic Design Basics 4 Principles Of Page Des
Graphic  Design  Basics 4  Principles Of  Page  DesGraphic  Design  Basics 4  Principles Of  Page  Des
Graphic Design Basics 4 Principles Of Page Desdarlinga
 
Design - contrast
Design  - contrastDesign  - contrast
Design - contrastkfrankli
 
4 principles of design 2
4 principles of design 24 principles of design 2
4 principles of design 2Glenbaker
 
Introduction to design
Introduction to designIntroduction to design
Introduction to designChris Snider
 
Graphic Design Fundamentals
Graphic Design FundamentalsGraphic Design Fundamentals
Graphic Design Fundamentalsmyannitell
 
Good V. Bad Graphic Design
Good V. Bad Graphic DesignGood V. Bad Graphic Design
Good V. Bad Graphic DesignAndrea Madden
 
Creative Exercises For Artists
Creative Exercises For ArtistsCreative Exercises For Artists
Creative Exercises For ArtistsBenoit Philippe
 
Principles of Design
Principles of DesignPrinciples of Design
Principles of Designerinsmith.art
 
Mobile Information Architecture and Interaction Design
Mobile Information Architecture and Interaction DesignMobile Information Architecture and Interaction Design
Mobile Information Architecture and Interaction DesignNick Finck
 

En vedette (20)

[UX Series] 5 - Navigation
[UX Series] 5 - Navigation[UX Series] 5 - Navigation
[UX Series] 5 - Navigation
 
[UX Series] 4 - Contrast in design
[UX Series] 4 - Contrast in design[UX Series] 4 - Contrast in design
[UX Series] 4 - Contrast in design
 
[UX Series] 2 - Clean design. Less is more
[UX Series] 2 - Clean design. Less is more[UX Series] 2 - Clean design. Less is more
[UX Series] 2 - Clean design. Less is more
 
[UX Series] 1b - 12 standard screen layouts
[UX Series] 1b - 12 standard screen layouts[UX Series] 1b - 12 standard screen layouts
[UX Series] 1b - 12 standard screen layouts
 
[UX Series] 3 - User behavior patterns and design principles
[UX Series] 3 - User behavior patterns and design principles[UX Series] 3 - User behavior patterns and design principles
[UX Series] 3 - User behavior patterns and design principles
 
[UX Series] 1 - UX Introduction
[UX Series] 1 - UX Introduction[UX Series] 1 - UX Introduction
[UX Series] 1 - UX Introduction
 
[UX Series] 6 - Animation principles
[UX Series] 6 - Animation principles[UX Series] 6 - Animation principles
[UX Series] 6 - Animation principles
 
Analyzing Compare and Contrast Essays - Workspace Design
Analyzing Compare and Contrast Essays - Workspace DesignAnalyzing Compare and Contrast Essays - Workspace Design
Analyzing Compare and Contrast Essays - Workspace Design
 
Contrast & Composition
Contrast & CompositionContrast & Composition
Contrast & Composition
 
Graphic Design Basics 4 Principles Of Page Des
Graphic  Design  Basics 4  Principles Of  Page  DesGraphic  Design  Basics 4  Principles Of  Page  Des
Graphic Design Basics 4 Principles Of Page Des
 
Contrast
ContrastContrast
Contrast
 
Design - contrast
Design  - contrastDesign  - contrast
Design - contrast
 
4 principles of design 2
4 principles of design 24 principles of design 2
4 principles of design 2
 
Introduction to design
Introduction to designIntroduction to design
Introduction to design
 
Photoshop Exercise
Photoshop ExercisePhotoshop Exercise
Photoshop Exercise
 
Graphic Design Fundamentals
Graphic Design FundamentalsGraphic Design Fundamentals
Graphic Design Fundamentals
 
Good V. Bad Graphic Design
Good V. Bad Graphic DesignGood V. Bad Graphic Design
Good V. Bad Graphic Design
 
Creative Exercises For Artists
Creative Exercises For ArtistsCreative Exercises For Artists
Creative Exercises For Artists
 
Principles of Design
Principles of DesignPrinciples of Design
Principles of Design
 
Mobile Information Architecture and Interaction Design
Mobile Information Architecture and Interaction DesignMobile Information Architecture and Interaction Design
Mobile Information Architecture and Interaction Design
 

Similaire à Cross platform mobile approaches

The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentNick Landry
 
Cross platform-mobile-applications
Cross platform-mobile-applicationsCross platform-mobile-applications
Cross platform-mobile-applicationsmailalamin
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platformi4consulting.org
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
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
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampMihai Corlan
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentÖzcan Zafer AYAN
 
DroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
DroidCon 2011: Developing HTML5 and hybrid Android apps using PhonegapDroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
DroidCon 2011: Developing HTML5 and hybrid Android apps using PhonegapAyushman Jain
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaNoam Kfir
 
Notes (2012-06-08)
Notes (2012-06-08)Notes (2012-06-08)
Notes (2012-06-08)Chris Pitt
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Native Mobile Platforms vs Phonegap – A Comparison
Native Mobile Platforms vs Phonegap – A ComparisonNative Mobile Platforms vs Phonegap – A Comparison
Native Mobile Platforms vs Phonegap – A ComparisonNeev Technologies
 
Why hybrid-is-important
Why hybrid-is-importantWhy hybrid-is-important
Why hybrid-is-importantJacob Nelson
 
Popular App Development Frameworks used by App Developers.
Popular App Development Frameworks used by App Developers.Popular App Development Frameworks used by App Developers.
Popular App Development Frameworks used by App Developers.Techugo
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapGautam Chaudhary
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...RIA RUI Society
 
Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)GameWisp
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development CompanyThe NineHertz
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap InsightsMonaca
 
Best Interactive guide on Top 10 Mobile App Development Frameworks
Best Interactive guide on Top 10 Mobile App Development FrameworksBest Interactive guide on Top 10 Mobile App Development Frameworks
Best Interactive guide on Top 10 Mobile App Development Frameworksvarshasolanki7
 

Similaire à Cross platform mobile approaches (20)

The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Cross platform-mobile-applications
Cross platform-mobile-applicationsCross platform-mobile-applications
Cross platform-mobile-applications
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
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
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
 
DroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
DroidCon 2011: Developing HTML5 and hybrid Android apps using PhonegapDroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
DroidCon 2011: Developing HTML5 and hybrid Android apps using Phonegap
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
 
Notes (2012-06-08)
Notes (2012-06-08)Notes (2012-06-08)
Notes (2012-06-08)
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Native Mobile Platforms vs Phonegap – A Comparison
Native Mobile Platforms vs Phonegap – A ComparisonNative Mobile Platforms vs Phonegap – A Comparison
Native Mobile Platforms vs Phonegap – A Comparison
 
Why hybrid-is-important
Why hybrid-is-importantWhy hybrid-is-important
Why hybrid-is-important
 
Popular App Development Frameworks used by App Developers.
Popular App Development Frameworks used by App Developers.Popular App Development Frameworks used by App Developers.
Popular App Development Frameworks used by App Developers.
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with Phonegap
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)
 
Cross-platform App Development Company
Cross-platform App Development CompanyCross-platform App Development Company
Cross-platform App Development Company
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 
Best Interactive guide on Top 10 Mobile App Development Frameworks
Best Interactive guide on Top 10 Mobile App Development FrameworksBest Interactive guide on Top 10 Mobile App Development Frameworks
Best Interactive guide on Top 10 Mobile App Development Frameworks
 

Dernier

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Dernier (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Cross platform mobile approaches

  • 1. Cross-platforms for Mobile Development Vũ Phượng Hoàng 08/2013
  • 2. Content • What is cross-platforms development? • Why do we need cross-platforms? • How to go with cross-platforms? • Comparisons • Conclusions • Q & A • Resources
  • 3. What is cross-platforms development? • Develop for multiple platforms • Simultaneous (or not) • Mobile platforms: • Android • iOS • Windows Phone
  • 4. Why do we need cross-platforms? • More customers, more $$$ • Short time to market • Synchronization • Simpler workflow • Can be less headache for developers?
  • 5. How to go with cross-platforms?
  • 6. Plan Business Logic Code Compile Test Deploy When do cross-platforms participate?
  • 7. Plan Business Logic Code Compile Test Deploy When do cross-platforms participate? Web App Hybrid App Interpreted App
  • 8. Plan Business Logic Code Compile Test Deploy When do cross-platforms participate? Web App Hybrid App Interpreted App Cross-Compiled App
  • 9. Plan Business Logic Code Compile Test Deploy When do cross-platforms participate? Web App Hybrid App Interpreted App Cross-Compiled App Generated App
  • 10. Java Code-Base Objective C Code-Base C# Code-Base (Java) Binary (Objective C) Binary (C#) Binary Back-End compile compile compile Native App Eclipse XCode Visual Studio Android iOS Windows Phone
  • 11. Native App Workflow You must develop each by each platform…
  • 12. Eclipse Code in Android SDK BuildSetup UI Test Native App Workflow
  • 13. Eclipse Code in Android SDK BuildSetup UI Test XCode (Must be in MAC OS) Code in iOS SDK BuildSetup UI Test Native App Workflow
  • 14. Eclipse Code in Android SDK BuildSetup UI Test XCode (Must be in MAC OS) Code in iOS SDK BuildSetup UI Test Visual Studio (Must be in Windows) Code in WP SDK BuildSetup UI Test Native App Workflow
  • 15. Now, let’s have a look at cross-platforms methods!
  • 16. Plan Business Logic Code Compile Test Deploy Cross-platforms at “Code” stage Web App Hybrid App Interpreted App
  • 17. Browser Common Front-End Common UI Back-End use render Resources @ Server Server-side WebApp (Normal Website) Android iOS Windows Phone
  • 18. Eclipse Code in Javascript BuildSetup UI Test Test Test Test & Tweak Server-side WebApp Workflow
  • 19. Client-side WebApp (Local HTML files) Browser Common Front-End Common UI Back-End use render Resources @ Local Android iOS Windows Phone • How to make it look like Native?
  • 20. Browser Front-End (e.g: ) Back-End use render Resources @ Local Client-side WebApp (Local HTML files) Android iOS Windows Phone Android UI iOS UI Windows Phone UI
  • 21. Eclipse Code in BuildSetup UI Test Test Test Test & Tweak Client-side WebApp Workflow
  • 22. Problems with WebApp • Home screen shortcut? • Native access? Native Web View (Browser) Back-End Javascript Code-Base compile
  • 23. Wrapper (e.g PhoneGap) Web View (Browser) Back-End Java Library Objective C Library C# Library Javascript Code-Base use use use compile Javascript Bridge use Hybrid App (Website in a wrapper) Android iOS Windows Phone
  • 24. Hybrid App Workflow Eclipse Code inSetup UI Test Test Test Test & Tweak Test Ripple Build Build Build
  • 25. Eclipse Code inSetup UI Test Test Test Test & Tweak Test Ripple Download Hybrid App Workflow (More convenient build version) PhoneGap Build
  • 26. Javascript (or Lua) Code-Base Java Bridge Objective C Bridge C# Bridge Back-End Abstract Layer (e.g: ) use use useuse Interpreted App (Abstract API Layer) Android iOS Windows Phone
  • 27. Titanium Studio (Eclipse-based) Code inSetup UI Test Test Test Build Build Build Interpreted App Workflow
  • 28. Cross-platforms at “Compile” stage Plan Business Logic Code Compile Test Deploy Cross-Compiled App
  • 29. Cross-compiled App (Multiple Compilers) This is what they advertise …
  • 30. C# code (Java) Binary (Objective C) Binary (C#) Binary Back-End Android Compiler iOS Compiler WP Compiler compile compile compile Cross-compiled App (Multiple Compilers) Android iOS Windows Phone
  • 31. Cross-compiled App (Multiple Compilers) And this is what I had to do…
  • 32. Shared C# code (Java) Binary (Objective C) Binary (C#) Binary Back-End Android Compiler (e.g Xamarin.Android) iOS Compiler (e.g Xamarin.iOS) WP Compiler compile compile compile C# Code for Android C# Code for iOS C# Code for WP use use use Cross-compiled App (Multiple Compilers) Android iOS Windows Phone
  • 33. Xamarin Studio (Visual Studio-based) Code Shared C#Setup UI Test Test Test BuildCode in C# Xamarin.Android Re-use Shared C#Setup UI BuildCode in C# Xamarin.iOS Re-use Shared C#Setup UI BuildCode in C# Normal C# Cross-compiled App Workflow
  • 34. Plan Business Logic Code Compile Test Deploy Generated App Cross-platforms at “Logic” stage
  • 35. Java Code-Base Objective C Code-Base C# Code-Base (Java) Binary (Objective C) Binary (C#) Binary Back-End Business Logic Generated App (Code Generator) Android iOS Windows Phone Android iOS Windows Phone • Why not utilize “Business Logic”? compile compile compile
  • 36. Java Code-Base Objective C Code-Base C# Code-Base (Java) Binary (Objective C) Binary (C#) Binary Back-End Code Generator (e.g: Applause) Model (DSL) Generated App (Code Generator) Android iOS Windows Phone Android iOS Windows Phone compile compile compile
  • 37. Generated App Workflow XText (Eclipse-based) ‘Code’ inSetup UI Test Test Test Build Build Build
  • 38. Method SDK Native Access Perfor- mance Off -line Sync Human Resource Tools Time Ease Native App #1 #1 #1 #6 3 teams Free? 3 unit #2 Web App Sencha iUI #6 #5 #6? #1 1 team Free 1 unit #1 Hybrid App PhoneGap Flash Trigger.IO #3 #5 #5 #2 1,5 team Free 1,5 unit #3 Interpreted App Titanium RhoMobile #3 #4 #1 #5 1,5 team Free? 1,5 unit #4 Cross Compiling App Xamarin Marmalade Strawberry #3 #3 #1 #2 1,5 team $$$ 1,5 unit #5 Generated App Applause #2 #2 #1 #2 1 team + 3 teams Free 1 unit + 3 unit #6 Comparisons
  • 39. Comparisons – Who uses which? • Native App: • Web App: • Hybrid App: • Interpreted App: • Cross-Compiled Game: • Generated App:
  • 40. Comparisons – Demo Statistics (Lower is better) 0 5000 10000 15000 20000 25000 30000 35000 Native App Server-side Web App Client-side Web App PhoneGap Titanium
  • 41. Native App Web App PhoneGap Titanium Native Access Full API None Depend on framework Depend on framework Performance Best Worst – Depend on browser Worst – Depend on browser Good Cost Depend on # of platforms 1 team + quick development 1 team + quick development 1 team but Coded UI? Doc & Support Full documentations Large communities Full documentation Largest communities Good documentation Open forum Have documentation Open forum GUI Design Acceptable Great & Many Great & Many 25$ for ForgedUI 20$ for VisualUI Test Has debugging tools Has profiling tools Great debugging tools Great profiling tools Great debugging tools Great profiling tools Has debugging tools Has profiling tools Short list
  • 42. Conclusion (Now what?) • Cross-platforms for developing mobile applications are not mature yet • Wise choices: • Web App for simple products (prototype?) • Native App for complex products • Hybrid App for existed Web App • Interpreted App is the market shortcut
  • 43. • Q: How about native libraries? A: Plugin Bridge for Cordova-based frameworks (OTT application demo) Titanium Modules for Titanium • Q: Can I trust them? A: Behind PhoneGap is Adobe Titanium is trusted by ebay, Mitsubishi Xamarin is managed by GNOME co-founders • ... Q & A
  • 44. • Quick comparison: http://www.markus- falk.com/mobile-frameworks-comparison-chart/ • Google, SlideShare are your friends • And I am, too :D More resources
  • 45. Thank you for listening! vuphuonghoang88@gmail.com