With Android and iOS devices currently having a 50/50 market split, it makes commercial sense to have an app developed which is compatible on both platforms simultaneously.
Here’s an important consideration if you’re thinking of having a mobile app built for you: Is your potential developer using a cross platform development toolset?
Android developers used to write apps in Kotlin or Java: iOS developers used Swift or Objective-C. The two software platforms were mutually incompatible, so you used to end up with two different pieces of software with each approximating the functionality of the other on different operating systems.
Sounds messy? It was.
Previously, a developer would have to sit back and write two versions of code, one for each platform. This was time consuming, and remember, you’re paying for a developer’s time and expertise.
It’s actually more complicated than “two codebases”, though.
You’d also have to find a development company which had expertise of working on both platforms – which usually meant that two separate teams had to work alongside each other, comparing code and trying to achieve the same results with two different sets of development tools. Even worse, you might find that a company only developed for Android and would then have to find another company who developed for iOS – and then let them work everything out at a distance.
Not only is your developer spending time writing two codebases, there’s also extra time involved in internal liaison to ensure the two products have the same look, feel and functionality. The knock on effect is that it will also impinge on your time as your two development teams come back to you with design and functionality questions and project reports. Your time is one of those intangible costs you typically never consider when having an app built – how much of your time do you have to put into the design process?
Some typical problems you’ll come across if you have what essentially are two separate but similar apps is that you can not always guarantee having the same look, feel and functionality for software written using two sets of design tools.
As for when you decide you want additional functionality, or a code rewrite or changes to the user interface.... more headaches. Ongoing support becomes more and more convoluted with every rewrite, and adding additional functionality across two different platforms might not give the same results.
Luckily, this doesn’t have to happen any more. Believe you me, we’re as happy about it as you are.
Starting a couple of years ago, companies like Google, Facebook and Microsoft decided that the best way forwards was to write cross platform application frameworks. With new native cross-platform tools, such as Flutter and React Native, you can write your code once and then have that code translated into the native code of multiple operating systems, allowing a mobile app to be published to multiple platforms with minimal effort.
Since there’s a single codebase, this can easily be altered and the app re-published, instead of having to update multiple codebases and then ensuring that the functionality is similar. Developers don’t have to learn multiple programming languages, either. So finding a developer who understands how to write for both Android and iOS is now easier.
Connecting to the Cloud with cross platform tools such as React Native and Flutter is much simplified as well. Also, developers have easier access to now common plugins which makes the design process much more streamlined.
With Flutter, developers can also change code on the fly, instead of having to alter the code and re-compile it, which is time consuming. A “hot reload” feature in Flutter means that debugging code becomes much more efficient.
This all saves time, and time is money.
The end result
The finished app will have a uniform look and feel across multiple platforms. In fact, using Flutter, which uses a common pool of widgets, you can have an Android app which looks like an iOS one, and vice versa.
When you consider the amount of wireframes your designer will ask you to approve for even a small project, similar look and feel across platforms will save you (and your designer) a lot of work. Since you have one team of developers working on one cross-platform version of your app, your time in working with them as part of the design process is reduced as well.
And, bottom line - because of the cost efficiencies in development, you can now publish your app on both Android and iOS, instead of having your project budget constraining you to choose one or the other, and therefore maximise your return on investment and market share.
Now, if this has left you thinking “can my existing Android / iOS only app be ported to a cross platform format?“ the answer is yes, it can. With some (technical) caveats.
Looking for an app development agency? Check out our Manchester based Flutter app development services here.
We’ll be happy to discuss new app development with you, or porting over an existing app to a cross platform format. You can contact us here.