Flutter is a free and open-source mobile UI framework created by Google and it allows you to create a native mobile application with only one codebase. This means that you can create mobile apps for both major platforms (iOs and Android) with only one codebase.
Example: You're a startup company, and you're running out of budget. Labor cost can be minimized here because you can reduce the amount of developer required. Thus, make your startup lean and efficient.
- Easy to learn - All the concepts are similar to web and mobile apps, if you already know the big picture of them such as padding, margin, button, etc. Everything is a widget, it's like connecting legos.
- Fast to build - Hot reload.
- Good performance - Closest thing to native or even the same in some cases.
- Strong community - Tons of resources to learn.
Flutter uses Dart, and Dart is very similar to Java and Javascript. And Learning Dart is very easy, it's just a matter of syntax, if you already have programming fundamental knowledge, you'll be good to go.
Most people may think that Flutter uses Dart because Dart was created and owned by Google. Well, that may be true but there're many reasons for Flutter Team to choose Dart as its programming language.
- Dart supports both just-in-time (JIT) compiling and ahead-of-time (AOT) compiling.
- Dart is Object-oriented. It makes more sense to use programming language for UI instead of using markup language for UI in this scenario.
- Dart is easy to learn and very familiar to other prominent languages.