
Flutter Release Preview 2 - timsneath
https://developers.googleblog.com/2018/09/flutter-release-preview-2-pixel-perfect.html
======
threeseed
I spent quite a few months comparing this with React Native.

Flutter has done cross-platform right. And it's somewhat sad and counter-
intuitive but pretending to be native is a lot better than actually being
native. iOS and Android are just too dissimilar in areas to provide a common
layer on top of. In particular routing which is a mess with React Native.

Flutter also has the best development experience period. Nothing comes close.
Compilation is fast. The reload cycle is instant. The tooling is excellent. It
is really polished.

I just wish it had not come from Google because you always get that niggling
feeling like it's going to abandoned. Which would be a real shame.

~~~
timsneath
Thanks for the kind comments! I'm one of the product managers on the Flutter
team, so you're welcome to apply suitable skepticism to anything I might say
in response to your last point, but I will say that Flutter is already being
used in many strategic projects here at Google, as well as for many customer
apps, some of which already have tens of millions of users. For example,
Alibaba are using it to build one of their big apps:
[https://www.youtube.com/watch?v=jtYk3gWRSw0](https://www.youtube.com/watch?v=jtYk3gWRSw0)

I don't know if this is helpful in assuaging your concerns?

~~~
mixedCase
Hey, thanks for the data point. I'm actually fairly interested in Flutter, but
I have no interest at all in Dart since I find it severely lacking compared to
modern, more popular production languages for mobile development such as
TypeScript or Kotlin (which have features such as algebraic data types which
have become an absolute must-have for me and my team), to the point it
completely deters me from adopting it.

Is there any chance that the Flutter core could get bindings to another
language in the future? Regardless, thank you for your work on Flutter; if not
Flutter, at least it has paved the way for demonstrating a "native-imitation"
makes a lot of sense with regards to developer productivity and performance,
something that sorely needed more buy-in from the mobile community.

~~~
jrs95
The great development experience is largely tied into Dart and it's toolchain,
not to mention all of the underlying Dart code in the project. However, you
can get the same kind of control flow out of Dart albeit with a little less
static checking ([https://github.com/dart-
lang/sdk/issues/33079](https://github.com/dart-lang/sdk/issues/33079)) so from
a pragmatic standpoint this really shouldn't be something that's holding you
back. The cost of not having ADTs is much lower than the cost of maintaining
two separate iOS and Android apps (or even dealing with the downsides of other
cross platform approaches IMO).

~~~
mixedCase
Hi. Thanks for the workaround, it's fairly similar to how it's handled in TS,
except more verbose (which TS is already very much so when compared to
something like Elm). That isn't a problem for me since I have some experience
with functional programming, but that'll likely be a serious disincentive for
other devs (TS itself has been a problem already). Maybe I'm off the mark and
that is idiomatic and a very common Dart pattern, and can be assimilated
through familiarity?

On another note, is there any workaround to have true non-nullable types?

As far as the cost of having one codebase goes, right now it's somewhat of a
worse is better approach; we're looking into something that heavily improves
things and is worth rewriting our apps into. RN hasn't been it due to its
FFI/bridge problems not making us comfortable and Flutter is something we've
been looking into but the language has been a deterrant, so it's hard for us
to argue "yes it's better on every metric and worth the effort".

~~~
jrs95
Dart has had some null-aware operators for awhile
([https://news.dartlang.org/2015/08/dart-112-released-with-
nul...](https://news.dartlang.org/2015/08/dart-112-released-with-null-
aware.html)) otherwise you'll need to explicitly do null checks. It's
certainly not perfect, but it's still "good enough" to make handling null
relatively concise. In my experience code review can do a good enough job at
promoting good practices around null handling that non-nullable types are
really just a "nice to have".

------
nevi-me
EDIT: formatting

Almost everyone here talks about abandonment. It's become a sad Google
reality, but I'd hazard that some people are posting from Google Chrome, which
would defeat the point about worrying.

I use Flutter, I've released an app that's been in prod for about 5 months
now. Flutter runs on Dart, which is a Google-bred language. From my little
knowledge, most/some of the people working on Dart are the team in Aarhus that
work(ed) on V8. Our Vyacheslav Egorov (mraleph) being first that comes to
mind.

Is Google going to abandon Flutter, what about Dart? Should I not learn Go
because they'll also abandon it? Heck, should I not develop for Android
because they'll abandon it too?

The fearmongering is a bit excessive. I'd think Google has a better track
record with software platforms. I separate Google into:

\- Products - come for free, can be abandoned any time

\- APIs - come for free, don't build your business around them in case
MapsGate price surges come your way. Or, if you rely on them out of being
"free", always have contingency plans to switch. After all, if they build a
market then destroy it, it's a good space for smaller players to join in.

\- Software & Platform Tools - feels safer, unless very experimental.

___

Flutter allowed me to do in a few days what Java/Kotlin was taking me weeks.
Why? It makes developing UIs much easier. As one can see from the RP2
announcement, background execution looks hairy, app size is improved but the
build process still lacks what native has (e.g. updates to an app result in
user downloading whole apk).

Will I have to rewrite my app again when Flutter is abandoned? Sure, but it
won't be an overnight rewrite. I'll probably be able to get away with a 1-2
year window (if I need one) before the last supported Google Play Services
becomes obsolete.

For me, I'm willing to take that upfront benefit. Yes, downside's learning yet
another new language. I learnt Dart, and it was about 80% similar to the langs
that I already know.

~~~
monkmartinez
> but I'd hazard that some people are posting from Google Chrome, which would
> defeat the point about worrying.

Uhhh, how do you draw that conclusion? There are lots of browsers and they
take literally zero time to learn. Comparing a browser to programming language
or framework is apples and oranges.

> Is Google going to abandon Flutter, what about Dart? Should I not learn Go
> because they'll also abandon it? Heck, should I not develop for Android
> because they'll abandon it too?

I have been a strict Android user for years. Google has effectively abandoned
it with the way they've managed the project. I am moving to iOS for a variety
of reasons, one of which is that I know where they (Apple) stand with the
platform.

I wouldn't learn Go or Kotlin either, honestly, as there are arguably lots of
languages that do the same with less separation anxiety.

My only mobile apps are Android only and regret it. I was a big android
advocate and now I am not. I have been excited too many times and let down too
many times to really care at this point. Google really wasted a lot of my time
in retrospect. They announced projects like they are the second coming only to
kill them once you have invested countless hours of time learning. I still
have the OG Android ADK from I/o 2011...

~~~
pjmlp
Same here.

Java and C++ for my hobby coding on the platform.

Both skills much more useful on contexts outside Android development.

If I would need to write cross platform mobile apps production code, I would
rather go C++ for business logic with native views, Qt, Xamarin or if
performance requirements aren't tight, PWAs.

Dart makes it unattractive to learn Flutter, given its past history.

And Kotlin it remains to be seen how well it will faire in the actual Java
world, outside Android, where we can make use of the latest versions slowly
picking features from the alternative languages.

------
MarkMc
I first started developing with Flutter about a year ago.

One thing that has really impressed me is how responsive the Flutter team is
to developers. Often when I posted a question on Stack Overflow it would be
answered perfectly within 24 hours by a member of the Flutter team.

Contrast this with React Native where Facebook's attitude seems to be to
develop what they need themselves then 'throw it over the wall' to for others
to improve.

The Flutter team is like a dog that really wants you to be happy. The React
Native team is like a cat that doesn't really care about you as long as she
gets fed.

~~~
komuW
This has also been my experience thus far.

The devs in the dart[1] and flutter[2] gitter chatrooms are even faster at
responding to questions, in my experience.

1\. [https://gitter.im/dart-lang/home](https://gitter.im/dart-lang/home)

2\. [https://gitter.im/flutter/flutter](https://gitter.im/flutter/flutter)

------
malkia
There is also an effort to bring flutter on the desktop.

I dabbled (briefly) in it, got flutter app running on windows + linux, though
certain integration factors (smooth window resizing, stability, mouse wheel
support, etc.) were not there yet.

For some of them (mouse wheel, keyboard, tabbing) there might be more work
needed (and maybe not seen as important), but it could bring a real "electron"
killer, where my slack, teams or whatever else "electron" app does not spawn 5
processes, and take GB of memory (granted, flutter still takes a lot, compared
to leaner Qt, and much much leaner write directly using Win32), but then there
are some sensible limits, and going below these (for the sake of perfection)
doesn't buy you much nowadays (I no longer have to run QuarterDeck QEMM to
shuffle my 640kb DOS+EMS memory efficiently around :))

~~~
eseidelGoogle
(Disclosure: I'm the Eng. Mgr for the Flutter project at Google.)

I've seen Flutter run in _lots_ of places, including desktops. Desktop isn't
something my team is actively developing at this time (we're very focused on
making mobile awesome), but we're definitely not stopping others from doing
so. There is even another team at Google experimenting with the idea:

[https://github.com/google/flutter-desktop-
embedding](https://github.com/google/flutter-desktop-embedding)

~~~
malkia
Thank you so much for the work on the language/platform. I used to work for
Google (LAX), and our team was using GWT, hopefully they have transitioned to
Dart + Angular (by now). I fell in love with Flutter right away, but it was in
no way connected to what I did back there.

------
hillelcoren
Another big fan of Flutter here...

We're using it to replace our native iOS and Android apps enabling us to have
a single code base. This is critical for a team as small as ours (2 devs
covering web and mobile).

I can't sing its praises strongly enough, you can check out the code for our
app here:

[https://github.com/invoiceninja/flutter-
mobile/](https://github.com/invoiceninja/flutter-mobile/)

Edit: grammar is hard

------
monkmartinez
I am moving away from Google as fast as I can in most areas. Every time I
bird-dog one of their products I am ultimately let down. There is no way I can
trust anything they build at this point. I wish it were different as they have
some really good ideas, they are just the worst when it comes to follow
through for the long haul.

~~~
CraftThatBlock
Google products and Google technologies are historically managed very
differently, especially if the tech is open source.

------
rohan1024
Are you frustrated with the way Android apps are developed? Tired of amount of
time to get simple list working? Writing lot of boiler plate code only to
update list from a dialog box? Ever got scared of implementing a navigation
drawer or a fragment? Did you left Android development because the time and
code to implement it was way greater than expected? Tired of handling life
cycles?

Sorry for being dramatic but if you answered yes to any of those give a try to
Flutter! You will be surprised of how fast you can develop an app for mobile
with descent UI. Thank me later!

~~~
pjmlp
I rather use Qt and Xamarin for that purpose.

More mature, may target desktop OSes and use languages that are actually
relevant in the market during the last 20 years.

~~~
danbalthasar
Flutter's edge over these technologies is faster development cycles (very fast
build times, sub-second reloading without losing state, very rapid ability to
update code/GUI after deployment to a testing device, and very fast render
times).

Xamarin and Qt are fine products, and I know Xamarin has been working on some
improvements over deploy times, but it still can't touch what Flutter does
there. And if you know C++ and C# already, Dart is a breeze.

~~~
pjmlp
A programming language is more than just semantics, Dart eco-system is a tiny
dot when compared against C++ and C#.

Flutter deployment times aren't worthwhile enough to bother with a language
with uncertain future.

~~~
Apocryphon
Doesn't Dart interop with JavaScript libraries?

~~~
pjmlp
It does, given its history.

However that is very little against C# and C++, which can also be compiled to
JavaScript/WebAssembly.

Additionally there are TypeScript, ReasonML, and a myriad of other languages
with JavaScript interop.

------
stewbrew
Why do they want me to learn a new language to make use of a gui runtime+lib?
Seriously. What makes that language that revolutionary so that nothing else,
no other tried & tested & loathed language, could have been used instead? I
don't see it.

~~~
filiph
We get this a lot. To the point that my colleague wrote this:
[https://hackernoon.com/why-flutter-uses-dart-
dd635a054ebf](https://hackernoon.com/why-flutter-uses-dart-dd635a054ebf)

It's not easy to explain in a HN comment. Technical decisions like these never
are. In this particular case, there is no single "Dart can do X and nothing
else can". That's not true for any feature. It's the combination that
mattered.

All in all, Dart was a really, really, really good choice. Not from a
marketing perspective, obviously, but that's not everything.

~~~
stewbrew
So, the argument basically boils down to: It's a bad thing to use a dsl or
similar only for gui. It's a good thing to use a whole new language you have
to port all your code to and that has only a small ecosystem so you can also
write all these libraries yourself.

Don't get me wrong. Flutter may well be a formidable piece of software. Dart
either. I just don't get how flutter is marketed around the fact that dart was
there first with no convincing use case and that people only then started
looking for a raison d'etre.

~~~
sebe
Hey I've been following Dartlang's up and downs over the years, here are some
ramblings about Flutter.

When the chrome guys started the Sky experiment, now the flutter project, they
started with javascript. I don't know why they dropped javascript, but they
looked at several languages before trying Dart. Here is a floss weekly episode
with one of the co-founders, talks about flutter's hotreload, an idea that
came from the Dart team.

[https://youtu.be/2C-2-tU6LLY?t=22m19s](https://youtu.be/2C-2-tU6LLY?t=22m19s)

If swift was opensource back then they may have gone with it and if they
started today they may have gone with kotlin native.

Flutter's hotreload feature, something that they didn't know they wanted, was
created after they decided to give Dart a go. While the Dart team had missed
the boat on getting the Dart VM into chrome, they still had their internal
customers using Dart2JS. The Dart team also had their own experiments in IOT
and running on IOS.

Maybe Sky/Flutter guys saw Dart solving their problems that Javascript
couldn't and they also saw that the Dart team has the expertise to help them
in advancing their experiment to where it is today.

~~~
stewbrew
Thanks for the background info. I was wrong then.

------
FlyingSnake
Flutter might be a cool project, but what's the status of integrating native
controls?

Mobile apps are not only CRUD clients and do lots of stuff that needs tight OS
integration. The last time I checked, flutter couldn't do Maps, GeoLocations,
AR (ArKit/ARCore), Encryption, audio/video, file storage etc activities that
are outside the normal purview of a CRUD TableView App.

Since flutter team seems to be active here, could anyone from the team shed
light on these aspects?

~~~
eseidelGoogle
(Disclosure: I'm the Eng. Mgr for the Flutter project at Google.)

In general Flutter takes the position that Flutter should not limit your
choices and your apps should be able to do anything the phone can do. Flutter
apps are just iOS or Android apps, you can always open up the ios or android
sub-folders and write as much Obj-C/Swift or Java/Kotlin code as you like.

Flutter's core engine/framework are all about providing portable UI, and leave
everything else up to "plugins" (the opposite of say the Web were everything
is baked into the core platform). Lots of plugins exist today, but there are
always more to write:
[https://pub.dartlang.org/flutter](https://pub.dartlang.org/flutter)
[https://flutter.io/developing-packages/](https://flutter.io/developing-
packages/) [https://flutter.io/using-packages/](https://flutter.io/using-
packages/)

Responses to your specific asks:

Showing arbitrary native views inline with other Flutter content is actively
in progress:
[https://github.com/flutter/flutter/issues/19030](https://github.com/flutter/flutter/issues/19030)
(already possible to show views to the side of/on-top-of a FlutterView of
course).

Full inline Google Maps is similarly in progress:
[https://github.com/flutter/flutter/issues/73](https://github.com/flutter/flutter/issues/73)

There are several community authored plugins for geolocation e.g.
[https://pub.dartlang.org/packages/geolocator](https://pub.dartlang.org/packages/geolocator).

AR is not something I've seen any work on yet, but it's always possible to
throw up a full-screen ARKit/ARCore view using ObjC/Java your otherwise-
Flutter-built app.

Flutter includes BoringSSL as part of it's runtime, some encryption APIs are
exposed, there is probably more for us to do here. There is also pure-Dart
crypto, e.g.
[https://pub.dartlang.org/packages/crypto](https://pub.dartlang.org/packages/crypto)
and of course always possible to write your own wrappers around iOS/Android
APIs (which someone may already have done too).

Audio/Video plugins exist today, e.g.
[https://pub.dartlang.org/packages/video_player](https://pub.dartlang.org/packages/video_player)

Some storage plugins exist (e.g.
[https://pub.dartlang.org/packages/sqflite](https://pub.dartlang.org/packages/sqflite)),
definitely more to write here.

Always more to do. If there is something specific you believe my team should
help provide, please let us know: flutter.io/support. Hope that helps!

~~~
FlyingSnake
Thanks for response, I have high hopes from Flutter, however having spend
years in cross-platform mobile development, I just want to avoid the most
common pitfalls. I hope this comment doesn't come out as snarky, I just wanted
to give an honest opinion.

Not having first-class Maps is a deal breaker for many apps, and having only
Google Maps support is not what most developers want. I would like to port my
current app, but without proper maps support Flutter feels like a cousin of
Ionic.

What's the FFI story of Flutter? Could you please point me to the direction of
using ARkit view using ObjC/Java FFI? From what I've seen we've to wire an
OpenGL View to achieve AR capabilities, but I might be wrong.

While the crypto package is a good start, I was more interested in having
access to the Trusted Execution Environment (TEE) on iOS/Android. Do you have
any work being done in that area? Lots of apps (e.g. Fintech) have security
audits and these things could be a deal breaker.

A cursory look the Audio plugins show that it's a wrapper around AVFoundation
etc. and they are capable of playing audio/video, I would love to see an
official plugin with 1-to-1 feature parity with iOS/Android AV API.

Flutter is a great project, but it seems to be plagued by the same issues that
React Native, and Xamarin has.

------
hayksaakian
Are there any apps in the wild that I can install which use flutter? I'm
curious to know how it feels from a user perspective.

Stats and benchmarks are neat but I'd really want to try it firsthand to know
that it's "Fast".

~~~
timsneath
Here's a great demo if you want to see pure speed:
[https://medium.com/2dimensions/showcasing-the-power-of-
flutt...](https://medium.com/2dimensions/showcasing-the-power-of-flutter-
using-2dimensions-animation-tools-c87f0a89723a)

Another new example of Flutter in action is Reflectly, which was recently
featured on the Apple appstore: [https://medium.com/reflectly-
engineering/reflectly-from-reac...](https://medium.com/reflectly-
engineering/reflectly-from-react-native-to-flutter-2e3dffced2ea).

------
tananaev
Are those SO popularity comparison numbers real? If they are, I feel they were
somehow artificially inflated. I have nothing against Flutter, but I don't
think at this point it's as widely used as Xamarin and React Native. For
Angular numbers should be even higher.

~~~
MarkMc
I don't know where they got those numbers. This graph seems more realistic to
me [edit: maybe not - see subcomments]:

[http://sotagtrends.com/?tags=[ionic-framework,react-
native,f...](http://sotagtrends.com/?tags=\[ionic-framework,react-
native,flutter,xamarin\]&relative=true)

That is, Flutter is shooting up and overtaking Xamarin but still only half the
popularity of React Native. This also roughly correlates with mentions on
Google Trends:

[https://g.co/trends/y9Z8q](https://g.co/trends/y9Z8q)

On job websites React Native is way ahead - which you would expect given React
Native's headstart. For example, www.jobstreet.co.id currently has 43 jobs for
"React Native" but only 5 for "Flutter".

~~~
timsneath
Hi there, the source for these numbers is the StackOverflow API. Just to
clarify, the chart we have in the blog is showing question _views_, not
questions tagged. There are more questions for other frameworks still (since
they're more mature technologies), but we're seeing lots of views of questions
tagged with Flutter.

~~~
MarkMc
Thanks for the clarification. Using 'number of views' would seem to be a valid
metric, so now I'm not so sure about which graph is more realistic.

------
joobus
How confident can anyone be basing a core product on flutter given Google's
history of abandonment?

~~~
megaman821
I am especially nervous about Flutter since they don't even have to abandon
it. If they don't keep pace with new OS releases, there is no great way to
recoup your investment in Flutter. You are just stuck without an outdated
looking app or forced to do a full rewrite in the native frameworks.

~~~
ozyx
Keep in mind that Flutter is an open-source project with an active community.
There's nothing particularly special about the built-in widgets that the
Flutter framework provides; other developers can make and publish their own
widgets easily enough if the built-in widgets are insufficient.

------
Apocryphon
Google is making a smart move by showcasing Flutter's capability to make iOS
apps. Cross-platform SDKs have a tendency of favoring one (iOS with React
Native) or neither. By showing that devs can easily make quality apps on iOS,
they show the promise of Flutter.

------
RobertRoberts
It's really sad how Google can possibly (I won't bother wasting my time to
find out) make something really truly awesome, and it just doesn't matter at
all. Their brand has a stink to it that won't wear off any time soon, if ever.

They chose an evil path of manipulating users into giving up privacy. Talking
out both sides of their mouth with politics and freedom of speech and other
things. Creating and dumping tech like hot potatoes. Attempts at mass
manipulation of the internet (AMP, messing with the location bar). The list
goes on...

Google is schizophrenic, and I don't know if they can come back from this in
the long term. I won't even bother looking at any of their tech anymore, there
are plenty of great alternatives to every service they offer without all the
Google baggage.

~~~
jrs95
There really isn't an alternative for what Flutter does, which is high quality
cross platform apps that don't require separate UI code. Xamarin has Forms,
but the UX is not nearly at the level of what you get from Flutter, and it
would require some serious rework of how they render their widgets for that to
change. Other solutions like Qt are just lagging behind, as much as I wish
that weren't the case. Ultimately I think Google has the ability to make
Flutter the primary platform for developing mobile apps in the future, if they
emphasize it as the preferred way of making new Android apps and especially if
they make it relatively easy to integrate Flutter into existing native apps.
If it were possible to easily drop one screen into an iOS and Android app with
Flutter, this would start getting immediate adoption because of how much time
and money it can save. Ultimately that matters a lot more than "Google
baggage" that only a small fraction of developers really care about.

~~~
RobertRoberts
At one point there wasn't an alternative to Angular either, look what we have
now. Not only that, there's still native. Which means anyone can easily hold
out that is on the fence for who knows what comes in the future.

Principles matter at some level, which is why many businesses abandoned
Godaddy a few years back. But also there's simple budget considerations.
Google has cost us tons of money over the years adjusting to their services.
Now we don't have to anymore, and it's a relief.

If I am forced to spend money I'd rather spend it on something competition
than to bolstering a belligerent monopoly and also support a system that will
still be around, or at the very least, give two craps about our situation.

Maybe you are too young to remember the bad old days with Microsoft was the
mean kid on the block. Google is getting worse than Microsoft ever was. And
that is really bad.

(edit:React confusion)

~~~
jrs95
I'd argue people left GoDaddy because their services suck. At least, that's
been my experience with them. And at the same time, what they were doing
wasn't unique, you have nearly unlimited alternatives in that space. I hope
you're right with the Angular comparison though, I would love to see other
projects move in a direction that truly competes with what Flutter is doing.
As for native...you're right, I'll continue to tolerate it because none of the
cross platform solutions are really "there" yet, Flutter included at the
moment. It's interesting from a technical perspective, but I wouldn't bet on
it for a serious project until it at least hits 1.0

~~~
RobertRoberts
The specific instance related to Godaddy that was the straw that broke things
was the SOPA fiasco. Google has done many similar things, it could be argued
even far worse things, and it's somehow survived so far. But to think it's any
better of a company is to be myopic.

Well, I am in no hurry with Flutter, we will see how things turn out in the
next few years.

------
raydev
Looking at the new Cupertino stuff.... since Google is reimplementing all iOS
animations for navigation, bounce, etc., is that not infringing on Apple's
patents?

------
Rubytron
Nevercode is proud to join Flutter revolution! The day Flutter announces
Release Preview 2 Nevercode CI/CD supports Flutter apps out-of-the-box.
Building beautiful iOS & Android apps using a single code base just got
better! Check our doc: [https://developer.nevercode.io/docs/building-flutter-
apps](https://developer.nevercode.io/docs/building-flutter-apps)

------
saagarjha
Is Flutter using native controls here, or are they drawing a copy of them by
hand? I didn’t see a scroll bar in that demo, so I’m not sure. The rest of the
stuff looked pretty good, though of course I’d need to actually physically try
it to give it a final opinion rather than just rely on a GIF of someone
interacting with it.

~~~
danbalthasar
Flutter takes full control of the rendering pipeline directly on both
platforms - all the controls your seeing are written in Dart for Flutter, but
designed to mimic the best of what the platform offers.

In particular, this means that if you're running an Android app on an older
device, it can still show the latest Material design widgets (and similarly
for iOS, showing the latest Cupertino styled widgets, or Material).

~~~
saagarjha
> Flutter takes full control of the rendering pipeline directly on both
> platforms - all the controls your seeing are written in Dart for Flutter,
> but designed to mimic the best of what the platform offers.

You see, this is rarely what I want. I’ve seen time and time again people
trying to emulate controls and it just doesn’t work. Apple has a whole team
that’s spent _years_ making the iOS UI look just the way it is, and I don’t
trust any other team to be able to copy this without serious effort. Sure, it
might look pretty similar, but something always doesn’t work: the control
behaves differently, isn’t accessible, animates incorrectly, etc.

~~~
Hixie
(Flutter TL here)

I encourage you to compare our iOS ("cupertino") widgets with the UiKit ones.
We've still got many to implement, but I think we have the fidelity pretty
high for the ones we've implemented. If you disagree please do file bugs, we
care very much about fidelity.

~~~
saagarjha
Do you have a widget catalog somewhere that I could try out on my device?

~~~
tym0
If you have an android device you can use Flutter Gallery [1], it has the
Cupertino (iOS) widgets.

[1]
[https://play.google.com/store/apps/details?id=io.flutter.dem...](https://play.google.com/store/apps/details?id=io.flutter.demo.gallery)

~~~
saagarjha
Does this actually emulate OS-specific interactions such as gestures?

------
HappySweeney
Any word on the testing situation? Currently, my inaugural app has a bunch of
tests which won't run as a) you can't use plugins in unit tests, and b)
integration tests (via flutter drive) won't work with platform channels, as it
has a dependency on dart:ui.

------
crudbug
I was looking at this last week. The lack of native <XML> tree representation,
similar to JSX would make this ideal.

------
mike22223333
Do not use it for any serious project. It is Google, they will probably
abandon it. Google has ADHD.

------
jimmcslim
Wait, Dart is still a thing? Can I write Flutter apps in any other language?
I've had a look at a few pages to understand which language Flutter uses, but
it hasn't mentioned Dart yet (apart from the .dart extension in the Getting
Started example).

Sorry, yes it does - 'Dart language and core libs'.

