Occasional Flutter

Share this post
What really grinds my gears in Flutter
occasionalflutter.substack.com

What really grinds my gears in Flutter

Today we're looking at some of the most "frustrating" things in Flutter. Let's have a look if we share the same experiences.

Dominik Roszkowski
Jul 31
2
Share this post
What really grinds my gears in Flutter
occasionalflutter.substack.com

My latest post listing reasons why I enjoy Flutter so much was a bit of a puff piece, frankly. Flutter is definitely one of the most fulfilling technologies out there, but it’s not without its flaws. Let’s discuss some of the things that frustrate me the most. We’ll start with the web issues.

This is my personal opinion, and even though I have worked with Flutter for quite some time, I may be wrong in some cases. Please let me know if something is incorrect or gets fixed in the future.

Web issues

Some of the experienced Flutter developers I personally know would not select Flutter as their primary tool for building a website. It’s a bit of a different discussion when it comes to a very specific set of apps that could as well be a desktop tool like Supernova, Rive, Superlist, or Rows. However, building big scale consumer-facing… portals entirely in Flutter may be out of question.

Thanks for reading Occasional Flutter! Subscribe for free to receive new posts and support my work.

Don’t get me wrong. I use Flutter web regularly e.g. for my presentation companion apps. In my consulting work I participated in several Flutter web projects. It worked mostly fine, but the class of problems that need to be solved is vastly different from what a typical web developer faces on a daily basis.

I suspect there’s still a long way before Flutter will feel and work equally well as classic web apps. Here are some of the most pressing issues I see right now.

Default behavior

Anytime you run a Flutter mobile app, you can quickly deduce this from the little things like scrolling with two fingers make it go twice as fast or rotation of the app looks a little bit off compared to a native one.

Similarly, there are things that are odd in Flutter web apps. I immediately notice that keyboard shortcuts or focus behavior are just a little bit different from what I would expect. It can be tweaked to work similarly as in a simple HTML document with Actions and Intents, but developers rarely remember to handle focus changes, space or tab behavior, cursor decoration etc. [As an exercise open any Flutter web app and press space, then open Twitter and do it again]

Some other issues worth noting are lack of proper text selection (which hopefully will be fixed with this change), not being able to find words with the browser find box, and more subtle challenges like bundle size or mobile performance.

I feel like I need to emphasize that some of the issues mentioned here are not framework bugs, but rather consequences of mobile developers building web apps. As such we tend to make mistakes not understanding how the web form factor differs from a single window mobile universum.

Continue reading on my blog

Remaning chapters:

  • Tough choice

  • Scrolling and physics

  • General feeling

  • GPU load

  • Reinventing the wheel

  • Desktop issues

  • Shaders and jank issue


This weeks inspirations

Neubrutalism style in UX: a twist on the dominant modern minimalist
A quick look at what the style is, why we need it, and a list of websites using it in different ways.

One of the coolest website portfolios I’ve ever seen made in WebGL

Little cute doggo animation in Rive

Thank you for reading Occasional Flutter. This post is public so feel free to share it.

Share

Share this post
What really grinds my gears in Flutter
occasionalflutter.substack.com
Comments

Create your profile

0 subscriptions will be displayed on your profile (edit)

Skip for now

Only paid subscribers can comment on this post

Already a paid subscriber? Sign in

Check your email

For your security, we need to re-authenticate you.

Click the link we sent to , or click here to sign in.

TopNew

No posts

Ready for more?

© 2022 Dominik Roszkowski
Privacy ∙ Terms ∙ Collection notice
Publish on Substack Get the app
Substack is the home for great writing