Slide 1

Slide 1 text

Cross-Platform app development Michał Mikołajewski Lead Software Engineer at GlobalLogic

Slide 2

Slide 2 text

“Given the exponential increase in the cost of per platform development and the need for rapid time to market, cross-platform development is the way to go for the enterprise” - Gautam Agrawal, Sencha senior director of product management

Slide 3

Slide 3 text

Changing nature of technology Both native and cross-platform app development technologies are in constant state of evolution. App creators must revisit their work from time to time. Native app development focuses on generating a competent design that stays close to the target platform–Android, iOS, etc. Cross-platform frameworks puts focus on reaching as many users as possible by covering a wide number of end devices during the programming and creation process. Progressive Web Application, web apps can do the job of a mobile app.

Slide 4

Slide 4 text

Current state Source: statcounter

Slide 5

Slide 5 text

Top Cross-Platform App Frameworks ● React-Native - JavaScript ● Flutter - Dart ● Adobe PhoneGap (Apache Cordova) - JavaScript ● Xamarin - .Net ● Sencha - JavaScript ● Unity3D - .Net

Slide 6

Slide 6 text

Cross-platform framework trends Source: Google Trends

Slide 7

Slide 7 text

Cross-Platform approach

Slide 8

Slide 8 text

Cross-Platform approach allows to build apps for different platforms ● Single codebase ● Limited cost ● Device Access ● Performance ● UI Consistency ● MVP (Minimum Viable Product)

Slide 9

Slide 9 text

Code Reusability Ease of code reusability is one of the biggest upsides that cross-platform frameworks offer. A single code can be used for multiple platforms. But!

Slide 10

Slide 10 text

Cost-Effectiveness Since the code is written once and used for multiple platforms, it offers a relatively lower cost of development. But!

Slide 11

Slide 11 text

Performance - that depends Cross-platform frameworks offer decent performance. React Native or Flutter in some cases are just slightly slower then Native Android app. Applications that are using native features and APIs provided by the platform can be coded much more easily using native languages.

Slide 12

Slide 12 text

Consistency in UI Components Cross-platform frameworks offer a extent of consistency in UI components. Uniform look and feel. But!

Slide 13

Slide 13 text

Price & time An MVP helps check the viability of the product before launch and make adjustments and enhancements as required. For start-ups especially achieving success is essential, which means deep research for their core idea and the key solution is required. ● Reduce development costs ● Evaluate project/idea ● Collect feedback from intended users ● Engage potential investors

Slide 14

Slide 14 text

Cross-platform advantages ● Good performance even in case of complex UI ● Does not require extensive lines of code ● Single codebase for cross-platform development ● Short development cycle and simplified app development process ● Extensive libraries for Firebase for building a solid backend for an MVP ● Excellent developer community for easier big fixes and reusable components ● Does not require heavy licensing costs for MVP development

Slide 15

Slide 15 text

Compare simple API use in RN and Java Many common problems can be resolved faster and more sufficient using cross-platform available solutions and open source libs. Same functionality can be achieved with less effort.

Slide 16

Slide 16 text

Single code base for Android and iOS

Slide 17

Slide 17 text

What can go wrong?

Slide 18

Slide 18 text

Cross-platform app development is not all fun and games ● Possible lower performance ● Harder code design ● Inferior UX and UI ● Lower interest of mobile developers ● Frequent changes to framework ● Long wait time for new features and components update

Slide 19

Slide 19 text

References ● Google Trends ● Statcounter ● Netguru ● Merixstudio ● Hackernoon

Slide 20

Slide 20 text

Thank You! Michał Mikołajewski Lead Software Engineer at GlobalLogic