Have you ever faced (or even asked) the question of “due to available budget we have to focus on one platform – which should we build for first?”?
It happens all the time. Typically a response may sound like “Let’s build iOS first, that’s where people spend in-app” or “Android clearly, it has the most customers” or perhaps even “Windows makes sense as our users are mostly on business-purchased laptops”. Possibly even the team is used to web development and the seemingly cost effective suggestion “let’s just wrap the web-app in a container and deliver multiple as a hybrid app”. Let’s face it, given the specified constraints any of these may sound like reasonable responses.
There must be a better way
What if there was a better way? What if you could have native app delivery and user experience, with the performance of apps coded using platform tools and yet the ability to code it once with a robust programming language, comprehensive unit testing and a top-notch supportive community? Well look no longer – that is exactly what the Fyne toolkit (build with Go programming language) has been built to deliver!
By adopting this technology you can build your app just once, test it thoroughly with the core support for unit testing and compile it for all your target devices and operating systems! You also get the benefit of modular code design that Go promotes allowing inclusion of 3rd party widgets and components, and all of this without having to learn platform specific languages or markup document formats – its’s a pure Go experience!
As well as Go being one of the fastest growing programming language you might also find that developers are more readily available than iOS or Android developers, saving your team recruitment cost and time, whilst avoiding the duplication of effort and potential overlap of work if you were splitting a traditional app across different teams to speed delivery.
Saving time and money
It is likely on the minds of most business leaders that saving money is important, or easing the challenge of hiring. But when you consider that you can also reach more customers across new platforms and devices by adopting this approach it starts to look more like a no-brainer. Take a look at the following illustration to see how much effort you will be eliminating when considering the development of an app for mobile and desktop release on the top operating systems:
You can plainly see the duplication of effort. In some cases individuals could be shared across teams to effect some knowledge share – but it is almost impossible to skip the development, test and design overheads on a per-platform delivery schedule. When taking a platform-agnostic approach your developers can forget the days of re-implementing features of an app to deliver on another category of device – and you can go to market on all platforms simultaneously as well! Let’s take a look at the cost savings in more detail.
Let us model the creation of an application that is expected to take 6 months to complete. Building it for another similar platform (like iOS -> Android) will likely take around 40% of the effort, but moving to a different modality (desktop from mobile) more like 75%. After designing the initial app your graphics department say it will be an additional 25% for each new platform, and the testers are adamant that they need to run the full test suite on all systems. The following table lists person-days required for each activity per-platform:
Total: 1650 days
And so you can see that an app that requires 6 months of 3 developers to build the initial app across the 5 top platforms requires a total of 1650 days! Compare this to a platform-agnostic approach, where the app will work on all platforms from the first build.
That is a saving of 70%!
Design, development and testing may take a little longer than a single platform given a wider variety of screen sizes and device capabilities, but it is amazing what can be delivered in a fraction of the time. And have enough time left over to deliver another app and start planning the one after!
Getting it to your customers
Whether you are building for each platform separately or all at once as recommended above you still need to get the app to your users. Each platform has a different method of delivery, and variations in packaging format as well. Your team can work with platform specific tools and processes, or you can see platform-agnostic benefits all the way to market. The Fyne tool can build your app in each platform format ready for upload, and you can do the rest manually. Or you can check out Fyne Labs’ automated deploy tool Geoffrey, and see the complete benefits of building once and automating the rest!