Flutter
作者 | |
---|---|
開発元 | Googleとコミュニティ |
初版 | 2017年5月11日[1] |
最新版 |
2.0.4
/ 2021年4月3日[2] |
リポジトリ | |
プログラミング 言語 | C言語、C++、Dart、Skia[3] |
プラットフォーム |
開発環境 Linux、Windows、macOS 動作環境 Android、iOS、Fuchsia |
サポート状況 | 開発中 |
種別 | アプリケーションフレームワーク |
ライセンス | BSDライセンス |
公式サイト |
flutter |
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日、Flutter 2.0がリリースされた。
フレームワークアーキテクチャ
Flutterの主なコンポーネントは以下の通りである。
Dartプラットフォーム
FlutterアプリはDart言語で書かれており、言語のより高度な機能を多数活用している[11]。
Flutterエンジン
Flutterのエンジンは主にC++で書かれており、GoogleのSkiaを使用した低レベルのレンダリングをサポートしている。AndroidやiOS固有のSDKとも連携ができるようになっている[12]。
基本ライブラリ
基本ライブラリはDartで書かれており、エンジンと通信を行うためのAPIなど、Flutterを利用してアプリケーションを構築するために必要な基本的なクラスと関数を提供している[12][13]。
ウィジェット
FlutterのUI設計は、様々なウィジェットによって構成されている。FlutterのウィジェットはUIの不変な部分を表し、テキスト・図形・アニメーションなどを含む全てのグラフィックはウィジェットを使用して描画を行う。多くの単純なウィジェットを組み合わせることで、複雑なウィジェットを作成することができる。
特定のデザイン体系向けのウィジェット
Flutterフレームワークには、特定デザイン言語に準拠する2つのウィジェットが含まれている[12]。マテリアルデザインウィジェットは、同名のGoogleのデザイン言語を実装している[14]。クパチーノウィジェットは、AppleのiOSのデザインを模倣している[15]。
脚注
- ^ “Release v0.0.6”. 2018年7月29日閲覧。
- ^ “Releases”. 2021年4月13日閲覧。
- ^ “FAQ”. flutter.io. 2018年7月29日閲覧。
- ^ Amadeo, Ron (2018年2月27日). “Google starts a push for cross-platform app development with Flutter SDK” (英語). Ars Technica. 2021年6月11日閲覧。
- ^ “Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI”. Ars Technica. 2021年6月15日閲覧。
- ^ “Googleの大きな野望? 謎のOS「Fuchsia」”. クラウド Watch. 2018年7月29日閲覧。
- ^ “Google releases Flutter app development SDK version 1.0, no longer in beta”. 2018年12月5日閲覧。
- ^ “Version 2 of Google's Flutter toolkit adds support for desktop and web apps” (英語). TechCrunch. 2021年3月6日閲覧。
- ^ “Google’s Dart language on Android aims for Java-free, 120 FPS apps”. Ars Technica. 2018年7月29日閲覧。
- ^ a b “Flutter 1.0: Google’s Portable UI Toolkit”. Tim Sneath. 2018年12月5日閲覧。
- ^ “Technical Overview - Flutter” (英語). flutter.dev. 2017年12月13日閲覧。
- ^ a b c “Technical Overview”. flutter.io. 2018年7月29日閲覧。
- ^ “foundation library”. flutter.io. 2018年7月29日閲覧。
- ^ “Material Components Widgets”. flutter.io. 2018年7月29日閲覧。
- ^ “Cupertino (iOS-style) Widgets”. flutter.io. 2018年7月29日閲覧。
関連項目
- Fuchsia
- [./Https://flutterawesome.com/ Flutter Opensource Apps]