Flutter Material・Cupertinoコードフリーズ発表 パッケージ分離で何が変わるのか

益子 竜与志
益子 竜与志
XThreads
最終更新日:2026年04月08日公開日:2026年04月08日

2026年4月7日、Flutterチームはflutter/flutter内のMaterial/Cupertinoライブラリのコードフリーズを発表しました。今後、これらのUIライブラリはmaterial_ui、cupertino_uiとして独立パッケージ化されpub.devで提供されます。本記事では、この変更の背景、移行スケジュール、開発者への影響を詳しく解説します。

コードフリーズとは何か - Flutterライブラリ分離プロジェクトの概要

2026年4月7日、Flutterチームは公式ブログにて重要な発表を行いました。flutter/flutterリポジトリ内のMaterialライブラリとCupertinoライブラリのコードフリーズを開始するというものです。この発表は、Flutterコミュニティにとって大きな転換点となるニュースです。Flutterを使ったアプリ開発に携わる全ての開発者にとって、今後の開発ワークフローに影響を与える可能性がある重要な変更となります。

「コードフリーズ」とは、ソフトウェア開発において特定のコードベースへの新機能追加や大幅な変更を一時停止することを意味します。今回のケースでは、フレームワーク本体からUIライブラリを分離するという大規模プロジェクトの重要なマイルストーンとして位置づけられています。Flutterチームはこのコードフリーズをもって、Material/Cupertinoライブラリの独立パッケージ化に向けた作業を本格的に進めていくことになります。これは単なる技術的な変更ではなく、Flutterエコシステム全体のアーキテクチャを見直す大きな取り組みの一環です。

これまでFlutterでは、GoogleのMaterial Designガイドラインに準拠したウィジェットやAppleのiOSデザインに沿ったCupertinoウィジェットがフレームワーク本体に組み込まれていました。この構造は開発者にとって便利であり、追加のパッケージをインストールすることなくすぐにUIコンポーネントを利用できるというメリットがありました。しかし一方で、フレームワークのリリースサイクルにUIライブラリが縛られるという課題も存在していました。UIライブラリのバグ修正や新機能追加のためには、Flutterフレームワーク全体のリリースを待つ必要があったのです。今回の分離により、この制約が解消されることになります。

Flutterライブラリ分離プロセス

material_uiとcupertino_ui - 新パッケージの詳細

コードフリーズ後、Material/Cupertinoライブラリは以下の2つの独立したパッケージとしてpub.devに公開される予定です。これにより、開発者は必要なUIライブラリのみをプロジェクトに追加できるようになり、より柔軟な開発が可能になります。また、パッケージの選択によってアプリケーションのバンドルサイズを最適化することも期待できます。

material_uiは、GoogleのMaterial Designガイドラインに準拠したウィジェット群を提供するパッケージです。AppBar、FloatingActionButton、Card、Drawer、BottomNavigationBar、Scaffold、TextField、ButtonなどのMaterial Designベースのアプリケーション開発に欠かせないコンポーネントが豊富に含まれています。このパッケージは、AndroidアプリケーションやクロスプラットフォームアプリでモダンなUIを実現したい開発者にとって必須のツールとなるでしょう。Material Design 3にも対応しており、最新のデザイントレンドを取り入れたアプリケーションを構築できます。

cupertino_uiは、AppleのiOSヒューマンインターフェースガイドラインに沿ったウィジェット群を提供するパッケージです。CupertinoNavigationBar、CupertinoButton、CupertinoAlertDialog、CupertinoPicker、CupertinoSwitch、CupertinoSliderなど、ネイティブiOSアプリに近い外観と操作感を実現するコンポーネントが含まれています。iOSユーザーに馴染みのあるUIを提供したい場合や、iOSアプリのルック&フィールを重視するプロジェクトに最適な選択肢です。

これらのパッケージはpub.dev上で独立して管理されるため、Flutterフレームワーク本体のリリースとは別のタイミングでアップデートやバグ修正が可能になります。開発者は必要なパッケージのみをpubspec.yamlに追加して利用でき、プロジェクトの要件に応じて柔軟に選択できます。

3フェーズ移行計画 - いつ何をすべきか

Flutterチームは、開発者に混乱を与えないよう、段階的な移行計画を発表しています。移行は3つのフェーズで進められ、十分な移行期間が設けられています。開発者は自分のペースで計画的に移行を進めることができます。

フェーズ1では、Flutter 3.44安定版のリリース後に、material_uiとcupertino_uiパッケージがpub.devに公開されます。この時点では、従来のflutter/flutter内のライブラリも引き続き利用可能です。開発者は新規プロジェクトから徐々に新パッケージへの移行を検討できます。既存のプロジェクトは何も変更せずにそのまま動作し続けますので、急いで対応する必要はありません。

フェーズ2では、3.44の次の安定版リリース時に、flutter/flutter内の旧Material/Cupertinoコードが非推奨(deprecated)となります。コンパイル時に警告が表示されるようになりますが、既存のアプリケーションは引き続き動作します。この期間中に移行を完了することが推奨されます。Flutterチームは詳細な移行ガイドを提供する予定です。

フェーズ3では、将来のバージョンでflutter/flutterから旧コードが完全に削除されます。削除時期の詳細は、移行状況を見ながら決定されるとのことです。コミュニティの移行進捗を考慮して、十分な猶予期間が設けられる見込みです。

重要な点として、Flutterチームは「開発者への直近の影響はない」と明言しています。コードフリーズが始まっても、既存のアプリケーションはそのまま動作し続けます。焦らず計画的に対応することができます。

開発者への影響と必要なアクション

この変更が実際にFlutter開発者にどのような影響を与えるのか、具体的に見ていきましょう。理解しておくべきポイントをまとめます。

まず、現在開発中のプロジェクトへの影響です。コードフリーズが始まった現時点では、特別な対応は必要ありません。既存のimport文(例えばimport package flutter/material.dart)はそのまま動作します。フェーズ1で新パッケージが公開された後も、すぐに移行する必要はありません。既存のコードベースはそのまま維持できます。

将来的に必要となるアクションとしては、pubspec.yamlへの依存関係追加があります。新パッケージに移行する際は、YAMLファイルのdependenciesセクションにmaterial_uiやcupertino_uiを追加する形になります。具体的な記述方法は移行ガイドで詳しく案内される予定です。

また、import文の変更も必要になる可能性があります。現在のpackage flutter/material.dartからpackage material_ui/material_ui.dartのような形式に変わることが予想されます。ただし、Flutterチームは移行を容易にするためのツールやガイドラインを提供する予定です。自動変換ツールが提供される可能性も高いでしょう。

プルリクエストを出している方への影響も気になるところです。Flutterチームによると、コードフリーズ前に開始されたプルリクエストは引き続きレビューが行われます。ただし、新機能の追加は新パッケージ側で行われることになるため、大規模な機能追加のPRは新パッケージへの移行を検討した方がよいかもしれません。

pub.devでのmaterial_uiパッケージ

パッケージ分離がもたらすメリット

一見すると手間が増えるように思えるこの変更ですが、長期的には多くのメリットをもたらします。Flutterエコシステムの健全な発展のために必要なステップです。

独立したリリースサイクルが実現します。これまでMaterial/Cupertinoライブラリのバグ修正や新機能追加は、Flutterフレームワーク本体のリリースを待つ必要がありました。パッケージ分離後は、UIライブラリ単独でアップデートを提供できるようになります。緊急のバグ修正も迅速に対応可能です。開発者は必要なタイミングでUIライブラリを更新できます。

コミュニティ貢献の活性化も期待されています。実際、コードフリーズに向けた準備段階で、コミュニティから多くの貢献がありました。数百ものテストの移行作業にボランティアが参加し、プロジェクトの進捗を大幅に加速させました。独立パッケージ化により、この流れがさらに強まることが予想されます。コントリビューターが参加しやすい環境が整います。

フレームワーク本体の軽量化も重要なメリットです。Material/Cupertinoライブラリはコード量が大きく、フレームワーク本体に含まれていることでビルド時間やパッケージサイズに影響を与えていました。分離により、必要なコンポーネントのみを選択して利用できるようになります。アプリケーションの最適化がしやすくなります。

柔軟なバージョン管理が可能になります。プロジェクトごとに異なるバージョンのUIライブラリを使用したり、特定のバージョンに固定したりすることが容易になります。これは大規模プロジェクトや長期メンテナンスが必要なアプリケーションにとって大きな利点です。

まとめと今後の展望

2026年4月7日に発表されたFlutter Material/Cupertinoコードフリーズは、Flutterエコシステムにとって大きな転換点となります。この変更により、Flutterはさらにモジュラーでメンテナンスしやすいフレームワークへと進化します。

コードフリーズは2026年4月7日より開始され、flutter/flutter内のMaterial/Cupertinoライブラリへの新機能追加が停止されました。今後、これらのライブラリはmaterial_uiとcupertino_uiという独立したパッケージとしてpub.devで提供されます。

移行は3フェーズで段階的に進められ、開発者への直近の影響はありません。Flutter 3.44安定版リリース後に新パッケージが公開され、その後徐々に旧コードが非推奨化、最終的に削除されるスケジュールです。十分な猶予期間が設けられますので、計画的に対応できます。

この変更により、独立したリリースサイクル、コミュニティ貢献の活性化、フレームワーク本体の軽量化、柔軟なバージョン管理といったメリットが得られます。長期的にはFlutter開発がより効率的になるでしょう。

Flutterチームは詳細な移行ガイドを近日中に公開する予定です。開発者の皆さんは、公式ブログやFlutter公式ドキュメントをチェックして、最新情報を把握しておくことをお勧めします。焦らず計画的に移行を進めることで、新しいパッケージ体制のメリットを最大限に活用できるでしょう。

IT/DXプロジェクト推進するPMO・コンサル人材を提供しています

AI利活用×高生産性のリソースで、あらゆるIT/DXプロジェクトを一気通貫支援します

詳しく見る →
AI駆動型ITコンサルティング
Careerバナーconsultingバナー