Flutter & Dart’s 2026 roadmap

 Transparency is a core goal of the Flutter open source project, and today we’re happy to share our roadmap for the next generation of apps. Our mission remains largely unchanged, we’re still working toward our long-term goal of creating the most popular, fastest growing, and highest-productivity multi-platform UI framework. You can check out the for all the details, and in this post we will cover the themes driving our mission.

As you dive into our plans for the year, keep in mind that this roadmap is — as it’s always been — our for what’s ahead. As with any other roadmap, plans tend to shift and adapt throughout the year, so don’t be surprised if some changes happen along the way. While it primarily reflects the work our teams at Google are focusing on, the truth is that the Flutterverse is now so much bigger than any one company.

High-fidelity multiplatform: Impeller, Wasm, and beyond

Our driving mission is to continue to deliver the best multiplatform stack by focusing on native-level quality and performance. In 2026, we are completing the migration to the Impeller renderer on Android. By finally removing the legacy Skia backend on Android 10 and above, we’re ensuring smooth animations and reducing jank for every user. We continue to see Impeller as the best solution for fast startup and consistent performance.

On the web, we intend for WebAssembly (Wasm) to become the default to deliver native-quality experiences and performance. We are also committed to deep platform integration, ensuring day-zero support for Android 17 and upcoming iOS releases, alongside multi-window support for desktop where our partners at Canonical continue to make progress.

GenUI, ephemeral experiences and agentic apps

We are fundamentally changing app architecture to enable agentive UIs — interfaces that aren’t just pre-built, but adapt in real-time to user intent. This is powered by the Flutter GenUI SDK and the A2UI protocol, enabling AI models to generate rich experiences dynamically.

To support this, we are investigating evolving the Dart language by adding support for interpreted bytecode in the Dart runtime. This enables “ephemeral” code delivery, where specific portions of an app can be loaded on demand without requiring a full app store update — a critical technical step for truly agentic apps.

Full-stack Dart: Bring your tooling everywhere

We are broadening our stack to support the evolution towards full-stack and agentive apps. A major focus is Dart Cloud Functions for Firebase, providing ~10ms cold starts to ensure high-performance backend logic. We are also investigating Dart support for the Google Cloud SDK to enable you to easily connect and build your backend on Google Cloud. Additionally, we are working with the Genkit team on enabling Dart support to help you build sophisticated AI features.

AI-reimagined developer experience

AI coding agents are disrupting the way apps are built. We’ll continue to collaborate within Google to ensure Dart and Flutter have top-tier support in Gemini CLI and Antigravity, ensuring core workflows like stateful hot reload work seamlessly with AI agents.

We are also investing in MCP (Model Context Protocol) servers for Dart tooling, enabling AI agents to perform complex refactors and choose secure, performant libraries with high accuracy by “talking” directly to the Dart analyzer.

Sustainable open-source & governance

To unlock Flutter’s full potential, we are moving towards an open and sustainable operating model. This includes decoupling the Material and Cupertino design systems into standalone packages to accelerate development and allow them to evolve independently. We are also improving the extensibility of the Flutter Engine so support for new platforms can be authored “out-of-tree.”

We are deepening our commitment to the ecosystem by formalizing how we collaborate with stakeholders. Central to this is the expansion of our Consultancy Program, Insiders and Google Developer Expert (GDE) network, Customer Advisory Board (CAB), and Partners Advisory Board (PAB), which provide direct feedback to our teams.

Modern syntax & compiled performance

Dart continues to evolve as a high-performance language. In 2026, we plan to ship Primary Constructors to streamline class declarations and Augmentations to simplify code generation. We will continue to focus on improving build_runner and Dart/Wasm compilation, while refactoring the analyzer to improve performance for large-scale applications.

Bringing developers to Flutter and Dart

Our recently completed new Dart and Flutter learning pathway provides a streamlined, guided onboarding path for new builders. In 2026, we plan to continue our outreach both in-person and across digital platforms to improve the experience for developers and their AI tools.

See you at Google Cloud Next & I/O!

While this roadmap is our plan for the year, you won’t have to wait long to see the next big things from the team. Mark your calendars for Google Cloud Next 2026 in Las Vegas (April 22–24) and Google I/O 2026 (May 19–20). These will be the best moments to see Flutter in action next!

With non-Google contributors now outnumbering those of us employed by Google, there is an incredible amount of exciting work happening that isn’t even captured on this list! Accurate forecasting is always a challenge in an open source project, so please take this as a sincere and priorities rather than a fixed guarantee. We are unbelievably excited to keep building the future of apps alongside all of you and can’t wait to see what you’ll build!

Let us know on socials with the hashtag . And if you’re excited about hearing more from us, be sure to follow us on , check out the repos on , and keep an eye on this for the latest updates. Let’s build the future of apps together! 🚀

Flutter Beginner Tutorial 2026: Build Your First App (Setup + Modern Best Practices)

Hey everyone! If you're starting Flutter in 2026, this is your perfect first step: we'll set up Flutter from scratch, fix common issues, and build a real counter app using the best practices of 2026, including Riverpod, the state management everyone's using now. No prior experience needed. 

By the end, you'll have a running app on your emulator or device. Let's go!

Quick: why Flutter in 2026? It's powering everything mobile (Android & iOS), web, and desktop, with sleek performance thanks to Impeller. AI integrations are coming fast, and the job market is expanding.

Now, set up. Head to flutter.dev and follow the installation process for your OS. Use the YouTube video above as a guide.

Once you're done with the installation. Switching to VS Code…
Create project:

flutter create my_first_app
cd my_first_app
code .

Open lib/main.dart - delete the default counter for a clean start.
First, add dependencies (pubspec.yaml):

dependencies:
  flutter:
    sdk: flutter
  flutter_riverpod: any # Latest Riverpod

Run flutter pub get.

Set up Riverpod provider scope in main.dart:

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

void main() {
  runApp(const ProviderScope(child: MyApp()));
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'My First Flutter App 2026',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const HomePage(),
    );
  }
}

Create a counter provider (new file: lib/providers/counter_provider.dart):

import 'package:flutter_riverpod/flutter_riverpod.dart';

final counterProvider = StateProvider<int>((ref) => 0);

Home page (lib/screens/home_page.dart or replace main):

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../providers/counter_provider.dart';

class HomePage extends ConsumerWidget {
  const HomePage({super.key});
  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final count = ref.watch(counterProvider);
    return Scaffold(
      appBar: AppBar(title: const Text('Flutter 2026 Counter')),
      body: Center(
        child: Text('Count: $count', style: const TextStyle(fontSize: 48)),
      ),
      floatingActionButton: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        children: [
          FloatingActionButton(
            onPressed: () => ref.read(counterProvider.notifier).state++,
            child: const Icon(Icons.add),
          ),
          const SizedBox(height: 10),
          FloatingActionButton(
            onPressed: () => ref.read(counterProvider.notifier).state--,
            child: const Icon(Icons.remove),
          ),
        ],
      ),
    );
  }
}

Run it: flutter run and hot reload demo!

You just built a modern Flutter app with 2026 best practices! Riverpod makes scaling easy.

profile
The DEV Team
Promoted

Google article image


How to extract filename from Uri?

Now, we can extract filename with and without extension :) You will convert your bitmap to uri and get the real path of your file. Now w...