The use of mobile devices to access online content and services is increasing each year. Social media, online purchases and banking using a mobile phone is part of everyday life. Every company, organisation and public sector organisation should consider the mobile accessibility of its web services.
Mobile has already led web service design for a long while. Every modern website is responsive. When should I consider implementing a separate mobile application?
Consider at least these following topics if you’re thinking about developing a mobile application:
1. Understanding target groups and improving the customer experience: know what your existing and new customers expect from their service experience. Could you make it easier for customers to purchase or do business online, or commit customers by developing mobile applications?
2. The technical package: Apps are never built in isolation, and they should be a productive part of the organisation’s wider digital strategy and IT architecture. Use existing data and connect the mobile application as a part of the overall architecture. If you’re planning something new, keep mobile use scenarios in mind.
3. Support for business processes: what functions could we make more effective or perhaps replace by developing mobile applications? At their best, mobile applications improve business processes and improve the workday experience within the organisation.
Mediasignal can help you to choose the right model for mobile development. Below we examine futureproof methods of designing and implementing mobile applications.
Native mobile app — platform-specific implementation on different devices
A native app means an application that is implemented using a platform-specific programming language. Nowadays there are several supported languages for the iOS and Android platforms, but iOS native applications are most commonly created using Apple’s own Swift language while Android applications are written in Java-based languages. An entirely different language may be used for applications with special requirements (such as games).
The strength of native applications is also their weakness: the applications are always created directly onto a specific platform, which means that it has to be created separately for both platforms, which can drastically increase the workload in comparison with the other options we review below. The clear benefits of a native app are better performance and support for all of the device’s native features (e.g. location, camera, speech recognition). All in all, the native implementation method provides almost unlimited opportunities for customisation and finetuning of the application’s operating logic, but this freedom comes at significantly higher development costs.
Native app cost level: large project, workload varies from 6 to several dozen man-months.
An application that translates apps into native apps — coded using a single programming language
The rise of the React Native library developed by Facebook has created the opportunity to code mobile applications using even more agile technologies. React Native is a framework for developing mobile applications in which the application is translated into a native application for both Android and iOS platforms.
In an ideal situation, an application coded using a single programming language can be implemented on both platforms in such a way that it complies with both platforms’ graphic design and guidelines concerning interface features. In applications created in this way, changes to the application’s logic must only be carried out in the framework and not separately on both platforms. This cuts development costs drastically.
The great advantages of using React Native and other corresponding frameworks (such as Nativescript) are excellent performance, the opportunity to use device-based native features, easy expandability and maintenance, and clearly lower development costs than native applications.
Frameworks that translate applications into native applications are suitable for almost any mobile application needs involving publication of the application in application stores for consumers or B2B users.
React Native cost level: medium project, workload from 3 man-months.
PWA — a browser-based method
Progressive Web Application (PWA) refers to applications implemented purely using web technologies. The possibilities they offer are extended as it is possible to publish PWAs in Android’s Play Store and their behaviour on devices is also closer to an app than a website. If you would also like to publish a PWA on the iOS App Store, the application must be packaged as a hybrid app, which will increase development costs slightly.
PWAs can nevertheless be used on both platforms without needing to publish them separately in application stores. PWAs are best suited to internal use or for applications implemented for small target groups where the most important goal is to minimise development costs.
One advantage of using a PWA is that it is a pure web application that acts as similarly as a normal mobile application as possible. Pre-made modules and libraries can be utilised extensively when developing the application, which keeps cost levels down in development work.
PWA cost level: fast project, workload from 1 man-month.
The choice of implementation method is determined by the application’s features and the available budget
All of the methods described above can result in extremely functional solutions, but it is important to understand the effect the choice of technology can have right from the start of a project.
That’s why it’s important to first precisely chart and determine the needs for the app and of the target group, as well as to specify the budget available for the project. This enables the specification of technical requirements and their comparison with the opportunities provided by the options. After this specification phase, a decision can be made on the method of implementation.
Regardless of the implementation technology, the most important thing about the method of implementation is for the application design and implementation to begin by building a good user experience with priority on the user environment and target user groups.Contact us to discuss a suitable solution for you!
We want to help you. Contact us and let's discuss your goals.Contact us