[UPBEAT MUSIC PLAYING]
[MUSIC PLAYING]
TODD KERPELMAN: Hey there, I/O Live.
I am Todd Kerpelman.
And I am here inside the very crowded and popular Flutter
Firebase Dome talking to Michael Thomsen,
Product Manager of Flutter.
Hi, Michael.
MICHAEL THOMSEN: Hi, how are you?
TODD KERPELMAN: I'm doing well.
Thanks.
So there's a lot going on here inside the dome
as well as some stuff going on outside.
Tell me, what are we looking at here?
What's going on behind us?
MICHAEL THOMSEN: So this is our showcase wall
that illustrates the wide selection
of different types of apps you can build with Flutter.
So Flutter, of course, is Google's multi-platform SDK
for building mobile apps for both iOS and Android.
So what we're seeing here are some apps
that look very traditional iOS look and feel.
We're seeing an app from Google, over here,
from our Atlas team, that has a much more traditional material
look and feel.
And we're seeing a number of apps
that have a much more custom look and feel,
where they've tried to create this more
brand-specific extension and where the layout of the app
really is an extension of that brand.
TODD KERPELMAN: And so what else can an attendee
find if they are exploring the Flutter Dome?
MICHAEL THOMSEN: Yeah, so what we're
seeing here is the end result. And the thing
that's really interesting is that's just
one of our key components of our offering.
The other thing is we have a great developer experience.
So when you try and create a UI, whether it's
more traditional or more custom, we
found that there's a lot of iteration going on.
You may have one notion of what your screen should look like,
but it's really helpful to take that and tweak it
and, step-by-step, to build up your UI.
So for that, we built something called
hot reloads, which is the ability
to update the current screen you're looking at and in just
a few hundred milliseconds, push a small change
to that running application, preserving
the whole state without having to re-navigate back in.
And that's actually an example of all the great engineering
we do in this project.
So when you use hot reload, you're
running it against a virtual machine, which is how
we can do those quick reloads.
Plus, when you're running these apps in production,
very importantly, we compile these
to a native ARM machine code.
So you get the combination of fast iteration speed,
at development time, with fast execution speed and production
rates.
TODD KERPELMAN: The thing about hot reload
that I think maybe not everyone gets at first
is this is actually running on a real device.
You're editing real code.
MICHAEL THOMSEN: Yeah, so we do a lot
of really cool engineering in this project, I think.
So when you run during development time,
with your Flutter app, you run on a virtual machine.
So we can push these tiny updates to the running app
and see that effect right away.
But when you're running all these apps behind us
in release mode, we actually compile straight
to native machine code.
So we get the combination of this fantastic performance,
with sixty frames a second in production apps,
and amazing stateful hot reload, where
we can update the UI in just a few hundred milliseconds.
TODD KERPELMAN: Wow.
I have to say that is great.
As a developer, I know sometimes,
it takes 30, 45 seconds to compile a new version.
And those are like the longest 30, 45 seconds in the world.
MICHAEL THOMSEN: So one of the sort
of expressions we use for this is you can paint
your app to life in Flutter.
So you can sit down and collaborate with the designer.
And they can ask you to tweak the app.
And you're just making those tweaks on the fly.
And in less than a second, they could see the effect.
It enables you to experiment.
And I think that's actually one of the main reasons
why we're seeing all these creative layouts come out
is that tight developer loop you are getting with Flutter.
TODD KERPELMAN: So I know a lot of developers
I've talked to have been very excited about Flutter.
Everyone I've talked to, who's really used it,
has walked away super-excited about the potential.
What's new in Beta 3 that developers can look forward to?
MICHAEL THOMSEN: There's a number of new things in Beta 3.
We're announcing a couple of new partnerships.
I mentioned 2Dimensions here, which
have great tooling for two-dimensional animations.
We have Infragistics that announced some tooling
for doing prototyping and doing co-gen from that into Flutter.
Then we announced a number of new partners.
We have Alibaba that's using Flutter.
We have Groupon working with using Flutter and a few others.
And then lastly, we announced that we really
think Flutter is now ready for production.
So I talked about apps here.
Most of these apps are in production.
So we invite developers to take a look at Beta 3
and see if it matches their requirements.
And then go ahead and use it in production.
TODD KERPELMAN: Well that sounds great.
And if people want to find out more about Flutter, where
should they get started?
MICHAEL THOMSEN: They should go to Flutter.io on our home page.
They can see the Showcase tab that
has a selection of these apps for them.
You can click Get Started and get quick installation tips.
Or you can proceed to any of a number of code labs,
that we have prepared here for the Google I/O event,
that you can do at the comfort of your own home or office.
TODD KERPELMAN: All right.
Well thank you for taking the time to give me the quick booth
tour.
If you want to find out more about Flutter,
go to Flutter.io.
Try out a code lab or two.
Bet you'll learn something new.
And thank you so much for joining us on I/O Live.
Thanks again.
MICHAEL THOMSEN: Thank you very much.
TODD KERPELMAN: Absolutely.
[UPBEAT MUSIC PLAYING]