A key focus of mobile app development is shorter development cycles to get to market fast, while making sure it performs well. But do you have to chose between great user experience and speed?
At Polymorph, we work hard to deliver both and guide you through the platform maze to make sure you make the right choice for your mobile app development. Let’s take a look at the various options;
Hybrid apps are developed in HTML5, CSS and Java Script and then wrapped in a Native application platform. It is the way to go when you need a front-end that runs locally, but mostly interacts with information from a backend. The front-end doesn’t use a lot of the platform-specific functionality of the phone, and your app is basically an easier-to-use mobile website, packaged to run as an app, with all the advantages of that (push notifications, lower data usage, mature web technologies)
The choice to use Hybrid is usually centred on the idea that development costs will be halved. This is related to the fact that there is one codebase used for both platforms. In practice though, this is not the truth. Unfortunately, getting Hybrid to run across platforms can be a challenge and so your app might not look great across all platforms. Getting this right might raise the costs substantially – thus reducing your savings from not building multiple native apps. Below are examples of these tools and the challenges when using them:
A challenge with React Native is that it does not support all native APIs thus, not all functionality is included. This means that you still require people with in-depth knowledge of specific languages to write Native Modules if you want specific functionality. React Native is a small, but rapidly growing community and there are fewer libraries to draw from than with Native. Design guidelines differ with Android and iOS which means that the code will be filled with if statements (if android, do x, if iOS, do y) – this clutters the code. Everyone is working towards closing this gap. For now, although it is promising, it’s not yet living up to it’s promise of halving the cost and time with app development.
Based on the Microsoft technology stack that uses a single language – C#. What is great about Xamarin is the ability to create platform specific User Interfaces (UI). The performance is similar to Native development and there is full hardware support. The challenge is that the app can be larger than if one built in Native, and as with all Hybrid apps, it still takes time to tweak and optimise for different platforms.
The great aspect of Cordova is the ease of development. However, like all cross-platform implementation, it is not as clear cut as that and depending on the requirements will need more work in the platform. This is assisted by a large community that is active. The great challenge with Cordova is the user experience. The user’s perception of how responsive the app is to touch and taps can be much more negative than for Native apps.
For an example of detailed and well designed Hybrid app development, take a look at the banking app we developed with Capitec as well as our first product built on our Leased Product Model; Linebooker
Native apps are written in a programming language that is native to the device and it’s operating system. iOS apps are usually written in Swift or Objective-C, while Android apps are written in Java. This means that you have to have two codebases because the coding cannot be shared as it is a different language. Although this may be seen as a negative, the positives are vast in terms of access. As you are building in that device’s language, you will be able to create more in your app as well as have great performance and speed.
Devoted communities to iOS and Android mean that there are vast libraries to chose from that will help improve your app immensely. In Native, your Bluetooth and location services are also more reliable. With specialised knowledge in the language comes an understanding of the platform and underlying architecture. This means that your app is built efficiently with the deepest knowledge available.
A quick reminder that the backend is usually share-able and so it can be the same for both versions of the app.
Which one is right for my mobile app development?
The question is, what is your goal? What do you want your app to do? Do you know what your intended client uses? For example, is your client base definitely an Android user perhaps because it is a low income market? Ultimately apps are suppose to feel good to use and if they don’t your users will move on. Is speed key to the success of your app?
It is important to discuss this and more with the team you decide to work with. Ensuring that your mobile app is built in the best way possible begins with identifying which platform to use. That’s why at Polymorph we specialize in languages and are always learning to ensure that the needs of your mobile app guides us to make the best mobile app for you. To make the decision on what platform is the best for your app, talk to us. We can help you answer that question based on our experience of developing for all platforms, over many years.
Please click here to take a look at the apps we have made and if you haven’t downloaded it yet.
Take a look at our e-book of canvases ready for your next great business idea (link at the bottom of the article).