MAX WOGHIREN: Hi everyone.
My name's Max and I'm an engineer on the Chrome team.
Today I'd like to show you my favorite way
to build amazing Android and iOS applications using
web technologies.
You can install Chrome apps on mobile devices.
First though, a bit of background.
Many of you are aware that you can build applications
for Android and iOS that heavily leveraged the web view
component, to the extent to your application
is almost entirely built with HTML, JavaScript, and CSS.
Now to be clear, these are apps that you still
install from the app store.
They have an icon on the home screen
and full access to device capabilities,
like any other app.
But they're built using web technologies.
We often call these types of applications hybrid
because they are a blend of web and native technologies.
On Android, one drawback of hybrid applications
is that web views on older versions of Android
can be a bit limited.
Chrome has seen a ton of improvements on Android,
especially over the past year.
But running on old web views means
that you can't take advantage of those improvements.
That's where the Intel crosswalk open source project comes in.
The crosswalk project provides an embed double Chromium web
view for Android versions as far back as Ice Cream Sandwich.
Using Crosswalk, hybrid applications
can run on the latest version of Chromium,
regardless of Android versions.
Similarly on iOS, the web view has seen great updates
since version 6.
And now, with iOS 8, the web view
will match the full capabilities of the Safari browser.
And what does this all mean?
Well, it means that it's finally possible to build
hybrid apps that use a modern web view
and run on almost every Android and iOS device released
within the past three years.
Now here's an HTML5 Canvas based game called Pop Pop Win running
on the crosswalk web view.
Smooth as silk thanks to a hardware accelerated canvas.
This wasn't possible year ago.
Nowadays, hybrid apps can use technologies
like WebGL, WebRTC, Web Audio, accelerated 2D Canvas,
and modern web tool kits like Polymer
all at maximum performance without the need
for browser polyfills.
And it gets even better.
Hybrid applications are not limited to just using web APIs.
Since these apps are also native apps,
you'll have full access to all Android and iOS device APIs,
such as identity, Cloud Messaging, notifications,
payments, Bluetooth, sockets, cameras, and much more.
Here's an app written using Polymer showing off
some nice animations, running polyfill free.
So it's clear that there's a lot to like about hybrid app
development.
But how do you get started?
Well, over a year ago our team started
contributing to the popular open source hybrid application
Toolkit Apache Cordova.
We also took a look at the amazing work
being done with Chrome packaged apps for desktop.
So, in January, we released a developer preview of a tool
called CCA, which allows you to build hybrid mobile apps using
the Chrome packaged app format.
Now one of the most convenient aspects of web development
is it's extremely rapid workflow and short feedback loop.
No compiling, you can just make a change,
and see it right away.
Sadly, with hybrid apps, like all native apps,
you do have to wait for compilation.
So you lose that rapid feedback loop.
Our companion tool, the Chrome app developer tool for mobile,
changes everything.
Let me show you how it works.
I've connected to my device via USB,
but you can also use Wi-Fi.
On the device I'm running the App Dev Tool.
Now I can type a command to push my app to the device
and watch for changes.
You can see that the app is transferred to the device
and launched within the App Dev tool.
Now that settings button in the top right corner,
it's a little small, so let's make it a little bigger.
I can open up the CSS file.
And once I do, we'll scale it up by a factor of 2.
Once that's done, I'll save the file.
The change has been detected and pushed to the device
and the app is relaunched.
The settings button's bigger, looks a little better,
so we'll have our designers make a bigger icon.
Now let's go into that settings menu.
OK, it's not working.
So let's look into that.
I know the click handler's in weather.js
so I'll open that file.
Right, I commented that out earlier.
So let's un-comment that and save the file.
Once again, that change is detected,
and hopefully once it loads-- Yep, settings now work.
No recompilation.
I can continue to iterate on my mobile app
smoothly and instantly.
We're also working on supporting the same edit refresh
workflow on Chrome Dev editor, which
you can learn about during a live talk here at Google I/O.
So there you have it.
Chrome apps a great way to target many platforms,
including Windows, Linux, Mac, Chrome OS, Android, and iOS.
With Chrome apps on mobile devices
you can leverage all the latest and greatest hybrid application
techniques, easier than ever before.
We're excited to see what you build.