SlideShare a Scribd company logo
INTRODUCTION TO
MOBILE CROSS-PLATFORM
SOLUTIONS
Jianbin LIN
©2017 Aptus Health | 2
• Main stream cross platform solutions
• Pros & Cons of each solution
• Should we consider adopting a cross-platform solution ?
AGENDA
What we will cover today
©2017 Aptus Health | 3
©2017 Aptus Health | 4
BIG PLAYERS
©2017 Aptus Health | 5
Trends
©2017 Aptus Health | 6
Listen to the
industry
©2017 Aptus Health | 7
Listen to the
industry
©2017 Aptus Health | 8
Listen to the
industry
©2017 Aptus Health | 9
UX MATTERS
Native UI
widgets
Simulated UI
widgets
©2017 Aptus Health | 10
• Sounds good with the word `native`
• Look & feel is the same as the native app
• Easy to respect platform design guidelines
Native UI widgets
©2017 Aptus Health | 11
• Need bridging system to connect with native widgets (can
cause strange bugs)
• Performance limited by native component or the bridging
• Have the same bugs as the native widget
Native UI widgets
©2017 Aptus Health | 12
Simulated Material design widgets
©2017 Aptus Health | 13
Simulated Material design widgets
©2017 Aptus Health | 14
Simulated Material design widgets
©2017 Aptus Health | 15
Simulated iOS flat design widgets
©2017 Aptus Health | 16
• No dependency on the native UI widgets
(no bugs or performance issue cause by
bridging)
• No bugs from native widget
• Easy to unify the UX of different platforms
Simulated widgets
©2017 Aptus Health | 17
• Have bugs caused by immaturity of simulated widget
• Cannot make use of new native widget immediately
Simulated widgets
©2017 Aptus Health | 18
• Compiled into ARM lib
Ahead-Of-Time(AOT)
• Close to native
Performance
• Acceptable
• Performance bottlenecks in
animations are caused by heavy
workloads on JavaScript threads
(lagging animations)
• Need some seconds to initialize
©2017 Aptus Health | 19
DEVELOPER EXPERIENCE MATTERS
©2017 Aptus Health | 20
Pros
• Fantastic Hot-reload
• Compose UI with codes
• Easier to reuse UI
components
Cons:
• React Native has problems in
inconsistence of Javascript
Core
Development speed
Pros:
• Have GUIs to compose UI
Cons:
• Compilation takes 10s – 60s
• Maintenance of two code bases
©2017 Aptus Health | 21
Pros:
• Both C# & Dart are strong
typed language.
• Dart is 90% similar to Java.
Learning Curve
Pros:
• Javascript is easiest to start
mobile development.
• Loved by Web developer &
students.
Cons:
• iOS/Android developers generally
don’t like Javascript.
Cons:
• Composing UI with codes
• Need around 1 month to gain the same level skills as a
good native developer.
©2017 Aptus Health | 22
• Double the size of native app
• Extremely hard to find Xamarin developer
Project maintenance overheads
©2017 Aptus Health | 23
Pros:
• Easier to find react native developer
Cons:
• Need developer to set up tech stack (Javascript, Webpack,
TypeScript, Babel, etc.), very complex for developers without a Web
background
• Adding a weight(7M ~10M) to the app
Project maintenance overheads
©2017 Aptus Health | 24
Pros:
• Excellent IDE(Android studio)
• Handy project management tools (Flutter doctor)
• Come with unit/integration testing tools
Cons:
• Adding a weight(7M ~10M) to the app
Project maintenance overheads
©2017 Aptus Health | 25
Maturity
- Since end of 2016
- 2 years
- Since May 2017
- 1.5 years
©2017 Aptus Health | 26
Listen to the
industry
Sunsetting React Native in Airbnb
©2017 Aptus Health | 27
Listen to the
industry
Sunsetting React Native in Airbnb
Despite of all its benefits, there are drawbacks
that cannot be overcome…
• Performance limits (initialization delay,
frame-dropping, etc. )
• Too many bridging codes needed
• Not moving faster compared to native dev
©2017 Aptus Health | 28
Probably because of
• Using simulated widget enables less dependencies
on bridging code
• Making no use of Javascript Core makes
performance very close to native code
is doing better ?
©2017 Aptus Health | 29
• Developer gains the same or better development speed
after 1st month.
• 50% less code compared to native Swift
• No notable performance issue
Success story of migration from
native iOS project to Flutter
Read more: Porting a 75,000 line native iOS app to Flutter
©2017 Aptus Health | 30
Risks
©2017 Aptus Health | 31
RISKS
Is App going to be accepted by App Store ?
• Yes, many Flutter apps are already in the
App Store.
• For a very long time, App Store accepts
Unity and WebView-based apps without
problem.
©2017 Aptus Health | 32
Probably because
• Google has an untold plan to replace Android & Chrome OS with a new
cross-platform OS called Fuchsia
• To support this new OS, all Flutter apps are available on Fuchsia
can be supported continuously by Google ?
©2017 Aptus Health | 33
Should we adopt cross-platform
development ?
©2017 Aptus Health | 34
• Complexity on bridging with the native code
• Overhead because of immaturity of cross-
platform
©2017 Aptus Health | 35
• 9 5 – 1 0 0 % s h a r e d c o d e
• Wr i t i n g c o d e o n c e i n s t e a d o f t w o
• U n i f i e d U I d e s i g n f o r A n d r o i d & i O S
• Fa s t d e v e l o p m e n t s p e e d b e c a u s e o f h o t - r e l a o d
• W h o l e t e a m h a v e t h e s a m e s k i l l s e t
©2017 Aptus Health | 36
Cross-platform dev may be the future.

More Related Content

What's hot (20)

PPTX
Flutter
Shyju Madathil
 
PDF
Getting started with flutter
rihannakedy
 
PDF
flutter.school #HelloWorld
Frederik Schweiger
 
PDF
Build responsive applications with google flutter
Ahmed Abu Eldahab
 
PDF
Introduction to flutter
Wan Muzaffar Wan Hashim
 
PPTX
Introduction to Flutter
Apoorv Pandey
 
PDF
Top five reasons you should prefer flutter app development
Solution Analysts
 
PPTX
Flutter session 01
DSC IEM
 
PDF
React native vs. ionic – which one is better and why
Moon Technolabs Pvt. Ltd.
 
PDF
Google IO 2015
YenTing Chen
 
PDF
Google IO 2015 Highlights
Gerard
 
PDF
Flutter vs React Native | Edureka
Edureka!
 
PDF
Google I/O 2015 Android & Tech Announcements
Paul Blundell
 
PPTX
Google I/O 2016 Key notes
mayur akabari
 
PPTX
Flutter vs React Native Development in 2020
Devathon
 
PPTX
Cross Platform Application Development Using Flutter
Abhishek Kumar Gupta
 
PDF
Les ZAPeroTech #4 : découverte de Flutter
DocDoku
 
PDF
BENEFIT OF FLUTTER APP DEVELOPMENT - INFOGRAPHICS
brtechnosoft2018
 
PPTX
Mobile Enablement And Intelligence
Rashmika Nawaratne
 
PPTX
Complete guide to flutter app development
Concetto Labs
 
Getting started with flutter
rihannakedy
 
flutter.school #HelloWorld
Frederik Schweiger
 
Build responsive applications with google flutter
Ahmed Abu Eldahab
 
Introduction to flutter
Wan Muzaffar Wan Hashim
 
Introduction to Flutter
Apoorv Pandey
 
Top five reasons you should prefer flutter app development
Solution Analysts
 
Flutter session 01
DSC IEM
 
React native vs. ionic – which one is better and why
Moon Technolabs Pvt. Ltd.
 
Google IO 2015
YenTing Chen
 
Google IO 2015 Highlights
Gerard
 
Flutter vs React Native | Edureka
Edureka!
 
Google I/O 2015 Android & Tech Announcements
Paul Blundell
 
Google I/O 2016 Key notes
mayur akabari
 
Flutter vs React Native Development in 2020
Devathon
 
Cross Platform Application Development Using Flutter
Abhishek Kumar Gupta
 
Les ZAPeroTech #4 : découverte de Flutter
DocDoku
 
BENEFIT OF FLUTTER APP DEVELOPMENT - INFOGRAPHICS
brtechnosoft2018
 
Mobile Enablement And Intelligence
Rashmika Nawaratne
 
Complete guide to flutter app development
Concetto Labs
 

Similar to Introduction to mobile cross platform solutions(Xamarin vs React Native vs Flutter) (20)

PDF
Lessons Learned From Cross-Platform at Airbnb + MvRx
Gabriel Peal
 
PPTX
Flutter vs react native – from developer point
BOSC Tech Labs
 
DOCX
3701ICT Mobile Application Development.docx
sdfghj21
 
PDF
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
dhavalvaghelanectarb
 
PDF
React Native vs. Flutter for Healthcare App Development
LarisaAlbanians
 
PDF
Choose between flutter and react native
Smith Daniel
 
PDF
Flutter vs React Native
SofiaCarter4
 
PPTX
Flutter vs. React Native_ Which One to Choose in 2024_.pptx
QuickwayInfoSystems3
 
PPTX
Time to learn flutter or stick to native development
Concetto Labs
 
PPTX
Mobile Application Development class 001
Dr. Mazin Mohamed alkathiri
 
PPTX
Pros and Cons of Flutter Development – Why Use It in 2024 - Siddhi Infosoft.pptx
seo03siddhiinfosoft
 
PDF
Where Do Cross-Platform App Frameworks Stand in 2020?
Marianne Harness
 
PDF
Flutter vs React native vs Native performance.pdf
JPLoft Solutions
 
PPT
Flutter-vs-React-Native_-Which-is-Best-for-Your-Next-Project.ppt
Quickway Infosystems
 
PDF
Flutter vs React Native_ Which is Best for Your Next Project.pdf
Quickway Infosystems
 
PDF
Performance, UI, and More: Flutter vs React Native Compared
Tien Nguyen
 
PDF
Pros and Cons of Flutter App Development_ A Comprehensive Analysis.pdf
Nevina Infotech
 
PPTX
Google flutter
OnGraph Technologies
 
PPTX
Pros & Cons of exiting Cross Platform Frameworks
Phani Kumar Gullapalli
 
PDF
Top 10 Cross-Platform Frameworks of 2025.pdf
Cubix Global
 
Lessons Learned From Cross-Platform at Airbnb + MvRx
Gabriel Peal
 
Flutter vs react native – from developer point
BOSC Tech Labs
 
3701ICT Mobile Application Development.docx
sdfghj21
 
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
dhavalvaghelanectarb
 
React Native vs. Flutter for Healthcare App Development
LarisaAlbanians
 
Choose between flutter and react native
Smith Daniel
 
Flutter vs React Native
SofiaCarter4
 
Flutter vs. React Native_ Which One to Choose in 2024_.pptx
QuickwayInfoSystems3
 
Time to learn flutter or stick to native development
Concetto Labs
 
Mobile Application Development class 001
Dr. Mazin Mohamed alkathiri
 
Pros and Cons of Flutter Development – Why Use It in 2024 - Siddhi Infosoft.pptx
seo03siddhiinfosoft
 
Where Do Cross-Platform App Frameworks Stand in 2020?
Marianne Harness
 
Flutter vs React native vs Native performance.pdf
JPLoft Solutions
 
Flutter-vs-React-Native_-Which-is-Best-for-Your-Next-Project.ppt
Quickway Infosystems
 
Flutter vs React Native_ Which is Best for Your Next Project.pdf
Quickway Infosystems
 
Performance, UI, and More: Flutter vs React Native Compared
Tien Nguyen
 
Pros and Cons of Flutter App Development_ A Comprehensive Analysis.pdf
Nevina Infotech
 
Google flutter
OnGraph Technologies
 
Pros & Cons of exiting Cross Platform Frameworks
Phani Kumar Gullapalli
 
Top 10 Cross-Platform Frameworks of 2025.pdf
Cubix Global
 
Ad

Recently uploaded (20)

DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PPTX
UNIT DAA PPT cover all topics 2021 regulation
archu26
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PPTX
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
PPTX
Green Building & Energy Conservation ppt
Sagar Sarangi
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPTX
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
PDF
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
PDF
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
UNIT DAA PPT cover all topics 2021 regulation
archu26
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
Green Building & Energy Conservation ppt
Sagar Sarangi
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
Design Thinking basics for Engineers.pdf
CMR University
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
Thermal runway and thermal stability.pptx
godow93766
 
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
Ad

Introduction to mobile cross platform solutions(Xamarin vs React Native vs Flutter)

  • 2. ©2017 Aptus Health | 2 • Main stream cross platform solutions • Pros & Cons of each solution • Should we consider adopting a cross-platform solution ? AGENDA What we will cover today
  • 4. ©2017 Aptus Health | 4 BIG PLAYERS
  • 5. ©2017 Aptus Health | 5 Trends
  • 6. ©2017 Aptus Health | 6 Listen to the industry
  • 7. ©2017 Aptus Health | 7 Listen to the industry
  • 8. ©2017 Aptus Health | 8 Listen to the industry
  • 9. ©2017 Aptus Health | 9 UX MATTERS Native UI widgets Simulated UI widgets
  • 10. ©2017 Aptus Health | 10 • Sounds good with the word `native` • Look & feel is the same as the native app • Easy to respect platform design guidelines Native UI widgets
  • 11. ©2017 Aptus Health | 11 • Need bridging system to connect with native widgets (can cause strange bugs) • Performance limited by native component or the bridging • Have the same bugs as the native widget Native UI widgets
  • 12. ©2017 Aptus Health | 12 Simulated Material design widgets
  • 13. ©2017 Aptus Health | 13 Simulated Material design widgets
  • 14. ©2017 Aptus Health | 14 Simulated Material design widgets
  • 15. ©2017 Aptus Health | 15 Simulated iOS flat design widgets
  • 16. ©2017 Aptus Health | 16 • No dependency on the native UI widgets (no bugs or performance issue cause by bridging) • No bugs from native widget • Easy to unify the UX of different platforms Simulated widgets
  • 17. ©2017 Aptus Health | 17 • Have bugs caused by immaturity of simulated widget • Cannot make use of new native widget immediately Simulated widgets
  • 18. ©2017 Aptus Health | 18 • Compiled into ARM lib Ahead-Of-Time(AOT) • Close to native Performance • Acceptable • Performance bottlenecks in animations are caused by heavy workloads on JavaScript threads (lagging animations) • Need some seconds to initialize
  • 19. ©2017 Aptus Health | 19 DEVELOPER EXPERIENCE MATTERS
  • 20. ©2017 Aptus Health | 20 Pros • Fantastic Hot-reload • Compose UI with codes • Easier to reuse UI components Cons: • React Native has problems in inconsistence of Javascript Core Development speed Pros: • Have GUIs to compose UI Cons: • Compilation takes 10s – 60s • Maintenance of two code bases
  • 21. ©2017 Aptus Health | 21 Pros: • Both C# & Dart are strong typed language. • Dart is 90% similar to Java. Learning Curve Pros: • Javascript is easiest to start mobile development. • Loved by Web developer & students. Cons: • iOS/Android developers generally don’t like Javascript. Cons: • Composing UI with codes • Need around 1 month to gain the same level skills as a good native developer.
  • 22. ©2017 Aptus Health | 22 • Double the size of native app • Extremely hard to find Xamarin developer Project maintenance overheads
  • 23. ©2017 Aptus Health | 23 Pros: • Easier to find react native developer Cons: • Need developer to set up tech stack (Javascript, Webpack, TypeScript, Babel, etc.), very complex for developers without a Web background • Adding a weight(7M ~10M) to the app Project maintenance overheads
  • 24. ©2017 Aptus Health | 24 Pros: • Excellent IDE(Android studio) • Handy project management tools (Flutter doctor) • Come with unit/integration testing tools Cons: • Adding a weight(7M ~10M) to the app Project maintenance overheads
  • 25. ©2017 Aptus Health | 25 Maturity - Since end of 2016 - 2 years - Since May 2017 - 1.5 years
  • 26. ©2017 Aptus Health | 26 Listen to the industry Sunsetting React Native in Airbnb
  • 27. ©2017 Aptus Health | 27 Listen to the industry Sunsetting React Native in Airbnb Despite of all its benefits, there are drawbacks that cannot be overcome… • Performance limits (initialization delay, frame-dropping, etc. ) • Too many bridging codes needed • Not moving faster compared to native dev
  • 28. ©2017 Aptus Health | 28 Probably because of • Using simulated widget enables less dependencies on bridging code • Making no use of Javascript Core makes performance very close to native code is doing better ?
  • 29. ©2017 Aptus Health | 29 • Developer gains the same or better development speed after 1st month. • 50% less code compared to native Swift • No notable performance issue Success story of migration from native iOS project to Flutter Read more: Porting a 75,000 line native iOS app to Flutter
  • 30. ©2017 Aptus Health | 30 Risks
  • 31. ©2017 Aptus Health | 31 RISKS Is App going to be accepted by App Store ? • Yes, many Flutter apps are already in the App Store. • For a very long time, App Store accepts Unity and WebView-based apps without problem.
  • 32. ©2017 Aptus Health | 32 Probably because • Google has an untold plan to replace Android & Chrome OS with a new cross-platform OS called Fuchsia • To support this new OS, all Flutter apps are available on Fuchsia can be supported continuously by Google ?
  • 33. ©2017 Aptus Health | 33 Should we adopt cross-platform development ?
  • 34. ©2017 Aptus Health | 34 • Complexity on bridging with the native code • Overhead because of immaturity of cross- platform
  • 35. ©2017 Aptus Health | 35 • 9 5 – 1 0 0 % s h a r e d c o d e • Wr i t i n g c o d e o n c e i n s t e a d o f t w o • U n i f i e d U I d e s i g n f o r A n d r o i d & i O S • Fa s t d e v e l o p m e n t s p e e d b e c a u s e o f h o t - r e l a o d • W h o l e t e a m h a v e t h e s a m e s k i l l s e t
  • 36. ©2017 Aptus Health | 36 Cross-platform dev may be the future.