002-1400x800

Flutter, single code base multiple platforms

Current applications that you have come across on your mobile device or laptop require multiple teams to maintain the code base. There is an iOS team, which wrote and now supports the whole application in the Swift programming language for Apple devices. There is the Android team, that coded the same application in a different language and supports it separately from the iOS team. There is the Web team that again wrote the same application in yet another set of languages and has to support it in that set of languages.

If you have an idea for an application, before you even realize your dream to reach everyone on the globe, you will need a business plan and budget to support at least three teams. If your budget doesn’t cater for three teams, you need to compromise, will my application only be available on Android devices or Apple devices or Web only.

Introducing Flutter

Flutter has been developed by Google and released in 2017. As an open-source code base, it is supported by 1000s of developers worldwide. Improvements are contributed to the framework daily.

Flutter is a portable framework, with a single code base and minimal adjustments it can be deployed to Android Devices, iOS devices, as a Web Application, Desktop application (Windows, macOS, Linux based Ubuntu)!

Flutter has no competition in this space. It is fast and scalable, and no other framework supports this many distinct environments.

It allows your team to focus more of your energy and resources developing your business vision. Think about the solution that your business provides and what the value add of your solution is. Ensure that all your customers have the same experience, no matter their device of choice and without your business blowing out of proportion the technology budget.

Be technology agnostic, never miss out on a potential customer again, just because your business does not support a specific technology platform.

Keep you team size agile and business focused, without the need for so many experts in so many different technologies

Shift the way your technology team thinks about developing your application. If your customers do not usually use mobile applications, that is no longer a problem, you can reach them via the Web using the same code base.

005-1400x800

Apps cost money, but how much?

There are many ways to get to a working application that supports and helps grow your business. Two common way are as follows:

Go-Abroad:

Some businesses try to save upfront costs by engaging companies abroad in lower cost countries, such as Malaysia, Ukraine and Poland, to name a few. It is easy to find companies there, which offer similar quality app development services as Australian companies. However, there are pitfalls to consider:

In order to work from Australia with a development company abroad, you may need at least one if not more staff with specialized knowledge in:

  • Translating business requirements into technical requirements
  • Transferring knowledge of local user behaviors to technical staff abroad
  • Project management skills in handling both budget and timeline constraints with an unfamiliar team abroad
  • Willingness to work across time zones and often exceedingly early or late hours of the day (forget 9am-5pm)

So, what are often considered initial cost savings when working with a team abroad, can quickly blow out due to intangible costs that are not often considered in your initial budget.

Go-Local:

A quality application build in Australia is expected to cost more than an application build abroad. But there are several considerations to be taken into account before deciding:

  • Local businesses are much better adapted to the ‘way things work’ in Australia
  • It is easier for locals to understand business requirements and translate them into technical requirements, because we live and work in a similar culture
  •  Both parties are working in the same time zone
  • It is much easier to meet face to face and explain business concepts and requirements, then trying to do the same remotely, via screens and ppts. This way boiler-plate documentation can be kept to a minimum, saving both effort and money in the process

But what should my app budget be?

Before we address that question, we should dig a little deeper!

  • Are you a Start-up, looking to translate a business idea into an application that will help you drive your business?
  • Are you an existing business, looking to digitize some or all parts of a well-established business process?
  • Are you looking to integrate with other applications and support some more complex business processes?

Each of the above may require an adapted approach and more targeted budget spend.

In general, you should consider the following

  1. How many platforms do I need to support?

Many development studios will tell you that for each platform that you need to support, your budget will increase substantially, as often the team developing the Android version is separate from the team developing the iOS version and again separate from the team developing your web-application presence. This is not necessarily true. With Flutter (a Google Framework) one team can now develop a single code base that is deployed to Android, iOS, Web + Desktop (Windows, macOS). Some minor adaptation may be required, but no longer three separate teams. One code base, multiple platforms is the way to go. This achieves multiple goals.

  • Your total application code base is smaller
  • Your team size required to maintain this code base is smaller
  • Maintenance is substantially reduced as the technology footprint is smaller
  • How many workflows do I need to support?

Each workflow may require multiple screens. Thing about the Login page. You need to provide user options to sign-in, sign-up, reset password or skip the sign-up process altogether. That is one workflow, but often multiple screens.

Another workflow could be onboarding customers or providing any number of your business services. The more complex the workflow the more careful forethought is required.

Each workflow may require a cost consideration from between AU$5,000 – AU$10,000+ or more.

  • Application design, from app mockup to app prototype

Does your budget support a full-scale design process, which includes an application prototype build using design tools such as Figma or Zeplin, which can then be translated by developers into an application? Or does your budget require flexibility to go from mock up to a basic app, without all the bells and whistles?

Each approach may attract a substantially different cost, with a starter budget as low as $AU 5,000 on the basic end to $AU25,000 on the other end.

  • Standalone Application versus Integration

Simple business application may be able to work in standalone fashion and require no integration with other platforms. For example, consider a simple app, that reminds your customers, when their next appointment is. This application may only need a simple calendar function. Other apps may require you to integrate to other systems, such a Google Maps-API, to dynamically show the location of where your customer needs to go.

Each integration brings with it, its own complexities. The more integration, the more budget should be put aside for both integration and the resulting testing effort. Integrations are hard to estimate and need to be considered on their own merit.

  • Other Considerations

Depending on the technology used and at which stage your business is, further backend work may be required. If you are a Start-up, the backend may be easier to maintain, as you are essentially starting with a blank canvas. Established businesses may have existing backend databases and other applications that need to co-exist with the new application, this will increase the development coast and need to be considered on their own merit.

It is important to pick the right team for your app development efforts. Ensure that your budget can support the most critical business features first. This will keep a tight lid on both, your expenses and on the timeline to first app version.

App development is an iterative process. If you need a feature light app, that allows you to rapidly grow a customer base, from which you gain ‘real’ user feedback and then refine and expand your application feature set based on ‘real’ user feedback, such an application can be developed from as low as $AU30,000 – $AU50,000.

More complex applications will require a stronger budget, as outlined above.

No matter, what your budget is, come and talk to us, we can help.