Flutter

Flutter
 ウィキデータを編集
Flutter の公式ロゴマーク
作者 Google
開発元 Googleとコミュニティ
初版 Alpha (v0.0.6) / 2017年5月 (2017-05)[1]
最新版
ウィキデータを編集
安定版
3.44.0[2] / 2026年5月18日
リポジトリ
プログラミング
言語
プラットフォーム
開発環境
動作環境
サポート状況 開発中
種別 開発支援、UIフレームワーク、アプリケーションフレームワーク
ライセンス BSDライセンス
公式サイト flutter.dev

Flutter(フラッター)は、Googleによって開発されたフリーかつオープンソースのUIのSDKである。単一のコードベース[4]から、Android、iOS、Linux、macOS、Windows、Google Fuchsia[5][6]向けのクロスプラットフォームアプリケーションを開発するために利用される。

2018年12月4日、ロンドンで開催されたFlutter Live '18にて、初の正式版となるFlutter 1.0のリリースが発表された[7]。

2021年3月3日、Googleはオンライン開催されたFlutter Engageイベント中にFlutter 2をリリースした。このメジャーアップデートでは、新しいCanvasKitレンダラーとウェブ向けのウィジェットを使用したウェブベースのアプリケーションの公式サポート、Windows、macOS、Linux向けのアーリーアクセスのデスクトップアプリケーションのサポート、Add-to-App APIの改善などが行われた[8]。

歴史

Flutterの最初のバージョンは「Sky」と呼ばれており、Android上で動作した。2015年のDart開発者サミットでは、毎秒120フレームで安定してレンダリングができることを示した[9]。

2018年12月4日に発表されたFlutter 1.0では、iOSスタイルのウィジェットキットであるCupertino Themeの大幅な強化(「Pixel-Perfect iOS App」)、Googleが提供するmBaaSサービスであるFirebaseのサポート、Dart 2.1のサポート、バイナリサイズの最適化など、リリースプレビュー時に実装された機能の不具合修正などが行われた[10]。

2019年2月リリース予定の次期プレビュー版へ向け、既存アプリケーションの一部でFlutterを動作させる「Add to App」、Flutter上でAndroidやiOSのGUIコントロールを動作させる「Platform Views」、WindowsやmacOS、Linuxなどのデスクトッププラットフォーム向け実装「Flutter Desktop Embedding」、JavaScriptへのコンパイルによるWebプラットフォーム向け実装「Hummingbird」などの開発を進めるとしている[10]。

2021年3月3日、GoogleはFlutter 2をオンラインのFlutter Engageイベントで発表した。このメジャーアップデートにより、新しいCanvasKitレンダラー、ウェブ固有のウィジェットを使用したウェブベースのアプリケーションの開発、Windows、macOS、Linuxに対応したデスクトップアプリケーション開発の早期アクセス、改善されたAdd-to-App APIがサポートされるようになった[11]。このリリースでは健全なnull安全性が実装された。これにより多数の破壊的変更と多数の外部パッケージでの問題が発生したが、Flutterチームは変更に対処する手順も説明している[12]。

2021年9月8日、Dart SDKのバージョン2.14とFlutterのバージョン2.5がリリースされた。アップデートには、Androidのフルスクリーンモードと、Material Youと呼ばれるGoogleの最新バージョンのマテリアルデザインが含まれている。Dartには2つの新しいアップデートがあった。1つは最新のlint条件が標準化され、デフォルト条件としてプリセット化されたこと、もう1つはDartのApple Silicon対応がstableになったことである[13][14]。

2025年8月14日、Flutter 3.35.0がリリースされた。このアップデートには、パフォーマンスの向上と開発者体験の改善が含まれている。主な機能として、Swift Package Managerの統合によるiOSとmacOSのビルドプロセスの改善、新しいカルーセルウィジェットの追加、そしてAndroidの最小SDKバージョンが23(Android 6.0 Marshmallow)に引き上げられた。また、WebAssemblyのサポートが強化され、Webプラットフォームでのパフォーマンスが向上した。開発ツールの面では、DevToolsの機能が拡張され、アプリのデバッグとプロファイリングがより効率的になった。さらに、AnthropicのModel Context Protocol(MCP)に対応したDart and Flutter MCP Serverが公開され、AI AgentがFlutterプロジェクトのコンテキストを理解し、より適切なコード支援を提供できるようになった[15]。

フレームワークアーキテクチャ

Flutterの主なコンポーネントは以下の通りである。

  • Dartプラットフォーム
  • Flutterエンジン
  • 基本ライブラリ
  • 特定のデザイン体系向けのウィジェット
  • Flutter Development Tools(DevTools)

Dartプラットフォーム

FlutterアプリはDart言語で書かれており、言語のより高度な機能を多数活用している[16]。

Flutterエンジン

Flutterのエンジンは主にC++で書かれており、GoogleのSkiaを使用した低レベルのレンダリングをサポートしている。AndroidやiOS固有のSDKとも連携ができるようになっている[17]。

基本ライブラリ

基本ライブラリはDartで書かれており、エンジンと通信を行うためのAPIなど、Flutterを利用してアプリケーションを構築するために必要な基本的なクラスと関数を提供している[17][18]。

ウィジェット

FlutterのUI設計は、様々なウィジェットによって構成されている。FlutterのウィジェットはUIの不変な部分を表し、テキスト・図形・アニメーションなどを含む全てのグラフィックはウィジェットを使用して描画を行う。多くの単純なウィジェットを組み合わせることで、複雑なウィジェットを作成することができる。

特定のデザイン体系向けのウィジェット

Flutterフレームワークには、特定デザイン言語に準拠する2つのウィジェットが含まれている[17]。マテリアルデザインウィジェットは、同名のGoogleのデザイン言語を実装している[19]。クパチーノウィジェットは、AppleのiOSのデザインを模倣している[20]。

脚注

  1. ↑ Chris Bracken. “Release v0.0.6: Rev alpha branch version to 0.0.6, flutter 0.0.26 (#10010) · flutter/flutter”. GitHub. 2022年3月22日閲覧。
  2. ↑ “Release 3.44.0” (2026年5月15日). 2026年5月18日閲覧。
  3. ↑ “FAQ”. flutter.io. 2018年7月29日閲覧。
  4. ↑ Amadeo, Ron (2018年2月27日). “Google starts a push for cross-platform app development with Flutter SDK” (英語). Ars Technica. 2021年6月11日閲覧。
  5. ↑ “Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI”. Ars Technica. 2021年6月15日閲覧。
  6. ↑ “Googleの大きな野望? 謎のOS「Fuchsia」”. クラウド Watch. 2018年7月29日閲覧。
  7. ↑ “Google releases Flutter app development SDK version 1.0, no longer in beta”. 2018年12月5日閲覧。
  8. ↑ “Version 2 of Google's Flutter toolkit adds support for desktop and web apps” (英語). TechCrunch. 2021年3月6日閲覧。
  9. ↑ “Google’s Dart language on Android aims for Java-free, 120 FPS apps”. Ars Technica. 2018年7月29日閲覧。
  10. 1 2 “Flutter 1.0: Google’s Portable UI Toolkit”. Tim Sneath. 2018年12月5日閲覧。
  11. ↑ “Version 2 of Google's Flutter toolkit adds support for desktop and web apps” (英語). TechCrunch. 2021年3月6日閲覧。
  12. ↑ “Migrating to null safety”. dart.dev. 2022年2月4日閲覧。
  13. ↑ Sells, Chris (2021年9月8日). “What’s new in Flutter 2.5” (英語). Flutter. 2022年2月4日閲覧。
  14. ↑ “Flutter 2.5.0 release notes” (英語). docs.flutter.dev. 2022年2月4日閲覧。
  15. ↑ Chisholm, Kevin (2025年8月14日). “What’s new in Flutter 3.35” (英語). Medium. 2025年10月26日閲覧。
  16. ↑ “Technical Overview - Flutter” (英語). flutter.dev. 2017年12月13日閲覧。
  17. 1 2 3 “Technical Overview”. flutter.io. 2018年7月29日閲覧。
  18. ↑ “foundation library”. flutter.io. 2018年7月29日閲覧。
  19. ↑ “Material Components Widgets”. flutter.io. 2018年7月29日閲覧。
  20. ↑ “Cupertino (iOS-style) Widgets”. flutter.io. 2018年7月29日閲覧。

関連項目

外部リンク