A week with Flutter

I started exploring Flutter last week, and here are my thoughts.

1. Getting started was very easy.

Setting up flutter, creating a simple hello world project and running it on Android and iOS was pretty straight-forward. There’s nothing that you would get stuck with.

2. Dart

That was simple too. If you are familiar with Java or JavaScript, or any other programming language, it’s not a problem. You don’t even have to learn Dart first to use Flutter. As you proceed, you could easily learn Dart.

3. Flutter – How it works

The documentation is pretty good, and you can quickly grasp the fundamentals. The first and the foremost things you would learn is how to create widgets, which is quite simple to understand after you look at a few samples or watch the official videos.

4. Starting a real mobile application

Now, you might be slowed down. The documentation is great and there are dozens on examples that help you to solve the real world problems. At this point, the biggest hurdle, at-least for me, was to understand how to build the widgets properly. Since everything in flutter is aa widget, it was really difficult for me to stitch up widgets and create the UI that I want.

5. Biggest challenge

I am quite an experienced Android developer. I had struggled in understanding how to create the UI initially when I started learning Android long time back. Right now, I understand how most of the layouts and views work in Android.

In the flutter world, having spent about 7 days, I still haven’t gone through all widget and layout types. And that I think is the biggest challenge for me right now. Spending a bit more time on this would probably help me get through this hurdle.

6. Using 3rd party libraries

Adding 3rd party libraries is very easy. It’s quite similar to adding dependencies through cocoapods or gradle

First impressions

It’s great. I really liked the “hot-reloading” feature. ReactNative already has it, but I think Flutter gives you a better experience and lets you debug and implement your application faster.

The tool-chain seems really great. However, I still haven’t explored a lot of stuff like:

  1. Setting up themes
  2. Creating app icons
  3. Working with images
  4. Preparing for store release

Running on either Android and iOS is too easy. I haven’t yet compared the performance though, but it seems pretty good. Till now, it’s been worth the time that I have being spending with it.