Why you should use Flutter in mobile dev

Flutter Framework
Google gave birth to a new framework capable of supporting both Android and iOS with a completely different approach. Using Dart as language, Flutter allows you to code logic and user interface elements together, similar to how React works but we don’t use html elements. This post will be a breaf introduction to why you should take a look at Flutter, so coding will be made in another post.
Widgets?, what are those?!
UI elements are named Widgets and those widgets can contain other widgets, some of them only have 1 child and other a list of children. In theory, this allows to widgets to have its own behaviour and logic isolated from the other widgets, which can share some information or access to global variables.
A great part of implementing widgets in Flutter is that every widget is repainted only if the data related to them changes, in other words, you only have to redraw just what you need to change. Although there are methods to redraw more widgets than necessary you won’t need them most of the time.
Less is more
Also, another important point which I loved from Flutter is that you write a lot less lines to code something!. A good example is a personal project I’m currently developing privately (for now), it was first developed using Angular and TypeScript, resulting in a lot of lines of code and a whole lot of classes, modules and such. In addition, the UI took a lot of hours to be as beautiful as I wanted. All of this was remade in Flutter in like… 500 lines with logic + UI… well.. that was 3 months of active dev in my free time to just 3 weeks!!!
Native code!
Of course I’m not trying to say Flutter is wonderful and everyone should use it, it has good pros but has cons too. One obvious thing about Flutter is that is young, very young compared to other alternatives. This should be a very bad aspect of Flutter because a lot of functionalities shouldn’t work as intended or aren’t coded, but not that bad on Flutter and I will tell you why you should give it a chance. Flutter, as a multiplatform framework, serves as a “bridge” between us, developers, and smartphones (iOS and Android), this “bridge” is working by itself and we don’t have to care about it BUT we can use it for ourselves, this means that we can code in Dart, in Android native code and also in iOS natives code. Dart is translated to any platform supported, as obvious, but native code is made for a specific platform and won’t be translated to others.
Plugins come to the rescue!
Finally, if you don’t know or you don’t like native code you still have an alternative, plugins!. Plugins are add-ons like we can see with Angular using npm, and these plugins add more functionality we can use in Dart as normal code. Dart plugin repository has a lot of flutter plugins, and most of your problems are already solved with them.
Easy to setup!
You already have Android Studio with Android SDK? or XCode? you almost have Flutter!. You can install it in just a moment and integrates perfectly with Android Studio so you don’t have to care about anything at all, just code your app!
Flutter provides a really good documentation so I suggest you to check out its installation and take a look at the rest.
Happy coding!