Flutter is a toolkit made by Google to develop mobile, web and desktop applications. If you want a mobile app for iOS (iPhone, iPad, etc.) and Android, you may think that you need two different teams (two codes) to develop your app for both platforms using native solutions. But with Flutter you can create only one code that runs on both iOS and Android, and you wouldn’t have to worry about making two different codes. This not only saves time, it also means that your costs are going to be cut in half.
Check out our video that explains all about Flutter!
Even though you have the same codebase for both platforms, you can personalize each one. This is possible because Flutter has a method that recognizes which operating system it is running on and with some conditions you can choose what you want to display. There are two different design systems available in Flutter: Cupertino and Material Design. Cupertino is made for iOS style, it has dialogs, date picker and other elements.
Flutter is also incredibly fast. The experience of developing with Flutter is like painting a picture. You can simultaneously modify your code and hit save (this is called Hot Reload), and almost instantly, like magic, it’s all updated on your screen. This is because Flutter doesn’t build the whole screen over again, it only updates what is different in your code.
Developing with Flutter is also a “LEGO” kind of experience: you put a few pieces together very fast and then you have a screen ready to go. These pieces are called Widgets, and you can see what the most commonly used ones are on the article by my colleague Felipe.
Flutter also has great documentation. There are details and examples of how to use each Widget and are many YouTube videos from the official Flutter channel explaining many of them.
People often choose native options over hybrid ones because of their performance. Often other hybrid frameworks don’t seem to be fluid and natural as they tend to be on web components embedded into an app. With Flutter you have the whole native feeling (such as smooth natural scrolling, navigation, icons and fonts) as well as easy integration with peripheral components, such as camera, GPS, etc. Flutter makes this possible because its code is compiled to native machine code and it has direct methods to native channels to make it possible for you to access those peripheral components. All of that is very easy to understand in the documentation.
Flutter is growing fast all over the world; support communities are getting bigger every year. In Brazil, only on Telegram, the Flutterando community has almost 8,000 people, and there are also other communication channels such as Discord and Youtube. The main reason why Flutter is growing this fast is because people are trusting this framework more and more. They see big companies (e.g. BMW, Alibaba, eBay, The New York Times) using it to develop their apps and feel more comfortable with the technology.
With Flutter you can build almost anything. If you have a cool app idea, like a chat where people can only talk through GIFs, you can use Flutter. If you want to build the next big communication desktop app, like Skype, Flutter is a great option.
With Flutter the possibilities are infinite and you can start right now.