Developer stories,

Flutter technology in app development

by Veronica 09/06/2020

Google Flutter is still a fresh software solution, allowing you to create applications for Android and iOS simultaneously. We already use it successfully in Marotino.

The tool was presented during the Google I/O conference last year. Already then, programmers interested in technology could use it to create their own applications. In February 2018, a beta version was made available, which brought improvements and further novelties.

What is Flutter? It’s a programming tool that makes it easy to write applications for both Android and iOS. Programs created using this framework are based on the Dart programming language. Our company is one of the first to be interested in this platform. The process of learning about the technology began in January 2018, and soon afterwards a decision was made to use it in the development of some applications.

Flutter distinguishes itself from its competitors in that the applications are actually native. You can, for example, write some code in Basin or Swift if you want to achieve a specific effect. With this approach, we are not limited to Flutter’s SDK ecosystem. We also have other possibilities offered by the platform (Android or iOS).

It’s faster and more efficient

One of the main advantages of Flutter technology is the ability to simultaneously develop applications for Android and iOS. By using its own rendering engine, the distribution of interface elements is the same on both platforms and the appearance of the controls is native to the environment.

Flutter shortens the implementation process considerably. After all, we only write one code, resulting in two native applications. Another advantage is the ease of building the user interface. It is created from the level of the code, but it is so well thought-out that even a person with minimal programming knowledge can handle it.

We also appreciate the speed of work. Any changes in the code can be viewed almost instantly in the app running on your smartphone. This not only speeds up the software development process, but also reduces the need to use prototyping tools.

The technical debt has to be paid off

Although Flutter has many advantages, its implementation is not without obstacles. You have to learn a new language (Dart) and change your approach to building applications. However, Marotino is keen to invest in new technologies and devote its employees’ time to learning and implementing them. 

I’m convinced that the first application would be made faster if it was written “as usual”. However, when we go through the learning process and pay off the so-called technical debt, we will get a tool that will allow us to create more applications faster. After all, it is always one code that results in two applications, one set of tests and one building process.

When we started working with Flutter, only the alpha version was available. This early stage of development always entails the risk of instability and the need to deal with changes in new SDK versions. The release of the beta version stabilized the situation a little bit, although we still had to reckon with some big changes and bugs in the SDK itself.

For example, for some reason, we have been struggling with a situation in which the new version of Android Studio was not supported. There were also problems with configuring dependencies under iOS.

It is an investment in the future

Choosing Flutter technology is an investment that will bear fruit in the future. At the moment, it can still cause problems. After all, Dart, the platform’s basic programming language, is not the most popular in the world. It can therefore be difficult to find specialists in this field.

Developers who move to Dart from Kotlina or Swift may feel like they have moved back at least 10 years. However, this is a language that is developing rapidly and with the 2.x version should catch up with the slightly younger competition.