The Flutter Forward 2023 conference streamed live from Nairobi, Kenya, on January 25, 2023, previewing the investments in the future at Flutter. The event featured a keynote speaker, technology discussions, unique use cases, and a live Q&A session showing how Flutter pushes UI development forward through their newest updates!

Check out this blog post to learn more about:

  • Why Flutter Forward chose Kenya for the conference
  • The new Dart 3 alpha
  • Flutter Web optimizations
  • Flutter mobile updates

Why Flutter Forward chose Kenya for the conference

Why did Google choose Nairobi, Kenya, to conduct this year’s Flutter Forward conference? Nairobi, Kenya, is home to more than 4 million people, deemed a bustling hub of culture. More than 300 technology companies have made it their mission to solve some of the most pressing and challenging needs of this growing community. Behind the innovation are more than 60,000 active developers, with more than 700,000 developers across Africa. The local startup ecosystem within Africa fuels the demand for a large number of active developers.

Tim Sneath, Director of Product and UX for Flutter & Dart at Google, deemed Nairobi the place of tomorrow because Africa is one of the fastest-growing parts of the world for tech entrepreneurs. More than half of Africa’s developer population works at startups, and international companies are recruiting African developers at record rates. As a result, Kenya has one of the largest developer populations in sub-Saharan Africa, with over 1000 developers in the Flutter Kenya community alone.

Now let’s dive into the incredible announcements made at Flutter Forward!

The new Dart 3 alpha

The new major Flutter release that Michael Thomsen previewed at the Flutter Forward conference was Dart 3 alpha (time stamp 01:20:45). This latest update includes new language features, the completion of Flutter’s multi-year journey to sound null safety, and expanded platform support.

Dart 3a allows the Dart language to be more expressive and better suited for working with structured data with new language features, including; records (tuples), patterns, and class modifier controls. Developers can prepare their code for the stable 3.0 release later this year. The transition is already well underway, with all the top 250 packages and 98% of the top 1,000 packages already migrated into and currently supporting 100% sound null safety. This means that non-nullable variables can no longer contain a null value. In addition, all Dart code now runs on a single strand, making it easier to maintain code, increasing software development time, and enabling compiler checks to weed out null reference errors.

There’s also expanded platform support for RISC-V in Dart 3a that Thomsen demoed on the RISC-V-based ClockworkPi DevTerm Kit R-01 during the conference. This expanded platform support will increase Dart portability and expand mobility to new platforms.

Flutter web optimizations

Flutter is also creating new offerings for the web (time stamp 01:31:41). The offerings Flutter has produced for the web are designed to be something other than a general-purpose framework. Instead, they built Flutter to be the first framework architecturally designed around new standards for the web. Previously, Flutter developers had to choose whether they wanted web builds to render with the HTML renderer or the CanvasKit renderer, which produces graphics rather than readable source code.

The conference highlighted their new Element Embedding feature, which allows you to add Flutter content to any web page within a

element. It thus becomes part of the Document Object Model (DOM) and can be manipulated using CSS selectors and transformations.

In addition, Google’s Dart team has been working on a package called js that allows Flutter to interact with Java through interoperability between JavaScript and Dart code. By annotating functions in Dart code with the @JSExport attribute, those functions can now be called directly from JavaScript code.

Moreover, Flutter has reduced the size of Canvaskit, simplified how much work it takes to bring fonts in, added deferred loading to provide more control over when things are loaded, and improved the concurrency of the loading process. Their new web offerings reduce the time to load by 40%!

The conference introduced the Pixel Shaders feature, a low-level function that you can run locally on the GPU. It shows you every pixel about to run on the screen and lets you make edits and changes on the pixelation itself, including high-end graphics effects. These new web offerings are inspiring for web developers and the future of Flutter!

Flutter mobile updates

The Flutter Forward conference was chock-full of new and up-and-coming Flutter features (time stamp 01:42:21) that developers have been asking for. Leigha Jarett discussed vertical toolkits, updates to the Wonderous app, calling native platform methods directly from Dart, the new rendering engine Impeller, and 3D in Flutter with Impeller.

The introduction of Flutter’s vertical toolkits (time stamp 01:43:02) helps companies build high-quality production apps faster. The toolkit they previewed in detail was the Flutter News toolkit – now available for everyone – which has already reduced developer time for early adopters like Hespress and Bold Sports by up to 80%! In addition, Bold Sports described that the toolkit allowed them to spend their precious developer hours focusing solely on the UI, which allowed them to get their app up and running in only a few days with the Flutter News toolkit.

Jarett also went into detail on their Flutter reference app, Wonderous (time stamp 01:47:29). Wonderous was launched in August of 2022, and since then, they have had over 25,000 installs. Wonderous allows users to create beautiful graphics and unique animations. The next version of Wonderous, announced at Flutter Forward, features an adaptive design to ensure the app looks good on all devices.

Next, Jarett introduced FFIgen (for iOS) and JNIgen (for Android), which recall all APIs directly from Dart (time stamp 01:51:08). FFIgen and JNIgen auto-generate code that acts as the glue to call platform code from Dart. In addition, the package is expanding to support interop with Java/Kotlin and Objective-C/Swift!

Lastly, Jarett discussed the new rendering engine Impeller and 3D in Flutter with Impeller (time stamp 01:55:20). In recent years, Flutter has been trying to stomp out performance issues like excessive CPU usage and jittery graphics due to shader loading. This is where Impeller steps in. Impeller is a new graphics rendering engine that uses precompiled shaders to deal with dropped frames at runtime. It’s designed to take advantage of low-level graphics APIs like Metal and Vulkan and uses concurrency to better distribute single-frame workloads across threads. Impeller is also expected to lead to support for importing 3D models from tools like Blender into Flutter apps.

The future of Flutter

Flutter’s the new kid on the block, but it’s growing exponentially, as shown through all the exciting new updates and up-and-coming features throughout 2023 that were showcased at Flutter Forward. There are over 500,000 apps built with Flutter since August of 2022, a growing ecosystem of over 24,000 packages to help you add functionality to your Flutter applications and over 2 million Flutter developers over the past three years. This may be the first Google-sponsored Flutter Forward conference, but it won’t be the last. Flutter development has nowhere to go but up!

At Embrace, we’re so excited about the future of Flutter. We’ve recently launched our Flutter SDK in beta, so if you are looking for best-in-class monitoring for your Flutter mobile apps, check us out!