Today’s Options for Cross Platform Mobile Development
Greg James – Senior Consultant - @GregAlexJames
Page
Agenda› Why go Cross Platform?
› Technology Selection Strategy
› The Current Contenders:
› Cordova
› React Native
› Xamarin
› Live Demonstrations
/ Copyright ©2014 by Readify Limited2
Page
Mobile History› iPhone first released June 29, 2007
› Android released September 23, 2008
› Since then:
› In 2013, 61% of Americans own a smartphone[1]
› New form factors (Tablets)
› New OS’s (Windows Phone, Chromebook etc)
/ Copyright ©2014 by Readify Limited3
[1] Pew Research Center. June 5, 2013
Page
Why not Always Native Apps?› Pros
› Best performance
› Cutting edge device interaction
› Cons
› Multiple skillsets required
› Much higher cost to develop and maintain
apps across multiple platforms and form
factors/ Copyright ©2014 by Readify Limited4
Page
Rich vs Reach› Can change per app/audience!
› It’s not black and white – it’s a scale!
› It will change with context!
/ Copyright ©2014 by Readify Limited7 Rich Reach
Cost
Page
Factors affecting cross-platform approach› Business goals
› Rich vs reach
› Richness of UI
› Richness of device integration
› Targeted devices – make, model, OS, versions
› Team skillsets
› Performance
/ Copyright ©2014 by Readify Limited8
Page
Xamarin› MonoTouch (now Xamarin iOS) was first
released 14th September, 2009
› Compiled into ARM assembly code (iOS), or
native assembly (Android)
› Philosophy:
› Write UI specific to device, Share Business
Logic
/ Copyright ©2014 by Readify Limited11
Page
Xamarin› Pros
› Shared code across platforms and potentially
with backend
› Potential existing skillset alignment
› Documentation similar for Xamarin / Native
› Full device capabilities
› Native performance
› Language features
/ Copyright ©2014 by Readify Limited12
Page
Xamarin› Cons
› Licensing costs
› Platform specific UI can still be a lot of effort
› Platform lock-in
› Ramp up
/ Copyright ©2014 by Readify Limited13
Page
React Native (Javascript Engine)› First announced in February, 2015. Android
Support added September 14, 2015.
› Javascript is run on a separate thread to the UI,
and used to create state in a virtual DOM
› Philosophy: “Learn Once – Write Everywhere”
/ Copyright ©2014 by Readify Limited14
Page
React Native› Pros
› Creating Native UI Controls using javascript
› Very fast development feedback cycle on the
device!
› Able to debug UI easier than expected
› Easy to pick up
/ Copyright ©2014 by Readify Limited15
Page
React Native› Cons
› The technology and community is relatively
not mature
› Number of controls are not available
› Difficult to tell if libraries support Android
› Confusion around the best way to do
navigation
› Multiple small qwirks
/ Copyright ©2014 by Readify Limited16
Page
Cordova (Hybrid)› Cordova (Formerly PhoneGap) created in 2009
› Wrapper application that contains a browser.
Most code developed in HTML5 and Javascript
› Wrapper provides native functionality
› Philosophy: “Write Once, Run Everywhere”
/ Copyright ©2014 by Readify Limited17
Page
Cordova (Hybrid)› Pros
› Standard web development skillsets
› Can utilise most native capabilities
› Lots of choice!
› Cons
› Browser rendering differences
› Uses web controls instead of Native controls
› Good performance takes effort/ Copyright ©2014 by Readify Limited18
Page
Ionic Framework› Built on top of Cordova
› Provides large set of UI Controls combined with
Angular
› Makes the UI look like a mobile UI instead of a
website!
› Ionic Package, Ionic Creator
/ Copyright ©2014 by Readify Limited19