Flutter for mobile development - my first impressions
Recently I decided to build a mobile app for my own consumption. I wanted to track my expenses and also have a single app which I can use to track my tasks, my habit tracker etc. And, being a developer, I thought it would be a good idea to build something on my own which solves my problem. And, that’s when I decided to start learning Flutter.
Starting to learn a new programming language when you are already into IT is not a very difficult thing. The basics of logic building, data transfer etc remain the same. What changes is the syntax and a little bit of tooling around that framework or language that you are learning.
The onboarding experience
However, what can be a little difficult is the onboarding process. For example, if you want to learn Java then you will need to learn a lot of stuff like setting up Tomcat server, adding JAR packages, config XMLs and what not. Even PHP requires stuff like Apache/Nginx, PHP itself and MySQL or some other database to work with. In short, the ease of onboarding a user to your framework or language is a very important thing for adaptation. And, now in the race of so many frameworks, this can be a deciding factor. For example, recently Spring Boot has solved the problem where the entire development can be done without worrying much about the configurations.
Laravel also, has an amazing onboarding experience. It's documentation is super easy and it comes with so many ways for you to get started that you won't feel something is pulling you back from starting.
My experience with Flutter is so far great when it comes to getting started with it and getting the Hello World application to run. The official documentation to get everything setup is quite smooth. Everything is well documented. Although you will have to download a lot of things at the start – for example the Flutter SDK itself, Android Studio, Android SDK, an Android Virtual device image etc. But I was able to get everything up and running without any problem.
Flutter Doctor and other tooling
What I like about Flutter is its command line utility which is called flutter doctor. It’s a utility which as the name suggests checks your system and tells you if there is any issue with your flutter installation. Now, how cool is that?
Other than that, there is one more thing which I found very useful and that’s the seamless integration of Flutter with VS Code. Once you install the Flutter plugin, it will automatically detect the devices / virtual devices which are available on your machine. And, you can easily run your app on any of those devices.
The debugging experience is amazing and the Hot reload feature of Flutter allows you to have the Virtual device on the right and the code editor on the left and continue development if you have a wide enough screen.
All in all, my first impression with Flutter is that it is quite easy and intuitive to set up and start. I have started posting videos on my learning of Flutter and I am really hoping it will be an exciting journey.