To go native, or not to go native, that is the question devs face


How many developers are building native apps? What other languages do they use if they don’t go native? Our survey data has the answers.

info3-660x464

Adopting the native language and frameworks for a platform represents a significant learning investment and also makes it more difficult to port apps to other platforms. The trade-offs are the ability to exploit all of the functionality and performance of the platform and the capability to deliver an experience that matches device users expectations precisely. On the other hand, by adopting a cross- platform approach developers can save significant development costs when targeting multiple platforms, making it easier to adopt each new platform. As such, we can use the fraction of developers using the native language on each platform as a measure of developer investment and loyalty.

Android leads iOS in priority and loyalty

Android is pulling significantly ahead of iOS as a primary platform globally (42% versus 32% of developers). This is despite the fact that Android-first development is not very common amongst the high- profile startups that attract all of the media attention in the West. Then iOS also has a lower percentage of developers building apps in its native Objective-C (53%) than Android developers building native Java apps (58%). If we combine these measures we have 24% of mobile developers primarily creating native Android apps against just 17% creating native iOS apps; that’s a significant advantage to Google’s ecosystem in terms of fully invested developers. The paradox here is that Apple and Google both seem to be making strategic moves to close the gap. Apple recognised a weakness with the relatively small population of Objective-C developers prior to the launch of the iPhone and initially banned all third-party runtimes and cross-platform tools, forcing developers to learn Objective-C. Having relaxed those rules to keep up on application volume they’ve now created Swift, which they hope will lower the perceived barriers to entry for native development. Google’s strategy on the other hand would really like everyone using web technology so they can more effectively track users for ad targeting purposes. Their latest design and technology moves blur the lines between native apps and the web. They are indexing apps like websites and allowing searches to deep link. The new Material design lets developers build UIs with a completely native feel using native or web technologies.

Microsoft developers the most loyal?

Windows Phone developers have the highest levels of investment in their platform with 63% developing apps in the native language, C#. There are likely multiple reasons for this; first it is hard to develop most types of app cross-platform and target Windows Phone because the UI is very different from the other platforms; second, cross- platform games built using Unity (the most popular tool) are also likely to be using C#; third, Microsoft’s changes to what can can’t be used to develop for the platform between WP7 and WP8 make it very difficult to target both versions (and thus the entire installed base) in many other ways.
Microsoft has far greater developer mindshare in its tooling than its platform. There are almost as many developers using C# with iOS or Android as their primary platform via Unity and Xamarin as there are building native apps for Windows Phone. In the case of Xamarin, developers have to learn the native UI framework on their target platform as the tool provides a thin wrapper around the APIs. This still involves significant investment in the platform, whilst sticking with a preferred language. There are about twice as many C# developers primarily targeting iOS versus Android, suggesting that many of them may be using a cross-platform tool to target just the one platform. This data suggests that Microsoft should accelerate their recent moves to embrace the other platforms with their tools as well products. In the same way that Satya Nadella’s new strategy has Microsoft’s products embrace other platforms, they can enable existing C# developers to keep using their technology without missing out on the obvious scale advantages of the other platforms.

BlackBerry developers are keeping their options open

For the loyal few remaining developers that still prioritise BlackBerry 10 you might expect to find the highest levels of investment in native apps. Instead, we see the lowest level of native app developers at 43% and the greatest fraction of web developers at 27%. This is partly due to BlackBerry 10 having first class web apps, which goes some way towards explaining this. It’s also a safety net as building a web app, even one that uses some native platform APIs, does leave developers with a fairly portable code base if things don’t work out. Java is less popular as a primary language at only 3% of those that prioritise BlackBerry 10, yet much more popular amongst those who also target the platform. Adding an Android runtime is a viable way to bootstrap an app offering with low cost ports, but it doesn’t buy you any developer loyalty. In this context it’ll be interesting to watch the fortunes of the initially successful Amazon Fire OS and Nokia X platforms as they inevitably diverge further from Google’s version of Android.

“The gap between HTML and native is widening. The native SDKs introduce new APIs at a faster rate than HTML5 can keep up with. To harness the power of these new APIs native is the only viable option.”

Peter Oloo,
Managing Architect and Strategist – Dotmax IT Ltd

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: