This week I published an article titled:
This was a very opinionated piece, praising the benefits of Flutter as a very productive tool for building UIs, compared to iOS and its (supposed) shortcomings.
In the article I made some bold claims, calling Flutter superior and "the holy-grail" of front-end development.
This made my piece very controversial (perhaps polarising), and stirred a lot of discussion online.
I have reflected at length on the feedback, and I want to set things straight in this brief follow up.
But first of all...
An apology
I have enjoyed being a member of the iOS community for a long time. I have a lot of respect for all the people that are doing great work on iOS, inside and outside of Apple.
At various points in the article, I made claims focusing too much on the positives of one side and the negatives of the other.
And I didn't offer sufficient explanations or evidence to back up some of these claims.
This made the article quite biased, and for all of this, I am at fault.
Setting things straight
I am very enthusiastic about Flutter. Shortly after I started using it, something clicked in my head, and I felt strongly that:
- this was going to be the next big thing
- this was unlike any other cross-platform frameworks I used before
Since then, I have been using Flutter full-time, both for client work, and on various personal projects.
And in my own experience, I can genuinely say that:
I can deliver high quality apps much faster with Flutter.
Of course, quality is a subjective thing and is not easily measured.
For what it's worth, I can rephrase this as:
I have been able to quickly and consistently iterate on designs and ship features. I found myself often saying "yes" rather "later" or "it's too difficult" or "it will take too long". All this while embracing platform-specific appearance, behaviour and conventions. And of course keeping all the business logic in one codebase.
To me, these are all big wins. Flutter is not a silver bullet, but I feel that it may just live up to the high expectations it promises to deliver.
I feel that for all its controversy, my article struck a chord.
We all know human nature. We are creatures of habit. We are resistant to change.
Learning a new language or framework takes effort. Faced with the unknown, many of us would retreat to our comfort zone.
Luckily, as software developers we are privileged to be part of very welcoming communities, where sharing and learning are encouraged.
Moving forward
I started codingwithflutter.com codewithandrea.com as an effort to help people learn Flutter.
And I intend to continue on this effort. I want this because I believe in sharing and I find it a very rewarding experience.
I may do more comparisons between Flutter and other frameworks in the future. And I will aim to better support my claims and present a more balanced view.
And just for full disclosure: I am creating a paid course on Flutter. I feel that with a course I can offer a much more structured and in-depth package, than with just my articles and videos.
Happy coding!