Flutter Warsaw Interview With Albert Wolszon

Intro

Before Flutter Warsaw #13 event, we interviewed our speakers. We've asked Albert Wolszon- the creator of Arbify - an open-source Flutter library - why did he create it, and what is the most frustrating thing that he approached while working with Flutter.

Speakers

Mateusz Wojtczak
LeanCode
Senior Flutter Developer and a Head of Mobile at LeanCode. Playing around with Flutter since early beta and choosing it as LeanCode's primary choice for mobile apps for over 4 years now. One of Flutter Warsaw hosts.
Albert Wolszon
LeanCode
Mobile Flutter Developer at LeanCode, working with Flutter since Flutter 1.0.0. Responsible for the UI development of the Credit Agricole app. He is always ensuring every animation is smooth and paddings pixel-perfect.

Interview

[MateuszWojtczak] What's your background as a developer? How can you describe your way to Flutter?

[Albert Wolszon] I was interested in computers and programming since I was less than 10 years old. At some point, I just googled “HTML” and that’s how my programming adventure began. I advanced as a web developer doing mostly PHP. Then, there was this contest, Google Code-in, I was helping Wikimedia with doing some open-source work in their app and that’s how I was introduced to Android development. Java then. I caught the opportunity and explored mobile development. I really liked Kotlin. Then, I heard about Flutter. I immediately liked it as it was somewhat similar to my frontend workflow doing HTML, but without the browser-compatibility-CSS-nightmare and also it was much, much better than Android’s XML views, in my opinion.

What is Arbify?

That’s my newest project. It’s a tool that helps you and maybe your company in localizing your Flutter applications.

Why have you started building Arbify? Why didn't you take advantage of one of the existing solutions from the market?

The answer is pretty straightforward. There was no good tool for that, that worked flawlessly with Flutter and didn’t cost a fortune or wasn’t limited by the number of translated strings. So, I decided to write one myself!

Do you consider yourself an open-source contributor? What is your journey with open-source?

Yes, I do! I love open-source. It helps many people on many various levels. I also like to make open-source stuff because a) I write code then and that’s what I like to do and b) if it helps someone, that’s amazing! I’m not quite sure how I got into open-source, but after some time of just using it, I started to contribute something here and there.

What plans do you have regarding Arbify? Maybe you have some plans about creating another open-source Flutter library?

I would love to continue developing Arbify as I know this tool really works and helps. I use it for a few of my personal projects too. I recently started working full-time and I sadly don’t have as much free time and drive for writing Arbify as I had before, but I hope it will change over time. Right now I’m focusing on fixing reported bugs. I’m still exploring ways on how I can make my life - and possibly the lives of many Flutter developers - easier. Arbify was my first good bet. Whether or not I’ll come up with another good idea for a library or tool - I don’t know. But I hope so! 😁

What do you think about Flutter for non-mobile platforms: web and desktop? Have you tried playing with it? If so, what are your impressions?

When it comes to the Web, I don’t think Flutter will succeed for ordinary websites. AFAIK it’s not as useful for people with disabilities as the “normal” Web is and I feel like it’s just not the right tool for a job. But when I think about web applications… that could work. But it’s still a little bit too soon for me to have a stronger opinion on that.

Desktop? Yes. I want Flutter to be an equal Electron alternative. I love VS Code and Discord, but I feel like a 100MB app that only shows some UI and provides a pinch of logic is wrong. Desktop platforms need Flutter.

SizedBox or Padding? 😁 And why?

🤔 Well, that of course depends on where. I use SizedBox for creating whitespace dividers and to set explicit sizes for widgets that need it, but don’t need alignment or whatnot (in which case I’d go for Container). And Padding is just… padding. Always use the right tool for the job folks!

And for the cooldown: what is the most frustrating thing that you have approached related to Flutter? Was there anything that was keeping you awake at night, thinking about this one particular issue?

*checks flutter/flutter on GitHub for issues that he authored* haha, but that’s some minor stuff.

That one wasn’t frustrating, but my first real state management solution in Flutter was Redux. I was a little familiar with it thanks to my past web dev experience. But when the time came I had to use Bloc. I was wondering on my sleepless nights why would one use it. And then I finally understood. The concept of small states for every part of the app instead of a bigger store containing local state data was new to me. But I like it now and I’m happy to know both!

The talk

Watch Albert Wolszon's presentation on Arbify. It started as an idea during one of the Flutter meetups and quickly became a real piece of code. In this lightning talk, Albert explains what is Arbify and why the Flutter community should be interested in it.
Image tile

Read more

Whiteboards make it easier to collaborate on designs, teach people new concepts, and express ideas. In this blog post, we explore a possible implementation of a whiteboard using Flutter to create a mobile application and Firestore database as backend.
Image tile
Jakub Biliński was responsible for the architecture, approach, and development of a new version of the mobile application for strategic and corporate clients of the bank. Watch the video to see how his team adjusted to FinTech security compliance, wrote a custom HTTP client, maintained application scalability, and more.
flutter-warsaw-jakub-bilinski
Managing a state can be a stressful ordeal if you dive into it without any thought. This kind of monstrous code can be tamed with the principles of immutability. And as if cleaning your code wasn't enough in itself, an immutable state comes with a handful of hidden superpowers! Come along for the journey to find out how to use them.
Image tile
Firestore and Firebase suite are great technologies. They allow developers to build some features in Flutter and other mobile frameworks really fast. However, Firestore has also many pain points that outweigh the pros in most of the more advanced cases. Is Firestore appropriate for you? Read on to find out why!
Image tile
logo

We build communities

A photo from Flutter Warsaw event
Flutter Warsaw is an IT community focused on modern Flutter technology. It is one of the largest so-called meetups dedicated to Flutter in Europe, initiated by LeanCode in 2018 in Warsaw, Poland with over 1.8k members worldwide. It gathers Flutter enthusiasts and other IT professionals interested in getting to know its possibilities.
A photo from Flutter Europe conference
Flutter Europe is an initiative driven by European Flutter Communities to gather people passionate about Flutter and those who want to learn how to create beautiful applications. Its last edition, one of the biggest Flutter conferences, took place in 2020 in Warsaw, Poland. It was organized to share Flutter's knowledge further.