Flutter has been around a few years now; and since then, in order to support hybrid apps that combine Flutter and existing code, they’ve added more developer productivity and robustness including platforms like web and Windows to build out the ecosystem of supporting packages.
Flutter is an open-source toolkit supported by Google for building beautiful fast user experiences for any platform; that’s right—for ANY platform. Flutter lets you write your UI with a single shared code base. Whether you’re targeting web, iOS, Android, or desktop. It’s built to beat that traditional edit – compile – deploy – debug cycle with support for iterative live coding where you can hot reload changes without restarting your app—if that isn’t crazy enough, keep reading and you’ll be “fluttergasted”. See what I did there? 😉
With pixel level control over your UI, Flutter gives you the ability to create beautiful, tailored, highly branded experiences that put your ideas to the forefront. What makes it even better is that it’s fast with hardware accelerated graphics regardless of which platform you’re deploying to.
With Flutter, you no longer have to ask, what platform am I targeting? Instead, your idea and your creativity are the things that come to the forefront. If you’re a company shipping from multiple platforms, never again do you have to run at the speed of the slowest team. Instead, all your engineering resources can be invested in building an amazing experience on all the platforms you’re targeting.
Let’s take a second to talk about Apple silicon. This is the new processor architecture that powers Apple’s latest hardware. Flutter worked on Apple silicon since day one; but Flutter 3 completes our support. When it comes to Apple silicon, there are two developer journeys that really matter. How to use those machines as your development environment, and how to compile binaries in the ARM 64-bit architecture so they run natively on Apple silicon. The latest releases of Dart and Flutter offer tools that run natively on ARM64 processors.
Flutter 3 now supports building both x64 and ARM64 binaries. You’ll no longer need to rely primarily on Rosetta translation when analysing or compiling code for Flutter app. This means there are currently two versions of the Flutter SDK for macOS– ARM and Intel. For those who have already installed the SDK, just run Flutter upgrade as you normally would, and the system will make sure it grabs the right binaries for you and your platform. Once that new version of the SDK is on your system, those running on Apple silicon should see some nice speed improvements in everyday life.
If you want, you can also build apps that fully embody the Mac OS system look and feel with the macOS UI Package. You can also sign your executables so that users don’t get warnings about untrusted publishers.
Flutter 3 also supports building Linux apps. This work comes through a joint collaboration with Canonical, who are the organization behind one of the most popular distributions of Linux—Ubuntu. And thanks in large part to Canonical’s work, they have a suite of packages that add tailored UI and integration with system services. This includes things like dbus, gsettings, network manager, Bluetooth, desktop notifications. As well as a comprehensive theme and widget set for yaru, which is the Ubuntu look and feel.
Flutter DevTools, also got some new features in this release of Flutter 3. You can now take advantage of some new performance tools in the Performance tab like enhanced tracing. You’ll see three new tracing options. These allow you to add the Flutter build, layout, and paint events to the performance information captured by DevTools letting you know how long each part of the widget lifecycle occupied in part of a recent run of your app.
Flutter DevTools also now offers the ability to turn off some rendering types like clipping, opacity, and shapes in order to help narrow down any performance issues that are preventing your app from hitting the right frame rate. Latest features to make their way to DevTools include improvements to the Network tab, dedicated plug-in for provider that can help keep track of change notifyers, and other app state, and more.
Many Flutter developers are using it for mobile today. In Flutter 3, they’ve introduced foldable support. They’ve re-architected the platform view support on Android, which will make native inline ads much smoother; and added Material three widgets, which enable your app to match the latest and greatest experiences on new Android devices.
While much of the effort going into Flutter has been about making great application UI, they’ve taken the same hardware acceleration, portable rendering stack, and Native performance, and used it to create fun. Introducing the Flutter Casual Game Toolkit. It’s a starter kit of resources, including a sample game, learning materials, community spaces, and info about credits for Google Developer Services to help you. You can find a link to the sample on the new game developer page at flutter.dev/ games. Included are a link to the repo. Along with a video walkthrough that takes you through the code base and key features. And there are a number of links to things like asset marketplaces, creation tools, packages for Dart and Flutter, and more. You can also find a link to a dedicated Discord channel for game developers on the Flutter dev subreddits Discord server. To be honest, game developer or not, that’s a community worth checking out. They have channels for a variety of skill levels and topics.
Flutter 3 is a major update to Flutter that will help you build better applications, faster. Flutter 3 has about 25,000 packages on pub.dev including big publishers like Adobe, Amazon, and Microsoft, and Flutter favorites like SQLite and Sentry. It also includes the thousands of packages for everything from navigation to UI. It’s an exciting release and we’re excited to see what you build with it. Have fun with Flutter.