Flutter is a UI-ToolKit developed by a team @Google with one thing in mind.
Before Flutter, this is how App developers used to make apps for both Android and iOS.
First, they would learn java, kotlin, and android app development, make their app ready on one platform,
and then they would switch to swift and iOS development and repeat the long process again for iOS to get their app on both google play store and app store. Seems tedious eh?
Not only that.
When you are making an app. It isn't a one-time thing. You have to push updates, bug fixes all the time, and for each update and bug fix, you would have to update that on both android and iOS.
and also nowadays,
almost everything in the world has a screen and it's running on some OS.
If you need your app to run on that screen size and aspect ratio to fit that particular screen,
Imagine the number of codebases you have to keep up-to-date. It is just impossible to do that on a long term basis.
And that is where Flutter comes in, with that one thing in mind:
Making it easy for the developer and having only one code base for all the different screen sizes and OS.
Let it be Web, Android, iOS, Desktop. It will support them all.
and your app won't look the same in all of those.
With the layout widgets, we can make the apps look native to the user.
With the MaterialApp widget, we get access to all the widgets and UI tools present in Material Design. which includes tons of cool icons, colors, fonts, sound, shapes, animations and so much more...
Even with all of this combined, You as a developer handle only ONE codebase.
And that is Flutter.
//pictures were taken from google and app brewery 💥