SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
X-Platform development
How to bite the bullet and
embrace the future
Who we are
Michael Asimakopoulos aka @masimplo
Lego master builder @Covve
Valadis Novakovits aka @el_nova
Code cleaner @Covve
What is a cross
platform app and why
do we care?
Cross platform perception
Promised Greatness
Faster development
Single codebase
Single team / skill reuse
Lower cost of development
Easier talent sourcing
Jump on the latest tech train
More established familiar workflow
People think it’s crap
Javascript
Not as mature as native
Slower performance
Not “platform” experience
Not platform experts
Why Covve ditched the native
We built a native iOS app first
Android version needed as much effort
Covve is a thick, offline first client
Not happy with the app being a “separate project”
Wanted the Covve experience instead of the native experience
What was Ionic offering
Most mature technology at the time
Close partnership with Angular’s Google Team
The web was a more familiar platform
Top notch design and functionality
Vast collection of ready made components
Betting on the web getting better
How an Ionic app works today
Ionic is a toolset as well as a framework
Angular is the core framework with some
Ionic sugar on top
Many things like build are abstracted by Ionic
Native plugins are written platform specific
The next iteration is much better
Can’t live without :: Typescript
Strongly typed superset of JS
Ideal for programmers with OOP background
Linter on steroids
Type safety - intellisense
Clean code - readability
Can’t live without :: RxJS
Library for reactive programming using Observables
Can’t live without :: Immutability
Shared state can be a hairy business
Immutable libraries performance is not bad
Use it where it makes sense
Typescript might beg to differ
Can’t live without :: Testing
Improves quality - speed
Angular is obsessed with it
Fix a bug - write the test
Battle test frameworks & practices
More than 2500 tests
Can’t live without :: Chrome dev tools
Develop in Chrome
Debug in Chrome
Profile in Chrome
Challenges :: Webview
Your app renders on a webview. Chrome for Android, Safari for iOS.
Performance is not great if you are not careful.
DOM has to be kept small
Biggest issue today is rendering huge lists
Challenges :: Volatility
Evolving technologies
Framework fatigue within the same framework
Things are changing on a monthly basis.
You don’t have to follow, but the rewards are too big to
ignore.
Hopefully an equilibrium will be reached within the year
Challenges :: Cordova
Cordova is a great concept, not always greatly executed
Smallest common denominator sometimes not good enough
Plugin incompatibilities
Abandoned plugins
Versioning nightmares
Plugin development is considered a dark art
Challenges :: State persistence in a reactive world
What happens if you kill the app in the middle of a huge process?
Challenges :: Performance
You have to think about performance, it is not a given always
Be wary of the DOM and memory leaks
Don’t forget your data structures and algorithms
Use the event loop to your advantage
Use web/service workers when they make sense
Use chrome dev tools
Challenges :: Migrating from native
Users have to have a seamless transition
Plan ahead if you can
Don’t keep things client side only
Bake in a WOW factor to make up for any migration steps
Let the flame wars begin
State of things today
Ionic is doing what we hoped it would do all along
Browsers are getting better constantly (even safari)
PWAs are becoming a thing
Performance is getting up to par with native
Volatility is reducing
Did we make the right choice?
Deploy one codebase to two platforms ✔
Performance close to native ✔
Have a solid well tested codebase ✔
Project up to par with rest of Covve ✔
Faster feature time to market ✔
Utilize existing team ✔
Sourcing new talent ✔
Is it for me though?
Thank youQ&A
Don’t forget to install Covve and let us know what you think
All images are property of their respective owners

Contenu connexe

Tendances

130511 stop wasting_your_time
130511 stop wasting_your_time130511 stop wasting_your_time
130511 stop wasting_your_time
Henning Blohm
 
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
Prasid Pathak
 

Tendances (20)

Intro to Front End Frameworks
 Intro to Front End Frameworks Intro to Front End Frameworks
Intro to Front End Frameworks
 
130511 stop wasting_your_time
130511 stop wasting_your_time130511 stop wasting_your_time
130511 stop wasting_your_time
 
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developersMaking sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developers
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
 
MSDN Live: Windows Presentation Foundations Line of Business Apps
MSDN Live: Windows Presentation Foundations Line of Business AppsMSDN Live: Windows Presentation Foundations Line of Business Apps
MSDN Live: Windows Presentation Foundations Line of Business Apps
 
Aspect oriented programming
Aspect oriented programmingAspect oriented programming
Aspect oriented programming
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
 
Where are the new technologies coming from?
Where are the new technologies coming from?Where are the new technologies coming from?
Where are the new technologies coming from?
 
Drulenium - Testing Made Easy
Drulenium - Testing Made EasyDrulenium - Testing Made Easy
Drulenium - Testing Made Easy
 
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
 
Sandeep Chauhan | Top java script frameworks in 2020
Sandeep Chauhan | Top java script frameworks in 2020Sandeep Chauhan | Top java script frameworks in 2020
Sandeep Chauhan | Top java script frameworks in 2020
 
Keynote- We're going wrong: Choosing the web's future. Peter Paul Koch
Keynote- We're going wrong: Choosing the web's future. Peter Paul KochKeynote- We're going wrong: Choosing the web's future. Peter Paul Koch
Keynote- We're going wrong: Choosing the web's future. Peter Paul Koch
 
A Happy Cloud Friendly Java Developer with OpenShift
A Happy Cloud Friendly Java Developer with OpenShiftA Happy Cloud Friendly Java Developer with OpenShift
A Happy Cloud Friendly Java Developer with OpenShift
 
Real World Application of Development
Real World Application of DevelopmentReal World Application of Development
Real World Application of Development
 
Picking a Web Framework
Picking a Web FrameworkPicking a Web Framework
Picking a Web Framework
 
With Great Power comes Great Responsibilities
With Great Power comes Great ResponsibilitiesWith Great Power comes Great Responsibilities
With Great Power comes Great Responsibilities
 
Measuring Web Performance (HighEdWeb FL Edition)
Measuring Web Performance (HighEdWeb FL Edition)Measuring Web Performance (HighEdWeb FL Edition)
Measuring Web Performance (HighEdWeb FL Edition)
 
Universal apps lightning talk
Universal apps lightning talk Universal apps lightning talk
Universal apps lightning talk
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher Education
 
Computer software specialists wikki verma
Computer software specialists   wikki vermaComputer software specialists   wikki verma
Computer software specialists wikki verma
 

Similaire à Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis Novakovits)

Similaire à Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis Novakovits) (20)

Node.js vs. java which one should you choose for backend development
Node.js vs. java  which one should you choose for backend development Node.js vs. java  which one should you choose for backend development
Node.js vs. java which one should you choose for backend development
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile App
 
What to choose for Mobile app development- React Native vs Native.
What to choose for Mobile app development- React Native vs Native.What to choose for Mobile app development- React Native vs Native.
What to choose for Mobile app development- React Native vs Native.
 
NodeJS and what is actually does
NodeJS and what is actually doesNodeJS and what is actually does
NodeJS and what is actually does
 
Better and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentBetter and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and Enjoyment
 
Node.js vs. java
Node.js vs. javaNode.js vs. java
Node.js vs. java
 
9 reasons why programmers should learn react native
9 reasons why programmers should learn react native9 reasons why programmers should learn react native
9 reasons why programmers should learn react native
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
Node.JS Vs PHP: Which Is The Top Server-Side Programming Language?
Node.JS Vs PHP: Which Is The Top Server-Side Programming Language?Node.JS Vs PHP: Which Is The Top Server-Side Programming Language?
Node.JS Vs PHP: Which Is The Top Server-Side Programming Language?
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
 
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJSMicro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
 
These are the top 7 alternatives to react native
These are the top 7 alternatives to react nativeThese are the top 7 alternatives to react native
These are the top 7 alternatives to react native
 
Cross-platform mobile that Works - Coobers
Cross-platform mobile that Works - CoobersCross-platform mobile that Works - Coobers
Cross-platform mobile that Works - Coobers
 
Which Cross-Platform App Development Framework Is Right for You
Which Cross-Platform App Development Framework Is Right for YouWhich Cross-Platform App Development Framework Is Right for You
Which Cross-Platform App Development Framework Is Right for You
 
NET vs Java Which Technology Is Better for Website Development
NET vs Java Which Technology Is Better for Website DevelopmentNET vs Java Which Technology Is Better for Website Development
NET vs Java Which Technology Is Better for Website Development
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & Zowe
 

Plus de GreeceJS

Plus de GreeceJS (19)

Introduction to react-query. A Redux alternative? (Nikos Kleidis, Front End D...
Introduction to react-query. A Redux alternative? (Nikos Kleidis, Front End D...Introduction to react-query. A Redux alternative? (Nikos Kleidis, Front End D...
Introduction to react-query. A Redux alternative? (Nikos Kleidis, Front End D...
 
Next.js and the pursuit of happiness (Dimitris Michalakos, Lead Developer at ...
Next.js and the pursuit of happiness (Dimitris Michalakos, Lead Developer at ...Next.js and the pursuit of happiness (Dimitris Michalakos, Lead Developer at ...
Next.js and the pursuit of happiness (Dimitris Michalakos, Lead Developer at ...
 
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
 
Under the hood of RxJS (Dimitris Livas) - GreeceJS #27
Under the hood of RxJS (Dimitris Livas) - GreeceJS #27Under the hood of RxJS (Dimitris Livas) - GreeceJS #27
Under the hood of RxJS (Dimitris Livas) - GreeceJS #27
 
All About GRAND Stack: GraphQL, React, Apollo, and Neo4j (Mark Needham) - Gre...
All About GRAND Stack: GraphQL, React, Apollo, and Neo4j (Mark Needham) - Gre...All About GRAND Stack: GraphQL, React, Apollo, and Neo4j (Mark Needham) - Gre...
All About GRAND Stack: GraphQL, React, Apollo, and Neo4j (Mark Needham) - Gre...
 
TypeScript: JavaScript that scales (Kostas Stergiou) - GreeceJS #22
TypeScript: JavaScript that scales (Kostas Stergiou) - GreeceJS #22TypeScript: JavaScript that scales (Kostas Stergiou) - GreeceJS #22
TypeScript: JavaScript that scales (Kostas Stergiou) - GreeceJS #22
 
Migrating from Monolithic to Serverless (Kostas Katsikas) - GreeceJS #22
Migrating from Monolithic to Serverless (Kostas Katsikas) - GreeceJS #22Migrating from Monolithic to Serverless (Kostas Katsikas) - GreeceJS #22
Migrating from Monolithic to Serverless (Kostas Katsikas) - GreeceJS #22
 
Taming forms with React
Taming forms with ReactTaming forms with React
Taming forms with React
 
The JavaScript toolset for development on Ethereum
The JavaScript toolset for development on EthereumThe JavaScript toolset for development on Ethereum
The JavaScript toolset for development on Ethereum
 
Modern web development and accessibility (Christina Papadimitriou, Nadia Mark...
Modern web development and accessibility (Christina Papadimitriou, Nadia Mark...Modern web development and accessibility (Christina Papadimitriou, Nadia Mark...
Modern web development and accessibility (Christina Papadimitriou, Nadia Mark...
 
Cycle.js - Functional reactive UI framework (Nikos Kalogridis)
Cycle.js - Functional reactive UI framework (Nikos Kalogridis)Cycle.js - Functional reactive UI framework (Nikos Kalogridis)
Cycle.js - Functional reactive UI framework (Nikos Kalogridis)
 
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
 
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
The rise of Polymer and Web Components (Kostas Karolemeas) - GreeceJS #17
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
 
The case for HTTP/2
The case for HTTP/2The case for HTTP/2
The case for HTTP/2
 
GraphQL vs REST
GraphQL vs RESTGraphQL vs REST
GraphQL vs REST
 
Ellak JavaScript Day
Ellak JavaScript DayEllak JavaScript Day
Ellak JavaScript Day
 
The history of asynchronous JavaScript
The history of asynchronous JavaScriptThe history of asynchronous JavaScript
The history of asynchronous JavaScript
 
The tools & technologies behind Resin.io
The tools & technologies behind Resin.ioThe tools & technologies behind Resin.io
The tools & technologies behind Resin.io
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
panagenda
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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 engineering - Lessons Learned (Michael Asimakopoulos, Valadis Novakovits)

  • 1. X-Platform development How to bite the bullet and embrace the future
  • 2. Who we are Michael Asimakopoulos aka @masimplo Lego master builder @Covve Valadis Novakovits aka @el_nova Code cleaner @Covve
  • 3. What is a cross platform app and why do we care?
  • 4.
  • 5. Cross platform perception Promised Greatness Faster development Single codebase Single team / skill reuse Lower cost of development Easier talent sourcing Jump on the latest tech train More established familiar workflow People think it’s crap Javascript Not as mature as native Slower performance Not “platform” experience Not platform experts
  • 6. Why Covve ditched the native We built a native iOS app first Android version needed as much effort Covve is a thick, offline first client Not happy with the app being a “separate project” Wanted the Covve experience instead of the native experience
  • 7. What was Ionic offering Most mature technology at the time Close partnership with Angular’s Google Team The web was a more familiar platform Top notch design and functionality Vast collection of ready made components Betting on the web getting better
  • 8. How an Ionic app works today Ionic is a toolset as well as a framework Angular is the core framework with some Ionic sugar on top Many things like build are abstracted by Ionic Native plugins are written platform specific The next iteration is much better
  • 9. Can’t live without :: Typescript Strongly typed superset of JS Ideal for programmers with OOP background Linter on steroids Type safety - intellisense Clean code - readability
  • 10. Can’t live without :: RxJS Library for reactive programming using Observables
  • 11. Can’t live without :: Immutability Shared state can be a hairy business Immutable libraries performance is not bad Use it where it makes sense Typescript might beg to differ
  • 12. Can’t live without :: Testing Improves quality - speed Angular is obsessed with it Fix a bug - write the test Battle test frameworks & practices More than 2500 tests
  • 13. Can’t live without :: Chrome dev tools Develop in Chrome Debug in Chrome Profile in Chrome
  • 14. Challenges :: Webview Your app renders on a webview. Chrome for Android, Safari for iOS. Performance is not great if you are not careful. DOM has to be kept small Biggest issue today is rendering huge lists
  • 15. Challenges :: Volatility Evolving technologies Framework fatigue within the same framework Things are changing on a monthly basis. You don’t have to follow, but the rewards are too big to ignore. Hopefully an equilibrium will be reached within the year
  • 16. Challenges :: Cordova Cordova is a great concept, not always greatly executed Smallest common denominator sometimes not good enough Plugin incompatibilities Abandoned plugins Versioning nightmares Plugin development is considered a dark art
  • 17. Challenges :: State persistence in a reactive world What happens if you kill the app in the middle of a huge process?
  • 18. Challenges :: Performance You have to think about performance, it is not a given always Be wary of the DOM and memory leaks Don’t forget your data structures and algorithms Use the event loop to your advantage Use web/service workers when they make sense Use chrome dev tools
  • 19. Challenges :: Migrating from native Users have to have a seamless transition Plan ahead if you can Don’t keep things client side only Bake in a WOW factor to make up for any migration steps
  • 20. Let the flame wars begin
  • 21. State of things today Ionic is doing what we hoped it would do all along Browsers are getting better constantly (even safari) PWAs are becoming a thing Performance is getting up to par with native Volatility is reducing
  • 22. Did we make the right choice? Deploy one codebase to two platforms ✔ Performance close to native ✔ Have a solid well tested codebase ✔ Project up to par with rest of Covve ✔ Faster feature time to market ✔ Utilize existing team ✔ Sourcing new talent ✔ Is it for me though?
  • 23. Thank youQ&A Don’t forget to install Covve and let us know what you think All images are property of their respective owners