Choosing the wrong mobile tech stack sets you up for a world of pain. But how do you select the right one from a plethora of current options?
As an iOS developer I am convinced that a carefully designed native app provides the best user experience. So why would we choose Ionic2/Angular2 on Cordova (a bleeding edge Hybrid JavaScript framework) for our latest mobile App? In this short talk I will share our thinking and experiences on the current landscape of mobile stack options.
I will introduce the contenders: Native (iOS and Android) vs Semi-Native (Xamarin and React Native) vs Hybrid (Ionic2/Angular2 on Cordova) vs Web. We will then go through some of the prominent tradeoffs between the different options: cost, reuse, single language, speed and user experience, device support, learning curve.
This should give you some (opinionated) guidelines to choosing the right mobile stack for your particular App.
9. @jacdevos jacques@nreality.com
Evolution
of
Swift
(iOS)
• June
2013
– Swift
programming
language
does
not
exist
• June
2014
– Swift
1
is
announced
• June
2015
– Swift
2
is
announced
(BREAKING
CHANGES)
• June
2016
– Swift
3
is
announced
(BREAKING
CHANGES)
• REALLY?
18. @jacdevos jacques@nreality.com
Contenders
for
the
mobile
stack
Native
SDK
rendering:
1. Pure
Native:
iOS
and
Android
2. Semi-‐native:
Xamarin
3. Semi-‐native:
React
Native
Browser
HTML
rendering:
1. Hybrid:
Ionic2
or
Cordova
2. Mobile
website:
responsive
design
24. @jacdevos jacques@nreality.com
Consider
the
real
QoS factors
first
• User
experience
• Maintenance
costs
including:
– Learnability:
ease
of
upskilling
– Reuse:
write
once,
run
anywhere
• The
ability
to
deliver
quickly
• Other
subtle
business
needs
48. @jacdevos jacques@nreality.com
Speed
of
development
Pure
Native
iOS
and
Android
Semi-‐native
Xamarin
Semi-‐native
React
Native
Hybrid
Ionic2/Cordova
Mobi
website
Speed
of
deploymentor
patch
Ease
of
testing
cross-‐platforms
Require
multiple
version
support
51. @jacdevos jacques@nreality.com
Some
options
are
not
linear
• Hybrid
native
(Turbolinks)
• Cross-‐native
(Xamarin Forms)
• Progressive
Web
Apps
– Service
Worker
• NativeScript
54. @jacdevos jacques@nreality.com
When
choosing
a
tech
stack
• Be
aware
of
your
biases
and
bigotry
• Understand
your
business
needs
well
• Understand
the
subtleties
of
the
trade-‐offs