
Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop - mikece
https://developers.googleblog.com/2019/05/Flutter-io19.html
======
Illniyar
This is the example flutter app for the web
-[https://www.nytimes.com/games/prototype/kenken#/](https://www.nytimes.com/games/prototype/kenken#/)

This is flash. You can't do anything in it that fills like the web - no copy
paste, right clicking causes things to happen. I don't expect games like this
to have links and proper bookmarkable urls, but I doubt it'll work as expected
if it did.

This is the epitome of the problem with flutter - it re-implements the UI,
creating an experience that is just close enough but not good enough. And no
matter how many smart people and an insane amount of resources they put into
it, it'll never be good enough.

There's a reason why flash died out, and it's not only apple. It was dropped
for making interactive website long before apple killed it - it doesn't work
well with the web.

~~~
Apocryphon
I’m not convinced that Flutter needs to beat native to survive- it just needs
to be better than React Native, Xamarin, and PWAs.

~~~
ricardobeat
Beating RNW and PWAs will be hard.

It’s a bit worrying to have Google pushing both PWAs and Flutter, there is
always the chance of collateral damage from infighting.

~~~
fauigerzigerk
It seems like hedging your bets by supporting a large number of competing SDKs
is the new normal. Microsoft does exactly the same thing. Apple appears to be
alone in committing to something specific.

The problem with this sort of hedging is that it only works for platform
providers but not for developers.

------
sandGorgon
Can someone from the Google team comment on what's going on -
[https://techcrunch.com/2019/05/07/kotlin-is-now-googles-
pref...](https://techcrunch.com/2019/05/07/kotlin-is-now-googles-preferred-
language-for-android-app-development/)

> _Android development will become increasingly Kotlin-first,” Google writes
> in today’s announcement_

[https://techcrunch.com/2019/05/07/google-launches-jetpack-
co...](https://techcrunch.com/2019/05/07/google-launches-jetpack-compose-an-
open-source-kotlin-based-ui-development-toolkit/)

> _Google today announced the first preview of Jetpack Compose, a new open-
> source UI toolkit for Kotlin developers who want to use a reactive
> programming model similar to React Native and Vue.js._

This is massively confusing. Do we invest in Kotlin ...or do we invest in Dart
? Remember I'm talking about developing nations like India - where startups
like ours invest in training college graduates . These guys can't afford 10$
courses on udacity and Coursera.

But even if it was not India, having this parallel signalling for Android
based startups is very confusing. Atleast Apple was very clear about Swift .

Where will Android be in 2 years : Dart or Kotlin ?

~~~
pjmlp
Internal politic wars at Google, with management having popcorns to see who
wins at the end.

If you are confortable with Qt, JavaFX, Xamarin, there is hardly anything to
see with Flutter, plus they are based on programming languages that you
actually want to have on your CV, instead of one that was dropped from Chrome
and rescued at last minute by AdWords team.

Plus, even Fuchsia is not so focused on Flutter anylonger. Android userspace
is being ported to Fuchsia, and now they have a UI Framework agnostic layer,
Scenic, with examples in C++ and Rust.

~~~
Apocryphon
I’m sure those are all great cross-platform solutions, and Qt in particular
has been around forever and predates smartphones, but you never hear about
high-profile app examples that use them. Unlike React Native, which has _lost_
more high-profile companies that previously tried them than I’ve ever heard of
any firm using Xamarin.

I wonder why is that. Doubtlessly you can make great apps with say
NativeScript, or in Pascal with Delphi or Lazarus, but no one chooses those
frameworks for some reason.

~~~
pjmlp
There are plenty of high-profile Qt apps running on four wheels, and I bet
with more users than all Flutter apps combined.

~~~
Apocryphon
Sure, but are they running on smartphones?

------
zackbrown
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...](https://github.com/flutter/flutter/issues/12456#issuecomment-335051445)

~~~
westoque
I don’t understand the obsession with small binaries and compiled packages. I
care about usability and user experience. If it takes 5mb to have a smooth
experience then I’m all for it.

It’s funny how we now have fiber having 1GB/s internet speeds and we rant
about having 1MB size package being too big. Also, everyone’s moving to 4k now
with even bigger transfer/data requirements.

tldr; 1mb should be a non issue as long as experience improves.

~~~
saagarjha
> It’s funny now that there’s fiber having 1GB/s internet speeds, we rant
> about 1MB size package.

Half the people in the world probably struggle to have access to a 10 Mb/s
connection. Even I go to places with connections that are tenuous at best.

~~~
Hixie
(I'm the Flutter TL.)

Yeah, I was just writing a design doc earlier today and my math for how big a
download we could reasonably expect users to wait for was based on a 5Mbit/s
download speed. Half a megabyte takes under a second at that speed, but 5
megabytes takes more like 8 seconds. That's a huge difference. In an
environment like the Web, where ephemerality is the norm, you really have to
stay below 1MB from what I can tell.

~~~
tracker1
Should try all your Dev and browsing on a 2gb low end Chromebook, and last gen
lower end phone for a couple months. Then see how you feel about it all.

~~~
joking
I develop apps for tvs, so size and performance matters a lot since they are a
lot of tvs already shipped with low end SOCs. newer ones are more powerful,
but people doesn't change tv as frequently as phones.

------
yesimahuman
Flutter for Web is heavily reminiscent of Famous with its custom layout system
and off-DOM rendering (or guessing DOM rendering support w/ CSS transforms of
divs). To see, just view-source on the NYT demo.

Quite divergent from the web platform in my opinion. The fact that they have
to re-implement copy and paste (and, accessibility features!) further adds to
that: [https://medium.com/flutter-io/bringing-flutter-to-the-
web-90...](https://medium.com/flutter-io/bringing-flutter-to-the-
web-904de05f0df0)

Quite bizarre compared to the Chrome team "Use the Platform" messaging.

~~~
aerovistae
God, I _totally_ forgot about Famous. That was honestly one of the weirder
things I’ve seen in my years of web development. Such a gorgeous website and
yet I never really understood what they were trying to sell me on.

So much marketing, such little end result....never went anywhere, never
amounted to anything meaningful.

~~~
tlrobinson
Apparently they're still a company, and still a lot of marketing with little
end result: [https://famous.co/](https://famous.co/)

------
bradhoffman
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.

~~~
McDev
Lots of businesses are desperate for cross platform mobile dev (I'm not
looking at you <really well funded tech company with slick native apps>), 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 spent the last 6 months
as a contractor running around fixing companies' RN apps for Android that had
obscure build issues and dependency problems, along with all the weird UI
stuff that just doesn't work the same as it does on iOS and it's not been fun.

After playing with Flutter for a bit it looks great. I just hope it isn't
susceptible to the same issues I faced with React Native.

~~~
tepidandroid
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.

~~~
sievebrain
You can actually use Kotlin on iOS, look at the jetbrains samples for
Kotlin/Native. You still need to use the iOS frameworks of course but all the
genuinely OS independent code can be shared.

------
thijser
Android adoption is slowly increasing, besides Google Ads, Alibaba and TikTok
lite are also using Flutter at this moment:
[https://www.appbrain.com/stats/libraries/details/flutter/flu...](https://www.appbrain.com/stats/libraries/details/flutter/flutter)

------
tobiaswk
I simply love Flutter for Android and iOS development and have been using it
since alpha. I haven't tried the web application part; I'm pretty sure I never
will. Here's my opinion. I've created several apps with Flutter and every time
I enjoy it. The UI is easy to make beautiful and the resulting code easy to
read. It feels like all what the current Android SDK is missing. The current
Android SDK is old and quite frankly painfull to work with. You just can't
create beautiful apps with ease; it's always a hassle. It's also messy and not
easy to read the resulting code. The way the whole way the framework is
structured entails ugly code in my opinion. This all becomes evident when you
use different apps on Google Play. You get the sense that every app reinvented
their UI; there is no real UI continuity. Google became a freeloader after
JetBrains created Kotlin and marketed it will. The thing is Kotlin made just a
little better; in terms of boilerplate stuff; the framework I still hate
compared to Flutter. What I really like about flutter is the framework and
“it’s all a widget” idea. You can basically do crazy things in UI with ease
and on the other hand just use the standard UI components with a great result.

As an example I've created an alternative to Nissan's Connect EV app. It's
basically a way to control and monitor your electric vehicle from Nissan. The
official app is I’m very disappointed by; it’s slow and full of wrong
decisions. My alternative is called "My Leaf" and its available on Google Play
and the App Store;
[https://play.google.com/store/apps/details?id=dk.kjeldsen.ca...](https://play.google.com/store/apps/details?id=dk.kjeldsen.carwingsflutter)
[https://itunes.apple.com/us/app/my-leaf-for-nissan-
ev/id1436...](https://itunes.apple.com/us/app/my-leaf-for-nissan-
ev/id1436701776)

It's completely open source.

------
mixedCase
I cannot wait to switch from having to use a compile-to-JS toolchain to a
compile-to-Dart-to-JS toolchain in order to get a language with a good type
system.

I'm hopeful Dart will get better given what I've seen and what a member of the
Dart team mentioned in a thread a few weeks ago, but right now it's still
nothing that gets close to the ancient ML. Would be nice if they learnt a few
things from Facebook or Microsoft.

~~~
gwbas1c
Look at Blazor. It's C# that compiles to Webassembly.

None of the JS nonsense required!

~~~
mixedCase
As of right now unfortunately only C, C++ and Rust work well as source
languages for WASM. The payloads for .NET and other managed languages go
through the roof; but as WASM gains features they're bound to become more
viable.

------
networkimprov
Flutter code:
[https://github.com/flutter/flutter](https://github.com/flutter/flutter)

and docs: [https://flutter.dev/docs](https://flutter.dev/docs)

~~~
stefan_
The web samples:
[https://flutter.github.io/samples/](https://flutter.github.io/samples/)

Because they make this impossible to find. I literally pieced this link
together from the fricking browser screenshot.

~~~
strange_quark
Wow I hate these so much. Unable to select text in a recipe app, scrolling
inertia on Mac is different (and no scroll bars?!), trackpad back/forward
gestures are apparently hijacked, and those are problems I found from just
browsing simple demos for 30 seconds. I really hope this goes into the Google
dumpster quickly.

~~~
ktpsns
I hardly can say how much I second you. This feels like a bad full screen
interactive video simulation of a mobile phone screen in the browser.

------
mikece
Dart could very well end up being the secret weapon behind Flutter. Not only
does Dart compile to JavaScript -- it's done this from day 1 -- but it also
compiles to ARM binary via LLVM for iOS applications... meaning that compiling
to WASM should be a trivial option to enable bringing near-native
computational speeds to any targeted platform.

~~~
mraleph
> 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 compiling to WASM should be a trivial option

It's not really trivial because you still need to figure out some things -
most importantly GC. On ARM you can scan the stack - on WASM you can't. They
are working on GC support from WASM, but I don't think it is ready yet. And
some things are just unfortunate (e.g. i31ref type which mimics V8's SMI -
Dart SMI's are 63-bit on 64-bit platforms).

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

~~~
mraleph
There is some information at
[https://mrale.ph/dartvm/](https://mrale.ph/dartvm/) but there is nothing
really comprehensive right now.

------
jillesvangurp
It feels wrong architecturally for Google to be pushing this right now:

1) Dart was intended as a Java like language and is inferior to Kotlin, a
language they just endorsed on Android yesterday. Dart feels like a step back,
not forward. The message is confusing from Google on this front. They have a
huge Kotlin developer community already. Why push Dart at all?

2) World + dog is moving towards compiling Kotlin and many other languages to
web assembly as well as native. Cross compiling Dart to javascript was maybe a
valid choice a few years ago but not in 2019. See e.g. Rust roadmap for this
year, .Net 5.0 agenda for MS, Kotlin Native, etc.

3) LLVM seems to be the toolchain of choice for this type of stuff to happen.
Go and Kotlin + WASM would be very valid choices for Google to prioritize on
this platform.

4) In a browser you need to be driving the DOM to look and feel like a proper
web application. If you abandon that notion, you might as well grab something
like QT or some other UI toolkit and use that.

My recommendation would be for Google to untangle flutter from Dart and just
retire that and focus on WASM and native based runtimes only. That's going to
take time and in my view it's inevitable that whatever they are pushing right
now is ultimately going to be deprecated in favor of something like that.

~~~
edtechdev
Dart was originally meant to be a superior alternative to JavaScript. They
originally wanted native Dart support in the browser (dartium) just like there
is native JavaScript support.

Kotlin was/is meant to be a superior alternative to Java.

Java != JavaScript

Flutter I'd say is more like a successor to Flash. Dart is now relegated
primarily to being Flutter's ActionScript.

~~~
jillesvangurp
Either way, it feels like step back. Kotlin compiles quite nicely to
javascript as well.

------
andrewstuart
I wonder if the Flutter engine would work on a Linux system that has only
128MB or 256MB?

I've been playing around with devices like this
[https://www.ebay.com.au/itm/WiFi-Display-
Dongle-1080P-Wirele...](https://www.ebay.com.au/itm/WiFi-Display-
Dongle-1080P-Wireless-Mini-TV-Receiver-HDMI-Miracast-DLNA-
Airplay/323786315234) and it would be fun to run Flutter engine on them.

edit - would also be fun on the 4GB RAM rk3399
[http://rockchip.wikidot.com/rk3399](http://rockchip.wikidot.com/rk3399) tv
box:

[https://www.ebay.com.au/itm/X99-TV-BOX-4K-UHD-
RK3399-4GB-32G...](https://www.ebay.com.au/itm/X99-TV-BOX-4K-UHD-
RK3399-4GB-32GB-ROM-Android-7-1-2-4G-5G-WIFI-64Bit-BT4-1-Media/293007973727)

open source LInux support is here: [https://github.com/rockchip-
linux](https://github.com/rockchip-linux)

~~~
stefan_
That Rockchip has an ancient Mali 400 GPU (with no open source drivers) that
won't be able to render a Flutter app at 1080p, or lower even.

The engine library alone is also already ~70 MiB. Running the Flutter Demo on
my RPi3 (in aarch64, so the numbers are somewhat inflated) it's at 250 MiB of
memory (with about 60 MiB of that for the system) and an additional 60 MiB of
graphics memory. This is on a 1366x768, where the RPi graphics just about
manage 60 fps (when warmed up).

~~~
andrewstuart
So it does not sound encouraging for Flutter on $20 HDMI sticks.

~~~
stefan_
We have $80 retail smartphones that blow this chip out of the water, so I have
no doubts you can make a very good performing $20 Flutter stick. It's just
that currently, it takes about 10 years for any sort of mobile throwaway
hardware to get some sort of open source support that would make this possible
for the home tinkerer.

~~~
andrewstuart
Rockchip - the maker of the rk3036 CPU are pretty good with their open source:
[https://github.com/rockchip-linux](https://github.com/rockchip-linux)

>>We have $80 retail smartphones that blow this chip out of the water

I'm interested in things that plug in to HDMI.

This for example is $150 [https://www.ebay.com.au/itm/X99-TV-BOX-4K-UHD-
RK3399-4GB-32G...](https://www.ebay.com.au/itm/X99-TV-BOX-4K-UHD-
RK3399-4GB-32GB-ROM-Android-7-1-2-4G-5G-WIFI-64Bit-BT4-1-Media/293007973727)
and uses the newer rk3399 chip
[http://rockchip.wikidot.com/rk3399](http://rockchip.wikidot.com/rk3399)

------
otobrglez
Love the concept, love the push. But to be sincere, won't touch it with a pole
because of Dart. However,...

Why o why is this thing not written with/for TypeScript?

~~~
skybrian
They needed to work with a language team that's willing to modify the language
to meet their requirements. Dart needed a killer app and was willing to work
with them. The rest is history.

JavaScript was invented for similar reasons (though by one person).

------
egeozcan
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.

~~~
thosakwe
Self-plug, but I just released Angel v2.0 this past month: [https://angel-
dart.dev](https://angel-dart.dev) (and [https://docs.angel-
dart.dev](https://docs.angel-dart.dev))

It's got a great story for code-sharing, an ORM, GraphQL support, along with
dozens of supplementary packages for things like static files, WebSockets,
etc.

~~~
fuddle
Awesome, this looks great!

~~~
thosakwe
Thanks! Means a _lot_. I've been working this for longer than 3 years now.

------
ergothus
No one has (yet) mentioned the main reason I ignored Flutter when it initially
came out and why I continue to have reluctance - It's google. They have a
terrible track record with products AND with libraries. GWT? Dart (pre
flutter)? NaCl? How about all those initial Angular devs?

That's not a statement on the quality of the result (though some of those
examples do indicate concerns), but if I'm not alone in avoiding a product
that tackles a real industry need because of the source, that's a bad sign.

~~~
mful
What source would you prefer an open source UI library come from, that would
avoid this concern?

Open source software lives and dies with adoption. Starting off with a (paid)
development team, marketing team, and large initial user base (google
internal) puts a piece of software in a good starting position, but doesn’t
guarantee success.

Disclaimer: I work at Google, though not in a Flutter-related role.

~~~
Barrin92
Not the OP but I've quite a lot of trust in Microsoft when it comes to long
term support and stability of their frameworks. They have their problems, but
when they commit to something it's usually supported and stays around.

~~~
alluro2
More-less agree, but, khah-Silverlight :)

------
pier25
I love the idea of Flutter for mobile and desktop but I'm very skeptical about
the web implementation.

They will need to reimplement tons of stuff that are already included in the
browsers and ship all that code with the application.

~~~
skybrian
I look at it differently. When someone compiles a game to webassembly it's
seen as an accomplishment, right?

It doesn't mean you would normally write web apps this way, particularly if
you're targeting consumers internationally and need web pages to load fast.

But being able to make a desktop or mobile app work in a browser should be
useful, particularly for businesses. Sometimes you're not targeting the whole
world and can assume users are office workers who have a reasonably fast
desktop-class computer and a decent network connection. (Or if they're away
from the office, they've already installed the mobile app.)

Some markets are more sensitive to download size than others and you need to
understand your users to know what you can get away with.

~~~
pier25
> When someone compiles a game to webassembly it's seen as an accomplishment,
> right?

Yes, but browsers do not have game engine APIs. They do however have a layout
engine, text editing and rendering, accessibility features, and a very long
etc. Basically anything you need to make an app with text, images, buttons,
etc.

Don't me wrong, I'm sure Flutter for the web is a technical marvel.

> Some markets are more sensitive to download size than others and you need to
> understand your users to know what you can get away with.

So you are arguing that Flutter for the web is a nice bonus you get but not
really intended to be a general use case web dev framework.

If this is the case, it seems the Flutter team is missing a huge opportunity
by not being a truly universal UI toolkit which it could be if it used the DOM
instead of reimplementing everything.

~~~
skybrian
I don't know what it's intended for or who will find it useful. Just saying
that it's not a binary choice (either useful or useless for everyone).

------
xkapastel
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.

~~~
wstrange
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.

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

~~~
Hixie
(I'm the Flutter TL.)

We support targeting the Web (that's the tech preview we released today), and
we support targeting Android, both of which ChromeOS support. We also support
development on ChromeOS.

~~~
mkozlows
So there's not, as of now, a "native" (not using the Android emulation)
Flutter API in ChromeOS?

~~~
skybrian
ChromeOS apps are (were?) written in JavaScript, using similar API's as Chrome
extensions, and can be installed via the Chrome Web Store. So at one time at
least, you could write them in Dart and compile to JavaScript. I remember
there being Dart wrappers around some of these JavaScript API's. Not sure how
smooth the path is anymore or if that's what you meant by native.

The modern way would be to write a single page app using standard web API's,
if those are enough to accomplish what you want, since it's portable to other
browsers that way.

------
gjmacd
We need to learn yet another language (Dart)? No thanks.

~~~
michaelchisari
It's a bloody simple language to learn if you already know one of the similar
modern typed languages (Typescript, Swift, Kotlin, etc).

You can honestly pick it up in a weekend, there's nothing particularly new or
groundbreaking.

~~~
pacala
The language is easy. One can also learn English in 5 minutes: SUBJ-
VERB-[JJ]*-OBJ, done! The library ecosystem and best practices on the other
hand...

------
k__
Because some people asked when to use Flutter instead of something like React-
Native.

Complex UI.

If you got a system with complex UI, like Photoshop, Maya or Logic, you want
it to look the same on all platforms. Sure, it won't adhere 100% to the
platforms idiosyncracies, but re-designing it forever platform isn't an
option. It's too expensive and people already poured time into learning the UI
and just want it to work the same when they changed platforms.

------
_eric
Anyone using Flutter with windows 10? It's been a pain to get the emulators to
work - having to changes some Bios config and all.

~~~
JohnTHaller
I have Flutter up and running on Windows 10 with the virtual Android device
connected up and running my simple apps I'm playing with.

~~~
_eric
Are you using an Intel or AMD processor? Looks like some Bios config are
specific to Intel.

~~~
ElCapitanMarkla
I gave up. I have to run a VirtualBox VM for my work which means I have to
have HyperV disabled, which means the Android emulators don’t work... also
tried the arm images but no cigar.

I’m running a Ryzen CPU and I feel like that’s half the battle.

~~~
Marsymars
You could technically migrate your VirtualBox VMs to Hyper-V.

------
mixmastamyk
Does the runtime work on Linux, i.e. Debian, Ubuntu, rather than ChromeOS?

~~~
Hixie
(I'm the Flutter TL.)

As a target platform or as a development platform?

We don't support targeting Linux out of the box today, but we support Linux as
a first-class development platform (it's what I use). That said, we do work on
Linux, and if you're willing to do a bit of work, you can use it to write
Linux apps. If you want to target X11, you'll need something like
[https://github.com/google/flutter-desktop-
embedding](https://github.com/google/flutter-desktop-embedding) whereas if you
want to target the hardware directly, you can do something like
[https://medium.com/flutter-io/flutter-on-raspberry-pi-
mostly...](https://medium.com/flutter-io/flutter-on-raspberry-pi-mostly-from-
scratch-2824c5e7dcb1) .

~~~
mixmastamyk
Interesting thanks. I'm looking to make something that can play media and
animations would like it to run on beefy PCs as well as tablets if I can.

~~~
Hixie
We're not quite there yet unless you have a high tolerance for pain, but in
the coming year we should in a good place to support that kind of thing.

~~~
mixmastamyk
pain: bugs or performance, or both? ;-)

~~~
Hixie
Neither. More like "figuring out your build system and how to integrate with
the Flutter embedder API and how to hook all that up to the Dart compiler" and
that kind of thing.

------
codedokode
It is interesting that they have a special, third-party mirror for China: [1]

Also, I don't like Dart after I used a site built with it by Google. As far as
I remember, it was a Doubleclick for publishers or something ad-related. It
was very slow, even in Chromium, all animations were laggy, and in Developer
Tools I saw that it loaded megabytes of JS, compiled from Dart code. For
example, a "What's new" widget was implemented as a separate app and loaded
several megabytes of code including its own copy of a standard library. I
would recommend against using Dart for Web sites.

[1] [https://flutter.dev/community/china](https://flutter.dev/community/china)

------
Gilbertman
After read all these comments, if there's an idiom I can put, hater is gonna
hate.

------
CapsAdmin
The lack of accessibility sucks, but there's a part of me wondering why we
don't have accessibility tools that don't rely on us tagging images and giving
us the ability to navigate the layout of a page.

Wouldn't tools that do text and image recognition based on screen selection,
arrow keys that move to the center of the nearest shape, etc. be a lot more
useful? Like a Google lens for desktop.

Text selection is 100% reliable, but being able to get the text and layout
from any arbitrary image and be able to navigate that would help those who
struggle with vision a lot more, even if it's only 85% reliable.

~~~
TeMPOraL
Once you're at the level of OCRing text from screen, it becomes a general-AI-
complete problem. See e.g. how bad OCR still is for books, and there you can
still make good assumptions about the shape and meaning of text (sentences,
paragraphs, chapters). With arbitrary UIs, you have to _recognize_ what each
block of pixels means, and that's the GAI-complete problem at which even
humans fail (that's why the UI/UX/HCI fields exist).

------
Kaotique
Frameworks like this have come and gone in the last 10 years. I'm not
convinced that using this will save you time in the long run. You need to
invest a ton of time learning the ins and outs of these frameworks to get
stuff done. There are always limitations compared to real native solutions. I
think the time is wiser spend understanding the iOS and Android platforms
itself.

There is also a big chance that Facebook, Google or whoever will drop their
project at some point leaving you hanging and having to rewrite everything
again to native or the next multiplatform framework.

------
rameshvel
This is great news for those investing in Flutter. But from the looks of it,
it seems like a Front end framework (AKA client-side rendering).

Is there a plan to implement a web framework that can render Server Side
Pages. Since it's developed in Dart. Like how next.js took react and
implemented an isomorphic rendering. I don't think any reason not doing it.
That's a win-win.

I would really give it a shot if they can do that.

Anyone from Flutter dev got a comment??

------
Andrex
This may be a silly question, but for any Flutter folks here, are there any
plans for WebAssembly or is that putting the cart before the horse?

------
LyalinDotCom
Great to see the Flutter dev team jump in here to answer questions. Kudos on
that and congrats on release!

------
ramon
These frameworks are starting to get too complex that is why the sizes are
huge. I liked that pika concept of not using webpack anymore. I think the
future of the mother of frameworks is to o stop compiling in webpack!

------
craftoman
Question: Should I start experimenting universal apps with .NET or Flutter and
what if Google abandon the whole project in the next few years?

------
ww520
Would Flutter be good for cross platform game development? Or better stick
with Unreal Dev Kit?

~~~
rhokstar
For now, Unreal. Flutter at this stage doesn't have support for 3D via OpenGL
ES or similar. Heavily focused on 2D only.

------
qwerty456127
The last post on desktop Flutter said it was going to change a lot. Is this
time over?

~~~
qwerty456127
It seems like nothing has changed. The repository wiki still says "The current
Linux shell is a GLFW placeholder, to allow early experimentation... Expect
the APIs for the final shell to be radically different from the current
implementation."

------
lcswillems
Am I right if I assume that Flutter for web will not be SEO friendly?

------
i18ns
If flutter supports hotfix, it's perfect for engineering.

~~~
saagarjha
Flutter can hot reload code, if that's what you're asking.

~~~
i18ns
HotFix is a technique like code push, I had asked Flutter developer before.
Flutter not support it right now.

~~~
sondh
The TL (he is on HN) said Code Push won't come anytime soon:
[https://github.com/flutter/flutter/issues/14330#issuecomment...](https://github.com/flutter/flutter/issues/14330#issuecomment-485565194)

------
dfischer
Is the intention for flutter for web to replace angular dart?

------
wpdev_63
i just wished they used kotlin... even if they targeted the llvm. it's a great
language with every feature under the sun - why reinvent the wheel?

------
martzy13
YACPF Yet Another Cross Platform Framework.

------
gdsdfe
Wow they've doubled down on Flutter ... Hmm better check it out

------
Animats
Does it use material design?

~~~
saagarjha
It can, if you theme it that way.

------
foobarbazetc
Flutter = new Flash. :)

------
bubblewrap
How does Dart compare to Kotlin? I was planning on learning Kotlin, hoping to
use it for server side development as well. But somehow now I have a feeling
that developing mobile flutter apps might be more pleasant (pure feelings not
based on any real data).

Does Dart offer good performance, asynchronous IO and all those things?

------
carmate383
Goodbye React. You were good to no-one.

------
d0100
Flash is back

~~~
ericathegreat
And that's a genuinely great thing.

Sure, by the end Flash was a pain in everyone's backside. But Flash was
critical in the transformation from a text-only internet to one where we could
watch videos, or play games, or chat to other people in real time. So much of
our modern web standards were born from an attempt to make it possible to do
the things that Flash taught us should be possible.

If Flutter can be half as transformative as Flash was, then bring it on!

------
edem
Does this work with a language which is not Dart?

------
jbverschoor
Nice and all, but as it's google... When will it be abandonded?

------
t3hprofit
Hey! Just what we need, another UI framework! oh...wait. no we don't.

------
adrianlmm
It doesn't work on Edge nice job Google.
[https://imgur.com/a/QhIzx4e](https://imgur.com/a/QhIzx4e)

------
pjmlp
> UI-as-code language features.

An euphemism for "we failed to provide a good UI designer experience".

