I often chat with mobile developers about the tools and processes they use on a day-to-day basis. One topic that never ceases to get people fired up is the discussion around native versus cross-platform development.
Pretty much the only thing that every mobile developer I talk to seems to agree upon is that native, as opposed to cross-platform, development is the preferable way to build mobile applications. The Apple fanboys as well as the Android crew all point to the deep OS-level APIs that only native development can reach, and exasperatedly opine that cross platform development truly is a “worst of both worlds” situation.
Given that background, color me surprised at a new survey that suggests that hybrid web apps are “dominating” the mobile space. First a caveat, the survey was conducted by none other than Ionic, itself a cross-platform development vendor. ionic clearly has an ulterior motive to advocate for cross platform versus native but, that said, let’s look at what they found.
Survey results
Ionic surveyed over 13,000 developers and found that whereas two years ago a similar cohort was showing 20% building with native tools, today that figure has gone down to 3%. Furthermore, it suggests that a third of developers expect to abandon native development altogether.
Further, an increasing number (32 percent) of developers are building progressive web apps, a solution that some see as the holy grail, others as a worst-case option. Either way, these progressive apps bring features that one would expect from native apps to the mobile browser experience and run in a secure container accessible to anyone on the web.
Selection bias, much?
Of the 13,000 respondents that Ionic captured, around 80% identify themselves as web developers and only 8% would class themselves as mobile developers. It would appear that Ionic is doing good business with a particular class of developer, but has little exposure to true mobile developers and, as such, the respondents they have are kind of like the people Henry T Ford could have talked to when designing the Model T: they’d ask for a faster horse.
Interesting Backend numbers
Among Ionic developers, Google’s Firebase is the preferred backend services provider. Significantly more developers (42 percent) use Firebase for push notifications over the second most popular service, Amazon Web Services (8 percent), and developers chose Firebase Auth over Amazon Cognito by 10x. Firebase also topped the list of hosted backend databases, with 32 percent of developers using it compared to a combined 12 percent for Amazon DynamoDB and RDS. For backend technology, Node.js continues its reign as the top choice for developers at 56 percent.
Ionic defends the survey
I put it to Max Lynch, co-founder, and CEO of Ionic that the survey is flawed in that it only captures data from a particular set of developers. What I’m seeing out there is ongoing support for native approaches. His response:
It’s a fair question. And I agree with you – I don’t see a significant change in the way native developers feel about cross platform. But web developers are coming to mobile largely for the first time, and we see a larger share of mobile developers who only know cross platform. There are now simply more web developers than native developers, and web developers tend to prefer hybrid. We see this in our own research, as well as others.
I also think both independent developers and enterprises are starting to see the benefits of the cross-platform approach. A common toolset (HTML, CSS, JavaScript) time-tested and understood by millions of developers all over the world. Faster time to market, and ultimately, a better user experience.
Plus, the market is pushing hybrid and progressive web apps (PWAs). Fewer people are downloading new apps. Companies have to do something different to reach consumers – they can’t rely on the App Stores. Progressive web apps are the way to do that – they work similarly and there’s no need for an app store, no download.
MyPOV
We’re never going to convince the mobile developers that I spend time with to move to cross platform. These girls and guys are building cutting-edge applications using the most specific of natively-available APIs. But there is another class of developers, those creating more workday applications – say enterprise apps or more utilitarian use cases. For these people, time is of the essence, and the efficiencies to be gained through cross-platform, along with the mobile enablement that comes from progressive apps (without a need for app stores) outweighs any user experience failings.
It is a case of horses for courses, and I’m not disputing that Ionic has something to offer this second class of developers. but to suggest that cross-platform is beating out native is gilding the lily somewhat.