Would you like to have a native or cross-platform mobile application?
Tips and tricks
Even though html techniques are developing all the time, mobile applications are still needed in the business world for many reasons. Globally, Android has about a 75% share of phone devices and iOS is used in 22% whereas across the Atlantic in the US, it’s iOS that has a greater market share of about 55%. When developing a mobile app, we normally want it to work on both platforms; in this case, two separate native applications are needed – unless we use a cross-platform tool instead.
Cross platforming means less work and easier updates
A cross-platform tool has code which allows a mobile app to work on more than one platform. There’s a wide range of different cross-platform tools, each offering a slightly different perspective. More about the different approaches to cross-platforming and the tools for it can be found here.
The biggest benefit of cross-platform development that there is less repetition of the same implementation than there would be if made over different native set-ups. Depending on the tool used, there may well still be some repetition required, but it will be mostly at the publishing phase. Applications developed with cross-platform tools are often easier to update and develop, because all the changes can be made in just one place and they will affect all platforms. The same bug usually only needs fixing once, and in some cases, code written for other purposes is often even easier to use with cross-platform tools than in native development. Examples of this are for example Bluetooth libraries or business logic libraries.
Native still has its place in platform-specific projects
Native Android and iOS development still has its uses, however. It might be more sensible to develop a native application when it needs to make full use of certain specific features only offered by that platform, especially if you’re looking for a completely different user experience based on it. In this case, the user interface is complicated and works differently on each platform, so there’s very little difference in workload between native and cross-platform development.
If the application needs to make use of the phone’s APIs, for instance, native application development is the sensible option, though cross-platform tools are developing a lot in this respect – Microsoft’s Xamarin handles Bluetooth, Near Field Communication (NFC), and payment functions perfectly. Yet another reason for native development might be that you need to target only one platform, such as an industrial application that will only be used on certain android devices. In this situation, cross-platform libraries don’t necessarily bring any benefits.
THE BLACK HORSE: PWA
A third solution is to use Progressive Web Apps (PWA). Web browsers are increasingly assuming the features of mobile devices. Right now, Bluetooth and NFC interfaces are being developed, and notifications already work nearly as well as they do on actual mobile apps. Not only can PWA apps be used without an internet connection, but they are now also accessible from the home screen like on a mobile. Generally speaking PWA apps can work on both mobile devices and computers whatever the platform is on these, and this can bring the total cost of the solution down.
In terms of content subject to a charge, PWA apps are not tied to App or Play Store. Checks and store provisions can be bypassed with them. In consumer apps this ha both advantages and disadvantages. If you need the app to be found on App or Play Store, then PWA is not the right way.
Another hurdle is the lack of trust users might have. How can you convince consumers about the reliability of paying for an app, when there is not a trusted third party confirming that it is safe? At the moment, PWA cannot support all mobile device features, at least not fully – integration between native and PWA apps is not seamless.
Are you faced with having to develop mobile apps? Get our band to come play for you. They have the sound, and they have the best tools!