50 人が閲覧(直近 30 日) 開発

Flutter 3.47とは?material_ui分離とIntel Mac終息で決まる移行判断【2026年8月時点】

Flutter 3.47とは?material_ui分離とIntel Mac終息で決まる移行判断【2026年8月時点】

Flutter 3.47は2026年8月12日に安定版として公開され、Dart 3.13.0を同梱します。この版で目立つのは新しいウィジェットではなく、所属と描画とホスト環境という土台の三点です。MaterialとCupertinoはSDK本体を離れてmaterial_uiとcupertino_uiの1.0となり、Impellerはデスクトップ三つのプラットフォームで既定のレンダラーになりました。同時にiOSとmacOSの最小バージョンが上がり、Intel Macを開発ホストとする運用は終息へ向かいます。この記事では3.44からの差分を、期限・改修コスト・採用可否という受託開発の判断軸で整理します。

まとめ:Flutter 3.47で期限が付く変更と据え置ける変更

期限が付いたのはデザインライブラリの所属です。SDK本体のMaterialとCupertinoは2026年11月の秋安定版で正式に非推奨となる予定が公式に示されており、この記事の公開時点(2026年8月24日)で残り約3か月。UIコードを抱えるすべての案件が対象になるため、移行そのものは軽くても対象範囲が広く、着手判断を先に済ませておく種類のタスクです。

もう一つの期限がAppleまわりです。iOSの最小バージョンは13から15へ、macOSは10.15から12へ引き上げられました。加えてIntel Macでのビルドには警告が出るようになり、公式は将来のリリースでこれをエラーへ変えると明言しています。配布先の端末条件と開発機の更新計画に跳ねる話なので、契約や保守範囲の確認が要ります。

据え置いてよいのはWasmのdeferred loadingです。実験的サポートで、フラグを付けたビルドでしか有効になりません。Widget Previewsの安定版化とImpellerのデスクトップ既定化は、モバイル専用の案件なら実質的な影響がないため、移行の主目的にはなりません。

Flutter 3.47の公開日と、3.44から動いた三つの土台

まず版の位置づけを確定させます。数値は一次情報で確認できる範囲に絞りました。

安定版の公開は2026年8月12日、同梱Dartは3.13.0

3.47.0の安定版公開は2026年8月12日、同梱されるDart SDKは3.13.0です。その後2026年8月19日にホットフィックスの3.47.1が出て、Dartは3.13.1と組み合わされました。この記事の公開時点では3.47系が最新の安定系列にあたります。前系列の3.44は2026年5月18日公開で、最終パッチの3.44.9が2026年8月6日でした。

項目 3.44系 3.47系
安定版の公開日 2026年5月18日 2026年8月12日
同梱Dart 3.12.0 3.13.0
最新パッチ 3.44.9 3.47.1
iOS最小 13 15
macOS最小 10.15 12
デスクトップ描画 Skia既定 Impeller既定

Flutter 3.44から3.47へ、差分は依存管理ではなく所属先と描画方式

3.44の主題はiOS側の依存管理でした。Swift Package Managerが既定になり、CocoaPodsのtrunk読み取り専用化という期限が引かれた版です。詳しくはFlutter 3.44のSPM既定化とHCPPで変わる移行判断にまとめてあります。3.47はその路線の続きではなく、別の三系統が同時に動きました。デザインライブラリの所属先がSDKからpub.devへ移り、デスクトップの描画エンジンが入れ替わり、Appleプラットフォームの下限が上がったという内訳です。公式によればSwiftPMへの移行はiOS向け上位100プラグインのうち92本まで進んでおり、3.44で始めた依存移行の作業は3.47の時点で追い風が強まっています。

material_uiとcupertino_ui 1.0への分離で何が変わるか

3.47でもっとも広い範囲に触るのがこの変更です。影響は機能ではなく、import行と依存関係の管理に出ます。

pub.dev側へ移り、独自の週次配信でウィジェットが届く形になった

MaterialとCupertinoは、pub.dev上のmaterial_uiとcupertino_uiという独立パッケージの1.0として提供が始まりました。これまでSDK本体に同梱されていたため、新しいコンポーネントやバグ修正はFlutterの安定版リリースを待つ必要がありました。分離後は独自の週次スケジュールで配信されるため、修正が入ってから手元へ届くまでの期間を短くできる仕組みです。裏返すと、UIライブラリのバージョンをアプリ側で固定する運用が要るということでもあります。pubspecでの版指定とロックファイルの扱いを、SDK本体と同じ感覚のまま放置しない方針が要ります。

移行はdart fixの一括置換、書き換わるのはimport行

移行作業そのものは重くありません。公式が用意した一括修正コマンドを流すだけで、既存のimportが新しいパッケージ側へ置き換わります。

dart fix --apply --code=migrate_design_widgets

置き換え対象は、フレームワーク同梱のMaterialとCupertinoを指していたimport行です。

- import 'package:flutter/material.dart';
+ import 'package:material_ui/material_ui.dart';

ウィジェットのAPI自体は互換が保たれる設計なので、多くの案件ではimportの差し替えとpubspecへの依存追加で完了します。検証コストがかかるのはコードではなく、独自テーマやカスタムペインタでMaterialの内部実装に踏み込んでいる箇所です。差分レビューでimport以外の変更が出た場合は、そこが手作業の対象になります。

SDK本体側が2026年11月の秋安定版で非推奨になる予定と移行期限

公式は、SDK内部の旧デザインライブラリを2026年11月の秋安定版で正式に非推奨とする予定を示しています。非推奨は即座の削除ではありませんが、そこから先はSDK側の実装が更新されない前提で計画を立てるのが妥当です。3.47の時点で移行を済ませておけば、11月の版へ上げるときにUI側の作業をゼロにできる段取りです。逆に11月まで放置すると、非推奨警告への対応とSDKアップグレードが同じスプリントに重なります。なお、cupertino_ui 1.0でiOS 26系の新しいガラス素材がどこまで扱えるかは別の論点で、こちらはFlutterのLiquid Glass対応の現状と代替手段で実測を整理しています。パッケージが1.0になったことと、素材表現が揃ったことは別に扱ってください。

Impellerがデスクトップ三つのプラットフォームで既定に

描画エンジンの入れ替えは、デスクトップ向けにFlutterを出している案件だけの話です。ただし該当する場合は回帰確認が要ります。

macOS・Windows・LinuxでSkiaからImpellerへ切り替わった

3.47では、macOS・Windows・LinuxのいずれでもImpellerが既定のレンダラーになりました。リリースノート上はWindowsが既定化、LinuxがImpeller有効化とSDFレンダリングへの切り替えという形で入っています。狙いは、アニメーションが最初に再生されるときに起きるシェーダーコンパイル由来のカクつきを消すことです。Impellerはシェーダーを事前にコンパイルする方式のため、初回描画の引っかかりが構造的に発生しません。

既存のデスクトップ案件で移行前に確認する描画まわりの検証項目

切り替えで見るべきは、カスタム描画とテキストです。実務で当たりやすいのは次の三か所になります。第一にCustomPainterで細い線やグラデーションを描いている画面、第二に日本語フォントのフォールバックが絡む長文表示、第三にプラットフォームビューやテクスチャを重ねている画面。いずれもピクセル単位の差が出る可能性があり、スクリーンショット比較のテストを持っているなら基準画像の更新が要ります。問題が出た場合はレンダラーの指定を戻して切り分けられますが、既定が変わった以上、戻した状態を恒久運用にはできません。

Appleが引く締め切り:iOS 15・macOS 12・Intel Mac

3.47でもっとも契約に近い影響が出るのがこの系統です。技術判断ではなく、対応端末の合意事項に触れます。

最小バージョン引き上げで対象外になる端末と保守契約の確認事項

iOSの最小サポートは13から15へ、macOSは10.15から12へ上がりました。macOS側の引き上げはXcode 27への追従が理由として示されています。3.47でビルドしたアプリはiOS 13と14の端末へ配信できなくなるため、保守契約で対応OSを明記している案件では、契約側の更新が先に必要です。あわせて、Xcode 27でビルドするUIKitアプリにはUISceneライフサイクルへの対応が求められます。この移行の実装詳細はFlutter 3.38.xで入ったiOS UISceneDelegate対応に整理してあるので、3.38系からの積み残しがある案件はそちらを先に潰してください。

Intel Macホストの終息とarm64のみのビルドへの移行

開発機の側にも期限が付きました。公式はAppleのApple Silicon移行に合わせてIntel Mac向けサポートを縮小すると述べており、3.47のFlutter CLIはIntelホストでのビルドや二つのアーキテクチャを同時に対象とするビルドに対して警告を出します。この警告は将来のリリースでエラーへ変わると明言されており、Intelハードウェア上の自動テスト実行はすでに停止されました。先回りするなら、次の設定でarm64のみのmacOSアプリをビルドする運用へ切り替えられます。

flutter config --enable-macos-arm64-only

受託案件で効いてくるのは、CIランナーとサブ機です。ビルドマシンがIntel Macのまま残っていると、警告がエラーへ変わった時点でパイプラインが止まります。3.47へ上げるかどうかとは別に、macOSランナーの世代を確認しておく価値があります。

WasmのdeferredロードとWidget Previewsの安定版化

残る二つは、当てはまる案件が限られる変更です。該当しなければ読み飛ばして構いません。

wasm deferred loadingは実験扱い、効くのは初回転送量

Wasmビルドで遅延読み込みを試せるようになりました。実験的サポートで、明示的なフラグが要ります。

flutter build web --release --wasm --enable-wasm-deferred-loading

効果が出るのは、画面数が多く初回ロードの転送量が課題になっているWebアプリです。Dartのdeferred importで分割した単位が実際に遅延ロードされるようになるため、初期表示までの時間を削れる仕組みです。実験段階なので本番投入は慎重に扱うべきですが、Wasmを検討中なら評価対象に入ります。そもそもCanvasKitとWasmのどちらで出すか、SEO上の制約をどう見るかはFlutter WebのCanvasKitとWasmの描画差と採用条件を先に読むと判断しやすくなります。

Widget Previewsが安定版、キャッシュはプロジェクト配下

ウィジェット単位でプレビューを表示するWidget Previewsが安定版になりました。プロジェクト直下の.widget_previewフォルダにローカルキャッシュを持つ形です。デザイン確認のためにアプリ全体を起動する往復が減るため、UI実装の比重が高い案件では体感が変わります。バージョン管理からはキャッシュフォルダを除外しておくのが無難です。

Flutter 3.47の破壊的変更と、実際に手が入る改修の当たり所

3.47で安定版へ入った破壊的変更は三件です。いずれも影響範囲は限定的で、大半はコンパイルエラーか表示差として検出できます。

破壊的変更 影響 対応
describeEnumの削除 コンパイルエラー enumのnameへ置換
見出しセマンティクスの変更 読み上げ順の差 iOSとAndroidで再確認
OpenGL ESの上下方向 テクスチャ描画の差 外部テクスチャを検証

describeEnumは長く非推奨だった関数で、今回の削除で完全に使えなくなりました。置き換えはenum値のnameプロパティで済みます。セマンティクス側の変更は、支援技術での読み上げ検証を持っている案件だけが対象。OpenGL ESの変更はカメラ映像や動画の外部テクスチャを扱う実装に効くため、該当するプラグインを使っているなら回帰確認の対象に入れてください。

受託開発案件でFlutter 3.47へ上げる条件と見送る条件の判断軸

ここまでの差分を、実際の意思決定に落とします。判断は案件の性質で分かれ、全案件が即時に上げるべき版ではありません。

今すぐFlutter 3.47へ上げる三つの条件と、その判断根拠

第一に、11月以降も継続開発が確実な案件。デザインライブラリの非推奨が11月に来るため、UI移行を今の落ち着いた時期に済ませるほうが総コストが下がります。第二に、macOS・Windows・Linux向けにデスクトップアプリを出していて、アニメーション初回のカクつきを課題として抱えている案件。Impellerの既定化が直接効きます。第三に、開発機やCIランナーにIntel Macが残っている案件。今なら警告の段階で気づけるので、エラー化する前に更新計画を立てられます。

見送ってよい二つの場面と、待機期間中に進めておく移行準備の内容

一つは、iOS 13や14の端末を対応範囲として契約に明記している案件です。ここは技術ではなく合意の問題なので、契約側の更新が先。合意が取れるまで3.44系に留まる判断が妥当です。もう一つは、直近にストア審査を控えていて変更を増やしたくない局面。リリース直後の版に載せる理由がないなら、審査を通してから移行枠を取ります。どちらの場合も、待機中にdart fixによるimport移行だけは別ブランチで試しておくと、実際の移行工数が事前に見えます。

外部へ移行を委託する場合の見積もり項目と成果物の定義方法を確認

3.47への移行を外部へ出すなら、見積もりを機能単位ではなく検証単位で切ると精度が上がります。具体的にはimport移行とpubspec整理、独自テーマとカスタム描画の回帰確認、iOS最小バージョン引き上げに伴う実機確認、デスクトップ対象ならImpeller下でのスクリーンショット比較、CI環境のアーキテクチャ確認という五項目です。成果物としては移行後のビルド成功だけでなく、確認した画面の一覧と差分の有無を残してもらうと、11月の非推奨対応まで同じ資料が使えます。一創のFlutter / React Nativeによるクロスプラットフォーム開発では、既存アプリのバージョン移行から保守までを対象に、こうした検証項目の切り分けを含めて対応しています。

よくある質問

Flutter 3.47はいつリリースされましたか?

安定版の公開は2026年8月12日で、同梱されるDart SDKは3.13.0です。その後2026年8月19日にホットフィックスの3.47.1が公開され、Dartは3.13.1が組み合わされました。前系列の3.44は2026年5月18日公開だったため、約3か月間隔での安定版リリースにあたります。

material_uiへ移行しないと3.47は使えませんか?

使えます。3.47の時点ではSDK本体のMaterialとCupertinoがそのまま動くため、移行しなくてもビルドは通ります。ただし公式は2026年11月の秋安定版で旧デザインライブラリを正式に非推奨とする予定を示しており、そこから先はSDK側の更新が止まる前提で考えるのが妥当です。移行コマンドは一括で流せるので、11月の版へ上げる作業と分けて先に済ませておくと重複が避けられます。

Intel MacではFlutter 3.47を使えなくなりますか?

3.47の時点では警告が出るだけで、ビルド自体は続けられます。Intelホストでのビルドや二つのアーキテクチャを同時に対象とするビルドに対してCLIが警告を表示し、公式はこれを将来のリリースでエラーへ変えると述べています。Intelハードウェア上での自動テスト実行はすでに止まりました。CIランナーがIntel Macなら、警告の段階で更新計画を立てておくのが安全です。

3.44から3.47へ上げるとコードの書き換えは必要ですか?

アプリ側のコード修正は限定的です。押さえるのはdescribeEnumの削除(置き換えはenum値のnameプロパティ)と、デザインライブラリのimport移行の二点。前者はコンパイルエラーで検出でき、後者はdart fixで一括置換できます。工数がかかるのはコードではなく、iOS最小バージョン引き上げに伴う対応端末の合意確認と、デスクトップ案件でのImpeller下の表示回帰確認のほうです。

Impellerのデスクトップ既定化でモバイルへの影響はありますか?

ありません。iOSとAndroidでは以前からImpellerが既定で、3.47の変更はmacOS・Windows・Linuxの描画に限られます。モバイル専用の案件では、この項目を移行判断の材料に含める必要はありません。デスクトップ向けにも配布している場合のみ、カスタム描画と日本語テキストの表示、外部テクスチャを重ねた画面を回帰確認の対象に入れてください。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

ほか 2 件の記事からもリンクされています。

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.08 テックブログ 大阪公立大学のランサムウェア被害と仮想化基盤の停止|全授業休講に至った経緯とバックアップを守る設定
  2. 2026.10.06 テックブログ アフラックの情報漏洩440万人|大量照会を止められなかった原因と照会量制御の実装
  3. 2026.10.07 テックブログ 旭化成ファーマのサイバー攻撃:Pharma DIGITAL会員51.4万人の漏えいと委託先DBの監視設計
  4. 2026.10.06 テックブログ 焼肉きんぐの不正アクセスと1,078万件の会員情報|全件規模の流出を防ぐAPIとログの点検
  5. 2026.10.06 テックブログ 大和証券の不正アクセスと約11万人分の口座番号:問い合わせ管理の委託先に残さない設計

RELATED POSTS 関連記事

目次