Although it’s become the world’s most popular mobile operating system, Android is still an expanding frontier—and developers are always the first to explore it.
Android grew to 81.5% of the global smartphone market share in 2014, according to the International Data Corporation, passing a billion phone shipments for the first time. In terms of actual OS usage on mobile phones and tablets, Android overtook iOS for the first time this past July. And as of NetMarketShare’s February 2015 report, Android has a 46.9% worldwide OS market share, compared to 42.6% for iOS.
Spread within that massive growth is an operating system split into different forks on different smartphone and tablet device lines, made by different manufacturers all running different versions of Android itself, from Froyo to Lollipop. Along with more options in terms of IDEs, developer tools and cross-platform code integrations, Android developers face a wider array of choices and challenges in creating apps than ever before.
“Developers are very excited to see more tools and resources that allow them to go cross-platform and be more productive in their application development,” said Jeff McVeigh, general manager of performance, client and visual computing at Intel. “This helps save their time by reusing code, avoiding duplicate bugs in separate codebases, and allowing them to leverage their skill sets without having to learn the intricacies of each platform’s development environment. A common pain point cited by developers is dealing with device fragmentation for Android, with a constant challenge to support the long tail while looking forward to the latest OS APIs.”
According to Joseph Hill, cofounder and director of developer relations at Xamarin, modern Android developers pursue a balance between taking advantage of all this new functionality and cross-platform capability while continuing to keep up with and support the massive, fragmented beast that is Android and its broad install base of devices.
“Day to day, developers are facing a challenge,” said Hill. “[They] know they need to deliver a great mobile experience on Android, and iOS or user engagement will be significantly diminished. At the same time, our developers don’t want to maintain two or three versions of the same app in different languages.”
Hill said developers using Xamarin want “a truly native experience for users, written in one language and programming environment, and with an opportunity to share significant amounts of code across the mobile platforms to make development faster and easier.”