Cross Platform App Development
(and why you should use it)
Building a mobile app?
With Android and iOS devices currently having a 50/50 market split, it makes commercial sense for a client to have an app developed which is compatible on both platforms simultaneously.
An important consideration for a customer thinking of having a mobile app built - "is my 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.
Native development drawbacks
Previously, a developer would have to sit back and write two versions of the app, one for each platform. This was time consuming, and remember, the customer ends up paying for a developer’s time and expertise.
It’s actually more complicated than “two codebases”, though. As a customer, 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 a 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 a customer - 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.
Cross Platform Development
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.
Prior criticism of cross platform frameworks were that they weren't as fast as Native apps: that's now a thing of the past. There are, simply put, few reasons not to use a cross platform framework.
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, as a customer (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.
This is where we advise you to have a chat with us before spending money. ;-)
About us - Foresight Mobile
Founded in 2017, Foresight Mobile are an end-to-end mobile development agency, turning your concepts into engaging and robust solutions across mobile and the web. We use the latest technologies across all platforms, ensuring that your products are built to last with the best performance.
Our services include:
Product prototyping, Android / iOS / cross platform mobile app development, "CTO as a service" startup support, and Next Generation technologies such as AR / VR and iOT.
We provide a fully-bespoke offering, supporting clients from initial first design concepts to published apps which represent the best value for money, fastest development and quickest ROI. You can check out our Manchester based Flutter app development services here.
We've been trusted by firms ranging in size from startups and SME's to large household names.
Want to know more? Visit us at foresightmobile.com or give us a call on 0161 826 0334 to discuss.