Live data from Hacker News

Flutter looks good, but is painful

medium.com

41–50 of 191 posts

Re: Flutter looks good, but is painful

#41

While this has little relationship to the original article... We really should be trying to use the native GUI toolkit (or cross-platform native UI libraries like libui), not using Flutter-esque libraries that draws everything from scratch. Coherent UI is a very important point to users IMO. Users can assume that some special feature from App X will also work on App Y. For example, in macOS Cocoa, textboxes have univ…

The massive success of Electron apps shows that users don't really care about native controls. Even though electron is terrible in resource usage it enables unmatched development speed for teams. If libui or other libraries can give this experience then most teams won't hesitate using it!

Re: Flutter looks good, but is painful

#42
post #26

While this has little relationship to the original article... We really should be trying to use the native GUI toolkit (or cross-platform native UI libraries like libui), not using Flutter-esque libraries that draws everything from scratch. Coherent UI is a very important point to users IMO. Users can assume that some special feature from App X will also work on App Y. For example, in macOS Cocoa, textboxes have univ…

>Adding Flutter or any other UI library that draws everything from scratch is a bad idea. Some would say re-writing the same app 5 times (Windows, macOS, Linux, iOS, Android) and maintaining 5 codebases is a bad idea.

Only when one doesn't use a solution like having the common logic in a portable language like C++, with bindings to native UI elements.

A solution used by plenty of commercial desktop software as we moved from Assembly as main application language for desktop apps during the 16 bit days.

Re: Flutter looks good, but is painful

#43
I tried Flutter a few times to have a play - really like it. Obviously a lot of the packages available hook you into the Google ecosystem (Firebase is ridiculously easy to get working).

There are quite a few things missing, and I personally found it quite hard to get going (but that might just be a general lack of skill at getting tooling set up), but there's an awful lot to like if you want to dive into getting something set up on-device quickly.

Re: Flutter looks good, but is painful

#44

While this has little relationship to the original article... We really should be trying to use the native GUI toolkit (or cross-platform native UI libraries like libui), not using Flutter-esque libraries that draws everything from scratch. Coherent UI is a very important point to users IMO. Users can assume that some special feature from App X will also work on App Y. For example, in macOS Cocoa, textboxes have univ…

You yourself said

> Stories like these are mostly only macOS; since Windows apps usually just re-invent all kinds of UI elements, while Linux's GUI toolkits are super-fragmented. (GTK vs Qt is one thing, and there are lots of other options!)

and on next line you say

> Adding Flutter or any other UI library that draws everything from scratch is a bad idea.

The first thing you said is the reason why we need something like Flutter. There might be a standard way of doing things on Mac but on Windows and Linux there isn't. Flutter at least gives the hope that we will see consistent UIs across multiple platforms while maintaining same code base. That isn't bad thing.

Re: Flutter looks good, but is painful

#45
I still don't see any big advantages over Xamarin Native, Qt or plain C++ with native views, when going through this route.

All of the with the bonus that C#, JavaScript and C++ actually have lots of market demand, Dart remains a possible CoffeScript.

Re: Flutter looks good, but is painful

#46
post #26

While this has little relationship to the original article... We really should be trying to use the native GUI toolkit (or cross-platform native UI libraries like libui), not using Flutter-esque libraries that draws everything from scratch. Coherent UI is a very important point to users IMO. Users can assume that some special feature from App X will also work on App Y. For example, in macOS Cocoa, textboxes have univ…

>Adding Flutter or any other UI library that draws everything from scratch is a bad idea. Some would say re-writing the same app 5 times (Windows, macOS, Linux, iOS, Android) and maintaining 5 codebases is a bad idea.

There is always Qt and wxWidgets. Compared to e.g. electron for cross platform UI they are super tiny.

Re: Flutter looks good, but is painful

#47
post #26

While this has little relationship to the original article... We really should be trying to use the native GUI toolkit (or cross-platform native UI libraries like libui), not using Flutter-esque libraries that draws everything from scratch. Coherent UI is a very important point to users IMO. Users can assume that some special feature from App X will also work on App Y. For example, in macOS Cocoa, textboxes have univ…

>Adding Flutter or any other UI library that draws everything from scratch is a bad idea. Some would say re-writing the same app 5 times (Windows, macOS, Linux, iOS, Android) and maintaining 5 codebases is a bad idea.

IMO it really depends. There's a lot of big companies that have more than enough resources to be able to pay multiple dev teams to build and maintain apps across operating systems.

From a few years ago, Twitter and Facebook were famous examples. They pushed so hard to try and build their apps using web technology but kept running into performance issues (thanks to infinite scrolling). After spending fuck knows how much they finally admitted that maybe native components are better.

But this is Facebook, who have so much resources they can afford to build their own version of PHP three times over. I just don't understand why they put so much effort into trying to fit a square peg into a round hole instead of just going with native development.

But, I'm not an insider, I don't know the thought processes behind it. Long story short, IMO people overestimate how complex it is to build multiple native apps in parallel.

Re: Flutter looks good, but is painful

#48
post #26

Earlier quoted context omitted.

>Adding Flutter or any other UI library that draws everything from scratch is a bad idea. Some would say re-writing the same app 5 times (Windows, macOS, Linux, iOS, Android) and maintaining 5 codebases is a bad idea.

> Some would say re-writing the same app 5 times (Windows, macOS, Linux, iOS, Android) and maintaining 5 codebases is a bad idea. Yeah, that's true. I'm looking forwards to React Native (AFAIK it uses the native JS engine + native toolkits) and libui. I'm also hoping for declarative UI frameworks like SwiftUI so that the underlying framework/runtime can generate the appropriate UI for the exact target platform.

> underlying framework/runtime can generate the appropriate UI for the exact target platform

This may seem like a good idea, but it's not. What you will get is a leaky, lowest common denominator API that will break on each new OS version.

Re: Flutter looks good, but is painful

#49
post #16
post #2

I've recently done a bit of Flutter development and have enjoyed it quite a bit. The third party Provider API solves all the state management issues, it should become the default. OP has some valid points for sure, but fact is that any framework is going to have issues. Just part of the game.

That sounds interesting. What would be the go to documentation for a good Provider API implementation (i.e. like a best practice guide with an example)?

See the official Flutter guide on state management: https://flutter.dev/docs/development/data-and-backend/state-...

It refers to other solutions as well, but the hands-on example is with provider (starting in the "Simple app state management" chapter)

Re: Flutter looks good, but is painful

#50
post #26

While this has little relationship to the original article... We really should be trying to use the native GUI toolkit (or cross-platform native UI libraries like libui), not using Flutter-esque libraries that draws everything from scratch. Coherent UI is a very important point to users IMO. Users can assume that some special feature from App X will also work on App Y. For example, in macOS Cocoa, textboxes have univ…

>Adding Flutter or any other UI library that draws everything from scratch is a bad idea. Some would say re-writing the same app 5 times (Windows, macOS, Linux, iOS, Android) and maintaining 5 codebases is a bad idea.

I assume you also do custom code for each platform inside Flutter as we do to respect iOS and Android guidelines. Some things are different and need separate code. This is a pain too. I had much better experience coding only for the platform than using Flutter.
Post reply on HN