2. Executive Summary
GKIM has been developing apps for many customers over the
years. We have been presented with many different challenges
to build high quality apps, at low cost and in double quick time.
Rising to these challenges has given us much experience in a
wide range of mobile app development technologies and
methodologies, including native apps, games and cross platform
tools.
The choice of development approach depends primarily on the
cost v quality trade off. GKIM recommends ionic for speed and
ReactNative for quality but ask that publishers do not discount
the good option of parallel native development. It might not
cost much more whilst quality is generally unsurpassed.
3. App Anatomy
A relatively small percentage
of a well designed mobile
application is actually OS
specific.
The extra cost overhead for
each extra native solution
should never be be more than
50% and could be a lot less.
Don’t lose sight of this bigger
picture. Efficient architecture
is as important as the right
cross platform choice.
Common
Logic
library
Common
Assets
Parallel
3rd party
SDK’s
Data store
API CMS
Web
services
Control Panel
OS Specific GUI code
OS Specific Assets
Write once
Per OS
4. The Native Option
Quality
Native should always give best quality, assuming proper methodologies
are followed and design is implemented in parallel.
If the app is mission critical then there can be arguments to insist on
native.
Time
We would argue that, native can also always be the fastest option,
assuming the availability of engineers to take a parallel development
approach.
An exception to this would be where an HTML5 solution preexists that
can be converted to a web app using tools.
Cost
Cost can be the only compelling argument for a cross platform solution.
It will be be higher but not extortionately so, as, cleverly designed, many
assets and capabilities will be OS agnostic.
• Server side CMS, assets or logic behind an API
• Commonly used data or art assets
• App specific java script code libraries powering thin clients with
identical logic
5. Native Apps
Thanh Nien sought the quality of native and won a
gold award because of it.
Dextr, the world’s fastest replacement keyboard,
required deep integration with native Android
technologies.
Animation quality for our Nestle app would have
been very hard to achieve without native.
Social networking apps which use lots of 3rd party
SDK’s which may not be available for all cross
platform tools should be native.
6. Games
Cocos is good for
2D games such as
these four we built
for Rakuten & Viber.
Unity let us extend
its 3D graphics
technologies with
patentable 3D
painting capability
for this ground
breaking game for
DripDrops.
Games, especially
3D games,
require graphics
capabilities not
generally
supported by
Unity and Cocos
offer games
graphics support.
Unity generally
surpasses Cocos
now though has
an expensive
license.
7. Cross Platform Options
1. OS GUI Replacement Libraries
(compiled)
Tool Language Comment
ReactNative,
backed by
Facebook
JS / Markup Latest and best
Native script. ioS stable.
Android catching up.
Telerik Native
Script
JS / Markup
/ CSS
More flexible, generally
compatible with Angular
JE
Xamarin C# Cannot reuse js & css.
Requires new language
2. Native webkit based GUI (runtime)
Tool Language Comment
ionic HTML5 +
Angular JS
Latest and best w
angular design patterns
ReactJS HTML5 + JS Best rendering
performance
Sencha HTML5 + JS Requires learning
bespoke language
Titanium HTML5 + JS Requires learning
bespoke language
• Near native quality
• Can co-exist within
native applications
• Lower quality
• Requires PhoneGap
to access native OS
Two main classes of Cross Platform development methodologies
exist. We discuss examples and pick our favorites.
8. Cross Platform Development Stories
Non Optimal
Successes
ACRA, a large organization
with mission critical apps
should always be looking to
native. It’s quality suffered
due to their choice of Sencha.
TeleConsult was mistakenly
(by another developer)
started in Xamarin, costing
extra effort to deliver quality.
Resounding
Successes
ASN’s marketplace
app, a utility, not
requiring native
quality, is perfect for
ionic.
H&M’s HTML5 app
was a major
achievement to get it
working on all
browsers.
9. Summary
Games Platforms Native Apps OS GUI Replacement
Library
Web Apps
Cost Specialist engineers
and Unity license fee
required
Parallel engineers
required, but not as
expensive as only
covers part of build
Learning curve
applies before
economies of cross
platform
development can be
realized
ionic provides lowest
cost option for web
experienced
engineers
Quality Unity can do things
even native apps
cannot achieve
Generally the best Almost as good as
native
Will have flaws in
rendering, esp
animations and large
graphics.
Schedule Games written for
these platforms can
be ported to mobile
very quickly
Effective parallel
development can still
be fastest
Learning curve
moderate
Total dev time may
be reduced.
Learning curve
moderate
Total dev time may
be reduced.
Best in class Unity iOS & Android ReactNative Ionic
Best for Games Mission critical
quality, money no
object and parallel
native developers are
available
Apps with high
quality graphics
expectations and
where learning curve
is justified.
Utility apps where
render quality
expectations are not
to demanding.
10. Cost v Quality trade off
Cost
Quality
Best in class
platforms
compared
Cost reduces
over time with
learning curve