[MUSIC PLAYING]
SPEAKER 1: So let's talk about Flutter.
Our vision for Flutter is something that many of us
have been dreaming of for years.
A powerful, general purpose, open UI toolkit
for building stunning experiences on any device.
Embedded, mobile, desktop, or beyond.
There are four characteristics of Flutter
that we think make it a unique platform for you
to build native mobile application experiences.
Firstly, Flutter enables you to build beautiful apps.
Flutter provides a rich palette of tools that give you control
over every pixel on the screen.
Secondly, Flutter is fast.
It's powered by the blazing speed Skia 2D graphics
engine which enables hardware accelerated graphics.
Thirdly, Flutter is productive.
Flutter introduces a revolutionary new capability
for developers and designers to iterate on their apps
in real time.
And lastly, Flutter is open.
Flutter itself is open source, open for contributions,
open for extendability.
Every line of code is available for you
to read, fork, extend, amend.
Put all this together and you have
Flutter, a framework for building
beautiful, native experiences for iOs or Android
from a single code base.
SPEAKER 2: So we built an app for this event.
It's called The History of Everything.
And I'm going to give you a little tour of the app.
This is because Flutter compiles ahead of time to arm code.
All right, so there is no [INAUDIBLE] to warm up.
There are no scripts to parse.
So let's take this a little further.
It's nice to have scrolling.
But how can we turn this up to 11?
So I'm going to zoom right past dinosaurs, because it turns out
nobody likes dinosaurs.
I can sway the tree above of Newton.
And here we have an iPhone from 2013, so five years ago.
And again, it runs just fine.
But can we take it a little further?
Let me zoom in.
Oh, is this an actual Google map running
inside my Flutter application?
[APPLAUSE]
While it's being swayed around.
You know, sure.
We've seen an application that I think is beautiful
that was built in three months by three people that
is fast on a wide range of devices,
and that because of the openness of Flutter
can do cool things like this.
SPEAKER 3: I'm so excited to tell you today
why I believe that Flutter is the perfect platform
for executing pixel perfect designs.
Right now, good design is expensive.
The designer hands us something detailed and beautiful.
But we push back on what makes it special.
We end up compromising on the details that
make our experience excellent.
So with the best of intentions, we say we'll get to it later.
But let's be honest.
Later never comes.
We've looked closely at what developers
need to execute complex, high fidelity
designs on the devices of today, and put it at their fingertips.
We can ship the app we really want with detail
and polish and fewer of those painful compromises.
These are reusable widgets designed by the material design
team here at Google.
We released a major expansion of material,
making the system more flexible and expressive.
You also get Cupertino, the faithful implementation
of Apple's iOs design language.
Cupertino gives us action sheets, alerts,
segment controls, sliders, nav bars, switches.
Over two dozen widgets that look like they
came right out of UIK.
But 100% open source.
If I have a question about a text field,
I can go look at its source code.
And you can't do that with private API's.
Flutter makes executing beautiful designs easy.
SPEAKER 1: Flair bridges the gap between designers
and developers.
Designers are at last able to fully participate
from beginning to end in the development of an app,
creating interactive content that can evolve along
with the rest of the app.
SPEAKER 4: Where Flair really shines
is at building complex animation systems that
are really easy to control.
We have full support for bones, constraints, and inverse
kinematics.
SPEAKER 5: As you can see, Flair removes the churn
between design and development.
And it really allows you to make great design a fundamental part
of your process.
I'm really excited to announce that Flair is launching today
on 2Dimensions.com, and it's free.
[APPLAUSE]
SPEAKER 6: What we want to do is show you something
a little different, what it's actually
like to build a Flutter app, what the developer experience
is like.
I wanted to build a retro clock because I love my '70s chic.
SPEAKER 7: And I wanted to showcase the fact
that we can use so many different features
with our mobile phones.
So we're going to be building a photo app,
because interactive timers are the best.
SPEAKER 6: And what I'm going to do
is I'm going to put in a stack.
And the reason I'm using a stack is
that we can layer widgets on top of each other with a stack.
And I'm going to start with a wood grain.
SPEAKER 7: Oh there you go.
SPEAKER 6: Oh dear me, it's wood grain.
Yes!
And there we go.
We have a card which is kind of boring.
So let's make a little more framing.
So I can give it a shape.
And I can give it a border.
And whoa, there we go.
Best clock ever.
Emily's done some funky math, to basically say
every time we hit zero on the seconds, take a picture.
And so we have managed to squeeze in stacks, columns,
rows, and list views.
So we're going to style up the time
and we're going to make it not look super modern.
We're going to go art deco.
SPEAKER 7: So you see that?
If you tap the button, you can see the text will change.
SPEAKER 6: Three, two, one.
Say cheese!
Oh look at that.
There we go.
[APPLAUSE]
Woo!
SPEAKER 8: I would like to show you something cool
that we've been adding to Flutter.
As you can see here, we have an avatar of me.
And just like the timeline app, the design animation
has been provided using Flair.
Close my eyes, tilt right, and left.
It updates in real time.
SPEAKER 9: We believe the economy is better
when everyone has access.
No one should be left out because the cost is too high
or the technology too complex.
We started with a little light reader
that let millions of merchants participate in the economy
by making it easy to take credit card
payments with your SmartPhone.
Now we've been following Flutter since the beta.
And we're impressed by how it enables developers
to quickly create beautiful and perform at cross platform apps.
That's why today we're so excited to announce
two new plugins for Flutter development.
The Flutter plugin for the square Reader SDK
and the Flutter plugin for the In-App Payments SDK.
Collins Family Orchards is a fourth generation family farm.
But they wanted to build an app to accommodate
the specific needs of their growing business.
This app helps them take and track payments
at each farmer's market they go to.
So let's say today that I'm at a farmer's market in Bellevue.
Great, and I'll enter the amount to charge.
And then I'll click Charge to start the transaction.
And I'll insert my card to take the payment.
Great!
And the payment was accepted.
Now when we look at that list of transactions for this location,
we can see the payment that I just took right there.
The Flutter plugin for the square Reader SDK
is available today.
And the Flutter plugin for the In-App Payments SDK
is available for early access.
SPEAKER 10: So I'm proudly presenting you our brand
new product, codemagic.
And I'm going to show how easy it
is to set up the whole pipeline to build your Flutter
apps on codemagic.
It's very easy.
You just kick off the first build.
You see the whole process here on one screen.
So as I'm on Slack very often, then of course,
I want my notification to end up in Slack channel.
So I have chosen here that I want
to know when the build starts and when it fails.
Or when the artifacts are published.
OK.
So you see that it's currently building the Android app
and already you can open up the steps to see everything
what's going on here.
You can also actually [INAUDIBLE] your workflows.
So you know, I'm convinced that Flutter plus codemagic
is the fastest route to get your apps to the hands of your end
users.
So I invite everybody to join and sign up at codemagic.io.
It's free.
It's live now.
[CHEERING]
SPEAKER 1: Flutter was not conceived
as an SDK for iOs and Android.
Our vision for Flutter is to be a portable UI
toolkit that can go wherever you need to paint pixels.
The Flutter engine is inherently cross platform.
And it can be embedded in all kinds of hardware.
We believe Flutter is a useful building block for these kinds
of embedded scenarios.
Another very practical example of how
we are already going beyond mobile
is Flutter Desktop Embedding.
This is an open source project that
enables Flutter apps to run on Mac, Linux, and Windows.
And in fact, when we were putting this presentation
together, we were thinking, how could we
make our slides as beautiful as possible?
So we built the entire presentation in Flutter.
There's one other place we'd like
to go with Flutter that really demonstrates the groundbreaking
potential of this technology.
We're calling this Hummingbird.
And it's a port of Flutter that runs on the modern standards
based web.
Here's by simple mobile app that we've been
running on an Android Tablet.
And everything you're seeing here
is Flutter running on the desktop web browser.
Importantly, it's the same Flutter code
running in this browser as on the phone.
In the meantime, we're publishing right now
a blog article that describes more of the technical details
behind Hummingbird.
And we'll have a lot more to share at next year's Google I/O
Conference.
SPEAKER 11: So finally, and really the whole reason
why I'm up here, is to say a big thank you.
Thank you for taking time out of your day to celebrate with us.
Flutter has always been, and always will
be a community effort.
Built together, in the open, no one company or one team
can reach all of the places we want Flutter to go.
So we close with our hats off to that community.
The stories like we're about to show you give us the motivation
to continue each day in this mission.
Thank you.
[APPLAUSE]