Posted by the Flutter and Chrome OS teams
Chrome OS is the fast, simple, and secure operating system that powers Chromebooks, including the Google Pixelbook and millions of devices used by consumers and students every day. The latest Flutter release adds support for building beautiful, tailored Chrome OS applications, including rich support for keyboard and mouse, and tooling to ensure that your app runs well on a Chromebook. Furthermore, Chrome OS is a great developer workstation for building general-purpose Flutter apps, thanks to its support for developing and running Flutter apps locally on the same device.
Since its inception, Flutter has shared many of the same principles as Chrome OS: productive, fast, and beautiful experiences. Flutter allows developers to build beautiful, fast UIs, while also providing a high degree of developer productivity, and a completely open-source engine, framework and tools. In short, it’s the ideal modern toolkit for building multi-platform apps, including apps for Chrome OS.
Flutter initially focused on providing a UI toolkit for building apps for mobile devices, which typically feature touch input and small screens. However, we’ve been building keyboard and mouse support into Flutter since before our 1.0 release last December. And today, we’re pleased to announce that Flutter for Chrome OS is now stronger with scroll wheel support, hover management, and better keyboard event support. In addition, Flutter has always been great at allowing you to build apps that run at any size (large screen or small), with seamless resizing, as shown here in the Chrome OS Best Practices Sample:
The Chrome OS best practices sample in action
The Chrome OS Hello World sample is an app built with Flutter that is optimized for Chrome OS. This includes a responsive UI to showcase how to reposition items and have layouts that respond well to changes in size from mobile to desktop.
Because Chrome OS runs Android apps, targeting Android is the way to build Chrome OS apps. However, while building Chrome OS apps on Android has always been possible, as described in these guidelines, it’s often difficult to know whether your Android app is going to run well on Chrome OS. To help with that problem, today we are adding a new set of lint rules to the Flutter tooling to catch violations of the most important of the Chrome OS best practice guidelines:
The Flutter Chrome OS lint rules in action
When you’re able to put these Chrome OS lint rules in place, you’ll quickly be able to see any problems in your Android app that would hamper it when running on Chrome OS. To learn how to take advantage of these rules, see the linting docs for Flutter Chrome OS.
But all of that is just the beginning -- the Flutter tools allow you to develop and test your apps directly on Chrome OS as well.
No matter what platform you're targeting, Flutter has support for rich IDEs and programming tools like Android Studio and Visual Studio Code. Over the last year, Chrome OS has been building support for running the Linux version of these tools with the beta of Linux on Chrome OS (aka Crostini). And, because Chrome OS also supports Android natively, you can configure the Flutter tooling to run your Android apps directly without an emulator involved.
The Flutter development tools running on Chrome OS
All of the great productivity of Flutter is available, including Stateful Hot Reload, seamless resizing, keyboard and mouse support, and so on. Recent improvements in Crostini, such as high DPI support, Crostini file system integration, easier adb, and so on, have made this experience even better! Of course, you don’t have to test against the Android container running on Chrome OS; you can also test against Android devices attached to your Chrome OS box. In short, Chrome OS is the ideal environment in which to develop and test your Flutter apps, especially when you’re targeting Chrome OS itself.
With its unique combination of simplicity, security, and capability, Chrome OS is an increasingly popular platform for enterprise applications. These apps often work with large quantities of data, whether it’s a chart, or a graph for visualization, or lists and forms for data entry. The support in Flutter for high quality graphics, large screen layout, and input features (like text selection, tab order and mousewheel), make it an ideal way to port mobile applications for the enterprise. One purveyor of such apps is AppTree, who use Flutter and Chrome OS to solve problems for their enterprise customers.
“Creating a Chrome OS version of our app took very little effort. In 10 minutes we tweaked a few values and now our users have access to our app on a whole new class of devices. This is a huge deal for our enterprise customers who have been wanting access to our app on Desktop devices.”
By using Flutter to target Chrome OS, AppTree was able to start with their existing Flutter mobile app and easily adapt it to take advantage of the capabilities of Chrome OS.
If you’d like to target Chrome OS with Flutter, you can do so today simply by installing the latest version of Flutter. If you’d like to run the Flutter development tools on Chrome OS, you can follow these instructions to get started fast. To see a real-world app built with Flutter that has been optimized for Chrome OS, check out the the Developer Quest sample that the Flutter DevRel team launched at the 2019 Google I/O conference. And finally, don’t forget to try out the Flutter Chrome OS linting rules to make sure that your Chrome OS apps are following the most important practices.
Flutter and Chrome OS go great together. What are you going to build?
We’re looking forward to seeing you at I/O! To help you prepare, we’re letting you know that the official Google I/O app is live on Android! iOS will arrive later this week.
Schedule on Android (left) and home page on iOS (right)
With this year’s app you can browse through the incredible content we have planned for I/O’19. Customize your schedule by favoriting sessions, which will be synced between all of your devices and the I/O website so you can check it anywhere, anytime. Attendees are also able to reserve spots in sessions, office hours, app reviews, and game reviews directly in the app.
New this year: Add individual events to your personal calendar to receive notifications before events are about to begin! Also new: Search through content by sessions, topics, and speakers.
Shoreline Amphitheatre will be your home May 7-9. Use the app to keep track of key moments with the agenda and find your way through I/O with the conference map.
New this year: Use the home page to view key conference moments, upcoming events, and receive important announcements. Also new: Explore I/O is a new feature that uses your camera to help you see where to go in augmented reality. To discover events, food, bathrooms, and more around you, scan the I/O maps at Shoreline.
This year, we’ve created Q&A; forms to collect your pre-I/O questions to help direct session content at I/O. Simply sign in to the I/O website or app, click on any session, then click the ‘Q&A;’ link and use the ‘+’ icon to submit your questions. Visit Q&A; Help to learn more.
Get the #io19 app here!
For 2019, we've partnered with Aira to help I/O attendees who are blind or low vision navigate the event. Aira provides free assistance to I/O attendees from trained professional agents. Download the Aira app on Android or iOS to get assistance while onsite.
We look forward to seeing you very soon!
Flutter is Google's new mobile app toolkit for crafting beautiful native interfaces on iOS and Android in record time. Today, during the keynote of Google Developer Days in Shanghai, we are announcing Flutter Release Preview 2: our last major milestone before Flutter 1.0.
This release continues the work of completing core scenarios and improving quality, beginning with our initial beta release in February through to the availability of our first Release Preview earlier this summer. The team is now fully focused on completing our 1.0 release.
The theme for this release is pixel-perfect iOS apps. While we designed Flutter with highly brand-driven, tailored experiences in mind, we heard feedback from some of you who wanted to build applications that closely follow the Apple interface guidelines. So in this release we've greatly expanded our support for the "Cupertino" themed controls in Flutter, with an extensive library of widgets and classes that make it easier than ever to build with iOS in mind.
A reproduction of the iOS Settings home page, built with Flutter
Here are a few of the new iOS-themed widgets added in Flutter Release Preview 2:
CupertinoApp
CupertinoTimerPicker
CupertinoSegmentedControl
CupertinoActionSheet
And more have been updated, too:
CupertinoNavigationBar
CupertinoSliverNavigationBar
CupertinoPageRoute.title
CupertinoPageScaffold
CupertinoScrollbar
CupertinoPicker
As ever, the Flutter documentation is the place to go for detailed information on the Cupertino* classes. (Note that at the time of writing, we were still working to add some of these new Cupertino widgets to the visual widget catalog).
Cupertino*
We've made progress to complete other scenarios also. Taking a look under the hood, support has been added for executing Dart code in the background, even while the application is suspended. Plugin authors can take advantage of this to create new plugins that execute code upon an event being triggered, such as the firing of a timer, or the receipt of a location update. For a more detailed introduction, read this Medium article, which demonstrates how to use background execution to create a geofencing plugin.
Another improvement is a reduction of up to 30% in our application package size on both Android and iOS. Our minimal Flutter app on Android now weighs in at just 4.7MB when built in release mode, a savings of 2MB since we started the effort — and we're continuing to identify further potential optimizations. (Note that while the improvements affect both iOS and Android, you may see different results on iOS because of how iOS packages are built).
As many new developers continue to discover Flutter, we're humbled to note that Flutter is now one of the top 50 active software repositories on GitHub:
We declared Flutter "production ready" at Google I/O this year; with Flutter getting ever closer to the stable 1.0 release, many new Flutter applications are being released, with thousands of Flutter-based apps already appearing in the Apple and Google Play stores. These include some of the largest applications on the planet by usage, such as Alibaba (Android, iOS), Tencent Now (Android, iOS), and Google Ads (Android, iOS). Here's a video on how Alibaba used Flutter to build their Xianyu app (Android, iOS), currently used by over 50 million customers in China:
We take customer satisfaction seriously and regularly survey our users. We promised to share the results back with the community, and our most recent survey shows that 92% of developers are satisfied or very satisfied with Flutter and would recommend Flutter to others. When it comes to fast development and beautiful UIs, 79% found Flutter extremely helpful or very helpful in both reaching their maximum engineering velocity and implementing an ideal UI. And 82% of Flutter developers are satisfied or very satisfied with the Dart programming language, which recently celebrated hitting the release milestone for Dart 2.
Flutter's strong community growth can be felt in other ways, too. On StackOverflow, we see fast growing interest in Flutter, with lots of new questions being posted, answered and viewed, as this chart shows:
Number of StackOverflow question views tagged with each of four popular UI frameworks over time
Flutter has been open source from day one. That's by design. Our goal is to be transparent about our progress and encourage contributions from individuals and other companies who share our desire to see beautiful user experiences on all platforms.
How do you upgrade to Flutter Release Preview 2? If you're on the beta channel already, it just takes one command:
$ flutter upgrade
You can check that you have Release Preview 2 installed by running flutter --version from the command line. If you have version 0.8.2 or later, you have everything described in this post.
flutter --version
If you haven't tried Flutter yet, now is the perfect time, and flutter.io has all the details to download Flutter and get started with your first app.
When you're ready, there's a whole ecosystem of example apps and code snippets to help you get going. You can find samples from the Flutter team in the flutter/samples repo on GitHub, covering things like how to use Material and Cupertino, approaches for deserializing data encoded in JSON, and more. There's also a curated list of samples that links out to some of the best examples created by the Flutter community.
You can also learn and stay up to date with Flutter through our hands-on videos, newsletters, community articles and developer shows. There are discussion groups, chat rooms, community support, and a weekly online hangout available to you to help you along the way as you build your application. Release Preview 2 is our last release preview. Next stop: 1.0!
Posted by Kerry Murrill, Google Developers Marketing
I/O is just a couple of days away! As we get closer, we hope you've had the chance to explore the schedule to make the most of the three festival days. In addition to customizing your schedule on google.com/io/schedule, you can now browse through our 150+ Sessions, and dozens of Office Hours, App Reviews, and Codelabs via the Google I/O 2018 mobile app or Action for the Assistant.
Apps: Android, iOS, Web (add to your mobile homescreen), Action for the Assistant
Here is a breakdown of all the things you can do with the mobile app this year:
Schedule on iOS
Session details on Android
Map on Android
Action on the Assistant
Browse, filter, and find Sessions, Office Hours, Codelabs, App Reviews and the recently added Meetups across 18 product areas.
Be sure to reserve seats for your favorite Sessions either in the app or at google.com/io/schedule. You can reserve as many Sessions as you'd like per day, but only one reservation per time slot is allowed. Reservations will be open until 1 hour before the start time for each Session. If a Session is full, you can join the waitlist and we'll automatically change your reservation status if any spots open up (you can now check your waitlist position on the I/O website). A portion of seats will still be available first-come, first-served for those who aren't able to reserve a seat in advance.
Most Sessions will be livestreamed and recordings will be available soon after. Want to celebrate I/O with your community? Find an I/O Extended viewing party near you.
In addition to attending Sessions, and participating in Office Hours and App Reviews, you'll have the opportunity to talk directly with Google engineers throughout the Sandbox space, which will feature multiple product demos and activations, and during Codelabs where you can complete self-paced tutorials.
Remember to save some energy for the evening! On Day 1, attendees are invited to the After Hours Block Party from 7-10PM. It will include dinner, drinks, and lots of fun, interactive experiences throughout the Sandbox space: a magic show, a diner, throwback treats, an Android themed Bouncy World, MoDA 2.0, the I/O Totem stage and lots of music throughout! On Day 2, don't miss out on the After Hours Concert from 8-10PM, with food and drinks available throughout. The concert will be livestreamed so you can join from afar, too. Stay tuned to find out who's performing this year!
To make things easy for you, your starred and reserved events will always be synced from your account across mobile, desktop, and the Assistant, so you can switch back and forth as needed. You can also filter for just your starred and reserved events to see just the events you want.
Guide yourself throughout Shoreline with the interactive map. Find your way to your next Session or see what's inside the Sandbox domes.
Find more information about onsite WiFi, content formats, plus travel tips to get to Shoreline, including the shuttle schedule.
Keeping up with the tradition, the mobile app and Action for the Assistant will be open sourced after I/O. Until then, we hope the mobile app and Action will help you navigate the schedule and grounds for a great experience.
T-4 days… See you soon!
Today, we're launching a new interactive education program for Universal App campaigns (UAC). UAC makes it easy for you to reach users and grow your app business at scale. It uses Google's machine learning technology to help find the customers that matter most to you, based on your business goals — across Google Play, Google.com, YouTube and the millions of sites and apps in the Display Network.
UAC is a shift in the way you market your mobile apps, so we designed the program's first course to help you learn how to get the best results from UAC. Here are a few reasons we encourage you take the course:
So, take the course today and let us know what you think. You can also read more about UAC best practices here and here.
Happy New Year and hope to see you in class!