Chuyển đến nội dung chính

Flutter 3.47: Material and Cupertino leave the SDK, Impeller takes over desktop

Flutter 3.47 landed on August 13, 2026, and for once the headline is not a feature — it is an architectural split. The design system is moving out of the SDK. Add Impeller becoming the default renderer on every desktop platform and Widget Previews going stable, and this is the most structurally significant Flutter release in years.

The numbers behind it: 1,356 commits from 169 contributors, 66 of them first-timers, shipping as Flutter 3.47.0 • Dart 3.13.0 • DevTools 2.60.0.

Material and Cupertino become packages you choose

The change everyone is talking about: material_ui and cupertino_ui are now standalone packages on pub.dev, both at 1.0. The libraries still live inside the SDK for now, but the SDK copies are scheduled for formal deprecation in the November stable release.

Why this matters more than it sounds:

  • Design systems can now ship on their own clock. Instead of waiting for a quarterly SDK release, Material and Cupertino can iterate weekly. Cupertino in particular needs it — see the survey numbers below.
  • You can pin your design system independently of your framework version. Upgrading Flutter no longer means swallowing every widget change at the same time.
  • Apps that use neither can drop both. If you ship a fully custom design system, the Material tree stops being a mandatory dependency.

Migration is a one-liner:

dart fix --apply --code=migrate_design_widgets

For the messy middle — your app migrated but a dependency still imports the old paths — there is a MaterialUiCompatibilityBridge to keep both worlds talking.

Impeller is now the default on macOS, Windows and Linux

Impeller replaces Skia as the default renderer across all three desktop platforms. The practical payoff is the same one mobile got: shaders are compiled at build time, so shader compilation jank goes away. On macOS, wide gamut color is on by default as well.

There are opt-outs per platform, but the blog is blunt that fallback options will be removed in a future release. Treat the opt-out as a bug-reporting window, not a long-term strategy.

Widget Previews graduate to stable

Widget Preview is no longer experimental. The stable version adds local caching for faster startup and abstract theme APIs, so a preview can be rendered against multiple themes without wiring up a full app shell. If you tried previews in an earlier release and found them slow, this is the version to retry.

The upgrade tax: iOS 15 and macOS 12 minimums

To support Xcode 27, the floors moved:

PlatformOld minimumNew minimum
iOS1315
macOS10.1512

Apps also need to adopt the UIScene lifecycle for iOS 27 compliance. If you skipped that migration when 3.44 flagged it, this is where it stops being optional.

Web: Wasm keeps inching toward default

The WebAssembly story from the 2026 roadmap continues. You can build with:

flutter build web --release --wasm

New this release: experimental deferred loading for Wasm behind --enable-wasm-deferred-loading. The prerequisite is still the same — migrate off legacy dart:html to package:web before you expect any of this to work cleanly.

On the plugin side, 92 of the top 100 iOS plugins have migrated to Swift Package Manager. The CocoaPods era is ending faster than most upgrade guides assume.

What the Q2 2026 survey says about where Flutter actually hurts

Google published the Q2 2026 survey results the same week — 3,500+ complete responses collected June 8–22, 2026 — and it reads as the subtext for this release.

The good news is unusually good:

  • 93% overall satisfaction, with 58% “very satisfied” (up 6 points from Q4 2025)
  • 83% trust Flutter to meet their needs, up from 77%
  • For the first time, every developer subgroup cleared 90% satisfaction

Then the outlier:

  • Cupertino widgets: 61% satisfaction, down 6 points — the lowest-rated area in the survey, against 92% for Dart, 91% for Android, 90% for the core framework.

Which is exactly why decoupling Cupertino into a package that can ship weekly is the fix, not a refactor for its own sake.

The top pain points name the rest of the release, too: platform/ecosystem maturity (44%), driven by version-matrix complexity during upgrades, then tooling and IDE experience (33%), then bugs and stability (24%).

One more number worth sitting with: developers trust community “battle-tested” features at 41% versus 26% for Google-built features, and trust in Flutter runs 20+ points ahead of trust in Google (83% vs 62%).

The AI trend line: agents are now a first-class Flutter workflow

The survey’s AI section is the clearest signal of where the ecosystem is heading. On adoption:

  • Claude Code — 32%
  • Antigravity — 23%
  • GitHub Copilot — 19%
  • Cursor — 18%
  • Codex — 17%

Agentic tools now lead the pack, ahead of the autocomplete generation. VS Code (66%) and Android Studio (40%) remain the editors those agents run inside.

Google is building for that directly. Skills for Dart and Flutter, announced in May 2026, are task-oriented instruction sets that teach an AI agent how to do a specific Flutter job — the initial five cover integration testing, localization, responsive layouts, pattern-matching refactors, and test coverage. The framing from the announcement is the useful mental model: MCP gives an agent tools; a Skill gives it the blueprint and the professional know-how. They load progressively, only when relevant, which keeps token usage down.

The problem being solved is the one every Flutter developer using an LLM has hit: the framework moves faster than model training data. A release like 3.47, which changes import paths for the two most-used libraries in the ecosystem, is exactly the kind of change a stale model will get confidently wrong.

Your upgrade checklist

  1. Run dart fix --apply --code=migrate_design_widgets and move to material_ui / cupertino_ui before the November deprecation.
  2. Audit dependencies for packages still importing the SDK design libraries; use MaterialUiCompatibilityBridge while you wait on them.
  3. Bump your deployment targets to iOS 15 / macOS 12 and finish the UIScene migration.
  4. Smoke-test desktop builds under Impeller — and file bugs now while the Skia fallback still exists.
  5. Retry Widget Previews if the experimental version put you off.
  6. Test a Wasm build and check whether deferred loading helps your bundle.
  7. Point your AI agent at the Dart & Flutter Skills so it stops generating 3.44-era imports.

The bottom line

Flutter 3.47 is the release where Flutter stops being one monolith. Material and Cupertino become packages you version yourself, Impeller finishes its takeover on desktop, and previews become a normal part of the loop. The survey explains the strategy: satisfaction is high almost everywhere, Cupertino is the exception, and shipping design systems on their own schedule is how you fix that without holding the SDK hostage. Budget an afternoon for the migration — but do it before November, when the old imports start warning.


Originally published on FlutterCook. Read the latest version there — that copy is the one kept up to date.

Nhận xét

Bài đăng phổ biến từ blog này

Thiết kế giao diện với DotNetBar (Phần 1)

Đây là phiên bản DotNetBar hỗ trợ C# và Visual Basic https://www.dropbox.com/s/wx80jpvgnlrmtux/DotNetBar.rar  , phiên bản này hỗ trợ giao diện Metro cực kỳ “dễ thương” Các bạn load về và cài đặt, khi cài đặt xong sẽ có source code mẫu của tất cả các control. Để sử dụng được các control của DotNetBar các bạn nhớ add item vào controls box. Thiết kế giao diện với DotNetBar, giao diện sẽ rất đẹp. Link các video hướng dẫn chi tiết cách sử dụng và coding: http://www.devcomponents.com/dotnetbar/movies.aspx Hiện tại DotNetBar có rất nhiều công cụ cực mạnh, trong đó có 3 công cụ dưới đây: DotNetBar for Windows Forms Requires with Visual Studio 2003, 2005, 2008, 2010 or 2012.   DotNetBar for WPF Requires with Visual Studio 2010 or 2012 and Windows Presentation Foundation.   DotNetBar for Silverlight Requires with Visual Studio 2010 or 2012 and Silverlight. Dưới đây là một số hình ảnh về các control trong DotnetBar.   Metro User Interface  controls with Metro Tiles, toolba...

5 concepts every Flutter dev should know

  Phụ lục: State management architecture Testing IDE Shortcuts Platform channel Maintaining a project Tôi đã làm việc với Flagship trong một thời gian dài, và đây là những điều mà tôi phát hiện ra là điều cần phải có đối với bất kỳ nhà phát triển Flagship nào, về tổng thể nó sẽ khiến bạn trở thành một nhà phát triển Flagship giỏi trong thời gian dài. 1. State management architecture Đây là một trong những chủ đề quan trọng nhất trong cộng đồng thiết bị rung, nó khá quan trọng nếu bạn muốn duy trì một dự án rung kích thước trung bình hoặc lớn. Nó sẽ giúp tạo một dự án suôn sẻ và thêm các tính năng mới một cách hoàn hảo.  2. Testing Đây là một chủ đề duy nhất mà tôi không hiểu tại sao nó lại quan trọng trước đó trong sự nghiệp của tôi, nhưng khi tôi tiến lên trong sự nghiệp của mình và có kinh nghiệm với nhiều dự án và vấn đề xảy ra trong môi trường sản xuất. Tôi đã nhận ra một cách khó khăn, tại sao điều này lại quan trọng như vậy. Nếu bạn vẫn muốn có thêm lý do để cân nhắc thử...

Announcing Flutter 2

  Phụ lục: Flutter on the web Flutter 2 on desktops, foldables, and embedded devices The growing Flutter ecosystem Dart: The secret sauce behind Flutter Flutter 2: Available now Hôm nay, chúng tôi sẽ công bố Flutter 2: một bản nâng cấp lớn cho Flutter cho phép các nhà phát triển tạo các ứng dụng đẹp, nhanh chóng và di động cho bất kỳ nền tảng nào. Với Flutter 2, bạn có thể sử dụng cùng một cơ sở mã để gửi các ứng dụng gốc cho năm hệ điều hành: IOS, Android, Windows, macOS và Linux; cũng như trải nghiệm web nhắm mục tiêu các trình duyệt như Chrome, Firefox, Safari hoặc Edge. Flutter thậm chí có thể được nhúng vào ô tô, TV và thiết bị gia dụng thông minh, mang đến trải nghiệm di động và lan tỏa nhất cho thế giới điện toán xung quanh. Mục tiêu của chúng tôi là thay đổi cơ bản cách các nhà phát triển nghĩ về việc xây dựng ứng dụng, bắt đầu không phải với nền tảng bạn đang nhắm mục tiêu mà là với trải nghiệm bạn muốn tạo. Flutter cho phép bạn tạo ra những trải nghiệm tuyệt đẹp trong đó ...