Live data from Hacker News

Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

developers.googleblog.com

21–30 of 467 posts

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#21

I’ve given Flutter a try with one of my client’s apps, and in some cases, it’s obviously better than native development. Mainly because you can develop for both platforms. I’d be curious to hear where other developers think Flutter is a good framework to use instead of developing native code.

My experience with Flutter was it was only really suitable for UI code. Lack of efficient parallelisms among other things really kills the ability to do non-trivial work. If you happen to be able to stay in Flutter's async APIs then the illusion holds up OK, but otherwise you have to just kick over to native code to do anything interesting. At which point the multi-platform story obviously falls apart.

It's really not unlike the web platform. If you're in the semi-narrowly supported "good" path it's great, but if you hit the limits of things you're pretty much immediately out of options.

And also really bad interop with some really critical components like WebView.

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#22

I'm confused about the mentions of Chrome OS here. In particular: > You can also publish Flutter apps for Chrome OS to the Play Store Do they mean, you can publish an Android app and then run it with Chrome OS's support for that? How else are you supposed to run Flutter apps on Chrome OS? The only other way I see is "web" unless I'm missing something.

Flutter apps can now target the chrome browser (preview at this point). So a chromebook can run Flutter apps via the browser OR via an Android Flutter app.

Are you saying this isn't a web framework but rather a Chrome framework??

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#23
post #9
post #5

Earlier quoted context omitted.

> but it also compiles to ARM binary via LLVM for iOS applications [disclaimer: I am TL for Dart Native Compilers] We currently don't use LLVM for compiling Dart to native and we actually never used it in production - though we previously built couple of prototypes to evaluate potential benefits of using LLVM. We use our own AOT compilation toolchain which has roots in our JIT compiler for Dart. > meaning that compil…

I stand corrected -- is there a blog post or other deep-dive material where I could learn more?

There is some information at https://mrale.ph/dartvm/ but there is nothing really comprehensive right now.

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#24
post #8

I’ve given Flutter a try with one of my client’s apps, and in some cases, it’s obviously better than native development. Mainly because you can develop for both platforms. I’d be curious to hear where other developers think Flutter is a good framework to use instead of developing native code.

Lots of businesses are desperate for cross platform mobile dev (I'm not looking at you ), it seems to be an inevitability at this point. In the meantime React Native has come along and I don't think it's made a good name for itself in the mobile dev world. RN projects get littered with poorly implemented third party libraries that aim to bridge a piece of native functionality or SDK into the react context. I've just…

Agree with this. React Native development is just a horrible overall experience. The ecosystem is fragmented in so many ways with so many strange third party dependencies. It seems as if there is no 'best practice' yet. Its performance and resource usage hasn't been great either, compared to native.

After messing with it for a couple of months, I would much, much rather duplicate my work with native Swift and Java/Kotlin codebases than one huge spaghetti code javascript codebase that I don't understand.

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#25
Does anyone know how the server-side story is? Is there a CRUD-heaven like Django or Rails for Dart which can share the types with a Flutter client? IMHO Google should focus on that too, if not. I passionately hate re-typing same REST-entities over and over again, and that's one of the reasons why I love TypeScript.

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#26
Has Flutter solved its footprint-bloat problem?

The internet is littered with reports of 10-100MB+ .ipa and .apk binaries coming out of simple Flutter apps for iOS + Android. Google states they can't imagine the footprint ever dropping as low as 1MB. [1]

On Web, 1MB of base runtime is a complete showstopper. Embedded applications may suffer similarly.

Does today's announcement mean Google has figured out how to fix this for Web, or are just ignoring it? Or worse — are they planning to 'boil the frog' with a sneaky transition into a world of a New Flash Player?

> 1MB of Flutter runtime got you down? Don't worry, Flutter Player now ships with Chrome.

This is possibly a very dark direction for the Web, of which Google is a powerful steward.

[1] https://github.com/flutter/flutter/issues/12456#issuecomment...

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#27

I’ve given Flutter a try with one of my client’s apps, and in some cases, it’s obviously better than native development. Mainly because you can develop for both platforms. I’d be curious to hear where other developers think Flutter is a good framework to use instead of developing native code.

My experience with Flutter was it was only really suitable for UI code. Lack of efficient parallelisms among other things really kills the ability to do non-trivial work. If you happen to be able to stay in Flutter's async APIs then the illusion holds up OK, but otherwise you have to just kick over to native code to do anything interesting. At which point the multi-platform story obviously falls apart. It's really no…

Maybe Flutter works as a client to a native localhost app? (Analogous to the browser for a localhost web app like Jupyter Notebook[1].)

Does it have a Websocket client?

[1] https://jupyter.org

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#28

Does anyone know how the server-side story is? Is there a CRUD-heaven like Django or Rails for Dart which can share the types with a Flutter client? IMHO Google should focus on that too, if not. I passionately hate re-typing same REST-entities over and over again, and that's one of the reasons why I love TypeScript.

What is a proto?

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#29

Earlier quoted context omitted.

Do users care? It doesn't feel exactly native on Android, but is still fast and looks great (it might indeed be better than native). Afaik the main alternatives, RN and Web (for fully reusable UI) are both heavy and don't feel that native either, yet are popular with developers.

As a user, I care quite a bit. As a developer, though, I get paid to tell people that their software doesn’t follow platform UI conventions and I run their code through mental checklists (“does the title animate properly during a controller pop, does this custom view break accessibility”) so I think it’s pretty obvious that I have a very specific slant on this issue. Keeping that in mind, I think that many users do c…

Slant is putting it mild - you gotta start putting a disclosure in these kinds of comments or something. You were a WWDC scholarship recipient, interned at Apple, and seem to base your career on Apple tech.

You are not a typical user, you will notice things most ordinary people would never think to notice. The vast majority of apps on a phone aren't even kept open by a user long enough for it to matter.

I say this as someone who prefers native controls, has written/launched apps in ObjC/Swift/etc. There's increasingly little reason to bother with the stack.

Re: Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop

#30

Has Flutter solved its footprint-bloat problem? The internet is littered with reports of 10-100MB+ .ipa and .apk binaries coming out of simple Flutter apps for iOS + Android. Google states they can't imagine the footprint ever dropping as low as 1MB. [1] On Web, 1MB of base runtime is a complete showstopper. Embedded applications may suffer similarly. Does today's announcement mean Google has figured out how to fix t…

I tested it, and the "Hello, World" example results in a 560k js package.

Uglified and minified takes it down to around 480k.

Gzip takes that to 140k and Brotli compression to 100k.

That's a lot to bootstrap an app with, but it's not unreasonable, considering what most frameworks these days will start you with.

Post reply on HN