# Strengthening Flutter's core widgets

Source: https://www.youtube.com/watch?v=W4olXg91iX8
Recap page: https://rapidrecap.app/video/W4olXg91iX8
Generated: 2025-12-17T21:35:02.55+00:00

---
## Quick Overview

Flutter is strengthening its core widgets by decoupling the Material and Cupertino design libraries from the core framework into separate pub.dev packages to enable faster design evolution, create a more durable framework, and better support the ecosystem of design libraries, with a three-phase plan leading to a fully decoupled era by late 2026.

**Key Points:**
- The core plan involves moving Material and Cupertino design libraries out of the core Flutter framework into separate pub.dev packages (flutter/packages) to achieve decoupling.
- This decoupling will result in faster design evolution, allowing Material and Cupertino to adopt new trends faster without being tied to the core framework release cycle.
- The change promises a more durable framework by reducing breaking changes from design updates, empowering contributors by simplifying contribution processes.
- The timeline is structured in three phases: Foundation and Alignment (Now - Dec 2025), Transition and Decoupling (Early 2026), and The Decoupled Era (Late 2026 and Beyond).
- Phase 1 (Now) involves investigating and consolidating core logic into a Widgets library and preparing the flutter/packages GitHub repo.
- Phase 2 (Early 2026) includes moving code to flutter/packages, publishing the new libraries, and deprecating the original Material and Cupertino libraries.
- Phase 3 (Late 2026 and Beyond) culminates in removing the original Material and Cupertino libraries entirely from the core framework.

![Screenshot at 00:11: The presentation outlines the four key areas of focus for decoupling: System UI, Raw Widgets, Theming, and Infrastructure and Tests, while showing an example of adaptive system UI selection handling on both Android and iOS.](https://ss.rapidrecap.app/screens/W4olXg91iX8/00-00-11.png)

**Context:** This presentation, titled "Flutter Flight Plans: Strengthening Flutter's core widgets," details the architectural plan to decouple the Material and Cupertino design systems from the main Flutter framework. The speaker, Justin McCandless, explains that this tight coupling has created trade-offs, such as slow adoption of design updates and limited support for external design libraries. The goal is to create a more modular and flexible system for UI development.

## Detailed Analysis

The video outlines Flutter's plan to decouple Material and Cupertino design libraries from the core framework, moving them into separate packages on pub.dev. This separation addresses several tradeoffs associated with the current tight coupling, including design updates being limited by the framework release cycle, breaking changes with design updates, limited support for external design libraries, and a slow open-source contribution process. The benefits of decoupling include faster design evolution, a more durable framework with fewer breaking changes, better support for the ecosystem of design libraries (like allowing third-party developers to use raw widgets), and empowering the community by making contributions easier. The plan is divided into three phases: Foundation and Alignment (Now to Dec 2025), which focuses on consolidating core logic into a Widgets library and preparing the flutter/packages repo; Transition and Decoupling (Early 2026), where the new packages are published and the old ones deprecated; and The Decoupled Era (Late 2026 and Beyond), where the original libraries are fully removed from the framework. The speaker emphasizes that while some breaking changes are inevitable, they will be minimized with quick fixes where possible, and semantic versioning will allow developers to pin specific Material or Cupertino package versions independently of the core framework.

### Introduction and Context

- The presentation is titled "Flutter Flight Plans: Strengthening Flutter's core widgets" and discusses decoupling Material and Cupertino design libraries from the core framework (0:00-0:11)
- The existing architecture shows Framework, Engine, and Embedder layers, with Material and Cupertino tightly coupled within the Framework (0:12-1:10)
- The immediate issue is that Material and Cupertino are bundled with the core framework, leading to slow adoption of design changes (1:11-3:05).

### Tight Coupling Tradeoffs

- The tradeoffs include design updates limited by framework release cycle, breaking changes with design updates, limited support for design library ecosystems, and a slow open-source contribution process (3:30-4:06)
- This has resulted in friction points that developers must work through (4:07-4:47).

### The Decoupling Plan Overview

- The plan involves four key areas: System UI, Raw Widgets, Theming, and Infrastructure and Tests (5:24-5:28)
- The goal is to move core logic into a Widgets library and publish Material/Cupertino packages separately (4:53-5:02).

### Key Benefits

- Benefits include faster design evolution, a more durable framework, better/higher-quality support for design libraries, and empowering the community by removing regression risks for contributors (7:26-8:08).

### Timeline

- The project has three phases: 1. Foundation and Alignment (Now - Dec 2025) involves consolidation and repo prep; 2. Transition and Decoupling (Early 2026) involves moving code, publishing new packages, and deprecating old ones; 3. The Decoupled Era (Late 2026 and Beyond) removes the old libraries entirely from the framework (8:09-9:05).

### Developer Impact

- Developers will experience limited breaking changes with quick fixes provided, semantic versioning allowing pinning of specific design package versions independent of the framework, raw widgets enabling custom designs, and an easier contribution process (9:28-10:39).

![Screenshot at 0:12: A diagram illustrating the three layers of the Flutter architecture \(Framework, Engine, Embedder\) showing the tight coupling of Material and Cupertino within the Framework layer.](https://ss.rapidrecap.app/screens/W4olXg91iX8/00-00-12.png)
![Screenshot at 0:35: Speaker Justin McCandless introduces the topic and asks why decoupling is necessary for the future of app development.](https://ss.rapidrecap.app/screens/W4olXg91iX8/00-00-35.png)
![Screenshot at 1:39: Demonstration of the SelectionArea widget showing the resulting context menu on the selected text, contrasting the Material \(Android-like\) menu with the iOS menu.](https://ss.rapidrecap.app/screens/W4olXg91iX8/00-01-39.png)
![Screenshot at 3:30: A slide summarizing the four major tradeoffs of tight coupling, including limited design update speed and slow open-source contributions.](https://ss.rapidrecap.app/screens/W4olXg91iX8/00-03-30.png)
![Screenshot at 5:24: A slide listing the four main areas of work for decoupling: System UI, Raw Widgets, Theming, and Infrastructure and Tests.](https://ss.rapidrecap.app/screens/W4olXg91iX8/00-05-24.png)
