Hacker News new | ask | show | jobs
by piokoch 2509 days ago
The question is: if Flutter will not get traction that Google expects, what will happen with the project?

The space of multi-platform mobile apps toolkit is already occupied by several well established players (React Native, Qt, Xamarin and a dozen of other more or less popular tools, sometimes well entrenched in their niches, like Unity for games).

Flutter comes with rather obscure language and is late in the game, so it will have to provide something truly game-changing to succeed and I am not sure if that what it offers now is sufficiently appealing.

4 comments

The strength of Flutter is it's architecture. Nothing comes close. Web is too slow. Xamarin/React Native is too restricted by native layer. Qt is C++.

Popularity of Flutter increases steadily: https://trends.google.pl/trends/explore?cat=31&date=today%20...

IMHO the architecture is actually it's weakness. I know a lot of Android developers who don't want to go near it because they have to give up a lot (language, nice frameworks, etc.). Marying Flutter to Dart in an age where everything has been trending towards LLVM based compiler tool chains on native for well over a decade seems misguided.

Yet Flutter fills an important gap in the market: pure native experiences are slowly dying because native look and feel is increasingly meaningless now that so many apps use non native UI kits. Also, supporting multiple UI teams developing for different platforms is a huge risk for small companies and a lot of hassle even for those teams that can afford it. We need more cross platform stuff but I don't believe Flutter is the solution here because of its architecture, which is a combination of "our way or the highway" and vendor lock in. I'd say there is a big risk of Apple doing something smart with Swift on Android and web. I actually know of a few Android developers using Swift on Android already. This is becoming a thing. Like Kotlin, Swift is perfectly positioned to start targeting cross platform via LLVM. Also WASM is becoming a thing. IMHO, Google needs to make U turn here and rip out whatever it is that prevents Flutter from being driven from Kotlin (jvm and native) and other llvm languages.

All that's missing is a proper cross platform UI toolkit that actually works properly in that ecosystem. Things like QT and GTK are obviously usable in that space but a bit clunky/ugly on mobile.

Yeah right, as if Common Lisp and Smalltalk, or the myriad of 90's 4GLs never happened.

Popularity does not translate in money nor projects, specially with a niche language designed for doing UIs only, lacking libraries left and right.

Nativescript is more powerful than React Native because it gives you direct access to the JAVA/Objective C libraries if you need it.

I reviewed Flutter but got put off by the levels of abstraction.

How can you be interested in RN if Flutter is too abstract?
Does someone know what the state of the RN rearchitecture effort is? And is there likely going to be a smooth upgrade path forward without much breakage across the ecosystem?
While it may not appeal to native devs I've found Flutter a lot more appealing compared to React Native.

React Native just keeps breaking things, like for example at something like 0.56 the textinput just broke on Android beyond usable and was stuck at that for like half a year.

I don't particularly like Dart as a language but as an SDK Flutter just feels a lot more solid than RN.

As a flutter user, I think the answer to what is "game-changing" is the flexibility it provides for making custom UI screens that would be really challenging in other frameworks. Also, there's the top notch animation support. When combined with tools like Flare, things are much more straight forward to create and they are cross-platform to boot.
It will get cancelled just like every other Google project that's not the best in its field. Google can't seem to handle being second best in any project they start, so they use cancelling projects as a way to hide the evidence of their failures.