Mobile Cross Platform Technologies Decision Support 4 Sept 2016
Mobile Cross Platform TechnologiesDecision Support
4 Sept 2016
Executive SummaryGKIM 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.
App AnatomyA 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
The Native OptionQualityNative 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.
TimeWe 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.
CostCost 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
Native AppsThanh 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.
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.
Cross Platform Options
1. OS GUI Replacement Libraries (compiled)Tool Language Comment
ReactNative, backed by Facebook
JS / Markup Latest and bestNative 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.
Cross Platform Development StoriesNon 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 SuccessesASN’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.
SummaryGames Platforms Native Apps OS GUI Replacement
LibraryWeb 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 moderateTotal dev time may be reduced.
Learning curve moderateTotal 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.
Cost v Quality trade off
Cost
Quality
Best in class platforms compared
Cost reduces over time with learning curve