Getting started with Flutter in my company (Part 1)
Flutter and the related logo are trademarks of Google LLC.

Getting started with Flutter in my company (Part 1)

Six months ago, my company started a project to develop a mobile application for our own use. We didn’t have enough qualified mobile developers, mobile teams, or even patterns and defined technologies to do it. Although the app wasn’t public, it would be used in a large scale, with sensitive data traffic, and involving a lot of complex business rules. 

It would be something really big.

And there were only two qualified developers available for the project.

It would be the perfect setting for any developer of our company to put their tail between their legs. This is so true that the other developers didn’t even like to comment about the project, being careful not to be asked to work in that “monster”.

After several meetings, we considered all options and realized that the new Google’s framework would work better in our situaton.

Flutter saved our lives!! And it will save yours either.

Why Flutter?

At the beginning of the project, maybe some developers would be a bit skeptical about using this technology, which was still in its latest Beta version. But such skepticism was soon being cast aside. Throughout development, we have achieved many more advantages than disadvantages, if comparing to other languages and frameworks.

In this article we will try to convince you to use this amazing technology, describing some advantages (observed by us) and the steps to be followed to adopt it in the development of applications in your company.

1° - Faster development

Não foi fornecido texto alternativo para esta imagem

Some characteristics of the flutter make its development extremely agile. Such as:

  • Agile screen development (UI / UX)

It's all dart! Everything. It isn’t used different languages for different purposes. Its business rule is written in dart, and its screen too. What about the styles? Dart too. If the developers of your company have a FullStack profile, they will probably thank you for that.

  • Focus in business rules

By using the advantage mentioned above, when you create the screens of your mobile application you can focus much more on what really matters for your company: business rules. In this massive project that we were responsible, all 14 screens of the application were made in just a week, while the rest of the time was spent developing the tricky business rule, testing, and finally, approving the final user.

  • Hot Reload

Here it is one of the most important flutter development speed features for us: any changes made to the code can be recompiled and tested right away! In contrast to React Native, which recompiles the app from the beginning, in the flutter there is only recompilation in the area where the change occurred. It makes development incredibly fast and practical. This is possible due to one of its compilations type, JIT (Just in time). Beware of the fact this obviously affects the performance of the app in development mode! However, don’t be fooled: the performance improves - it really does, when the application is compiled in release mode.

  • Dart

We have already said that the language of the flutter is Dart. This is an extremely simple and easy to learn language. In our opinion, it brings together the good in React Native syntax, with Java's strong typing and data structure. This makes very fast the learning curve for developers coming from several languages.

2° - High Performance

Não foi fornecido texto alternativo para esta imagem

We have already mentioned in this article the JIT compilation of flutter. And as already said, the first impression is that the application does not perform as well as expected. Therefore, it wasn’t mentioned yet the second type of compilation: AOT (Ahead of time). When the application is compiled in release mode on its production version, and it is no longer necessary for the code modification to be reflected at the same time, then this kind of compilation generates ARM codes. This means that from this moment on, the application becomes completely native! That's right! A framework capable of generating native applications for android and iOS with the same code. This cuts out two issues: It is no longer necessary to maintain two teams (one for each developed platform) and it ends the performance problems of other cross-platform frameworks.

3° - Beautiful Design

Não foi fornecido texto alternativo para esta imagem

In the second project we developed, we faced another great advantage: beauty. Do you know that gorgeous draft made by your designer? Yes, that one. It is much easier to code using flutter than when you are using applications made with platform-specific code (Java, Kotlin, Swift or Objective-C). Of course, other frameworks also have this easiness. But it is always good to attach this easiness to a good performance, isn’t it? For example, we were never remarkably skilful when it came to the beauty of the layout, our aim was simply to make our applications easy to use, and as objective as possible. The very framework that we use for web applications in our company enables this feature. However, using a little bit more the Flutter we were already creating terrific layouts, capable of causing envy in applications that have been on the market for quite some time.

4° - A passionate community 

Não foi fornecido texto alternativo para esta imagem

It's on Facebook, Twitter, Whatsapp, Telegram... Wherever you search you can find a community completely in love with the Flutter that is available and ready to help you whenever you need it. We’ve learned to program in the Dart language and use the Framework from an incredible Udemy course (actually there are a lot of incredible courses for Flutter), and with this same course we had access to a huge community on Facebook and Telegram, where there already have been several times we need tips or information to use in our apps. In fifteen minutes there were already at least five answers with different opinions that even opened our minds to brand new ideas.

And of course, we can not forget the blogs, videos on youtube, the webpage of Flutter itself, that provide quality content, always using the latest news released. If you have any problems with your application, you sould ask on the online communities or google for extra information about it. You will surely find the solution for your problem. If the problem is the lack of creativity to make an interesting screen - which will impress your user with impressive beauty - there are several articles (Medium - Flutter Community) as well as youtube channels that dedicates themselves entirely to this purpose, create beautiful screens - simple or complex (it will depend on how impressive you want your layout to be). It is worth remembering that much of this material is in English. But for you - a competent professional who works in a company whose motto is "the sky is the limit" - I know you will not have problems with that.


In a next article, we will discuss how to start preparing to embrace the flutter in your company. See ya later!


Article written by  Gleidson Ramos and  João Henrique Camargo
Tiago Pires

Superintendente de Tecnologia da Informação @ Saneago | XBA, CIO

5y

The two autors of this article are part of a rare community of intrepid altruistic developers. I am inspired daily by the work done by them and I am very proud to be part of this team. Tiago Alexandre Pires de Castro Boss of these heroes :-)

To view or add a comment, sign in

More articles by Gleidson Ramos

  • Implantando Flutter na minha empresa (Parte 1)

    Há seis meses, iniciamos um projeto para um aplicativo mobile de uso interno da empresa. O nosso cenário era o de uma…

    2 Comments

Insights from the community

Others also viewed

Explore topics