Written by Richie Harris
It’s easy to forget that the span of time that development of applications exclusively for mobile devices is just over ten years. Throughout this time we’ve witnessed the growth of the mobile app space and the considerable power that is brought to bear in our lives by this new and developing industry. Something that is not often well understood by the app consuming public is how much of a moving target the mobile app development space has been. When the iOS and Android stores opened back in 2008 there were disconnects between them wide enough to spawn entire competing industries. Those industries thrived due to the complexity of taking an app idea from concept to distribution was at least doubled due to the nature of the platforms and marketplaces being fundamentally opposed to homogenization.
Since those heady days when the mobile app markets were still in their infancy, and the development of a mobile app was an arcane exercise that meant building more than one project completely from scratch. But now, just over a decade on, there’s more than one way of giving a mobile app experience to the end user. Between the rapidly developing maturity of cross-platform frameworks like ReactNative, Cordova, and Ionic, in addition to the growing capabilities afforded to PWAs (progressive web apps), the options for building a mobile experience for your end user are quickly obviating the need for a lot of native development.
In most cases, cross-platform frameworks can take a product from concept to delivery in both major marketplaces more easily and quickly than building native applications. And PWAs can be built such that a single application can serve as your website as well as both an Android app and an iOS app (mostly). Where PWAs are limited is in direct control or access to device hardware such as motion sensors, camera, and location data. If your app doesn’t need those a PWA might be the way to go. If you need access to those hardware components or core service offerings of the device, a cross-platform framework would probably suit your needs.
With the current state of play between the iOS and Android app markets, most mobile applications we’ve been looking to build fall into the “this doesn’t need native code” bucket. In fact, we’ve noticed a considerable uptick in the validity of progressive web app over native or even cross-platform development. Where a progressive web app won’t fit, a cross-platform solution almost always will. For the rest, there’s always Java and Objective C. But for your money, and time, we’re likely to recommend taking a shortcut around building multiple code-bases by using a modern technology framework like React Native.
Written by Richie Harris