Flutter: Falling in Love Again with Mobile and Web Dev
We interviewed Lara Martin, Android developer and Flutter user, to learn more about developing mobile app with Flutter.
Lara Martin is a Berlin-based Android developer. She is a Flutter user, and is also very active in the programming community. She has been sharing her knowledge worldwide through online platforms and speaking engagements. Her goal is to give access to useful apps to practically everyone.
Volume 90%
Flutter for newbies
Would you recommend Flutter to programmers who have no experience in mobile development?
I would say that, yes, I suggest trying Flutter to everyone regardless of your background. I think the learning curve is quite flat for anyone even without coding experience or even with much experience. The language is similar to other client languages like Java or JavaScript. It can be something that everyone can learn.
Flutter is also quite straightforward. People can start using it very early and way easier than native mobile app development. I would say it was very difficult for me to learn Android compared to Flutter.
So why Flutter?
Mainly because it’s simple. That’s something that we discovered by running a study group in Berlin where we had people that were working on iOS and Android, both as developers and web designers. Everyone was able to follow the course with us and build applications, so I think it’s one of the benefits.
Flutter and Dart
Since Flutter is based on Dart, which developer will benefit the most using their skills to quickly learn Dart?
Flutter uses Dart programming language, which is very similar to other big languages that probably most developers are familiar with. So I think it’s easy for everyone to just learn a new language once you know how a programming language works.
And it happens with Flutter and with Dart in the same way. You code with Dart and then Flutter, and will notice a sort of familiarity with the widgets and the framework that you are using to build that around.
What are Flutter’s most interesting features?
My favorite one was the hot wheel code. Basically, when you are coding some UI components, it automatically deploys it. You see the changes automatically on your emulator, or even on your device. You don’t have to wait. It will only show the changes that you’ve made, and that’s very different from native development.
Indeed, in native mobile development when you do a tiny UI change, you have to compile and build the whole app, and then deploy it — which will take minutes. With Flutter, this whole reload feature it’s in almost instantly. That was my favorite one.
I would also add animations among the best Flutter features. Even in native mobile development, animations are something that I don’t want to do because it can be quite tricky and difficult to make them work. With Flutter and all its widgets, you can build beautiful things very easily.
Building web application with Flutter
Let’s talk about building a web application with Flutter.
First, in my opinion Flutter for the web is not production-ready yet. So I would not suggest building a web application with Flutter. I think the use case here would be you have a codebase that could be running on different kinds of platforms like iOS and Android, and you could also have a website based on the same codebase. It depends on the need you have. But I would probably not build a web application directly with Flutter. Maybe it’s better for a more production-ready version of the framework.
Diversity
Do you have suggestions for software development companies regarding the reduction of gender diversity issues?
Something that helps a lot is anonymizing proposals, anonymizing information that you are receiving. Like when you anonymize the CV you’re receiving, you don’t have the names, you don’t have a picture. So you evaluate everyone more equally. The same applies to conferences such as Codemotion. You receive proposals and rate them based on some requirements that you have. But always try to avoid those biases, even those that you might not be aware of.
So I think that one of the things that would work really well at least for me and my team was anonymizing the hiring process. This could make everyone feeling more wanting to apply to a job position, for instance, people who don’t want to be evaluated by their name or other features that might be not relevant for the actual job position.
Originally published December 9, 2020, in Codemotion Magazine.