Flutter
作者 | |
---|---|
開発元 | Googleとコミュニティ |
初版 | 2017年5月11日[1] |
最新版 |
0.5.7
/ 2018年7月9日[2] |
リポジトリ | |
プログラミング 言語 | C言語、C++、Dart、Skia[3] |
プラットフォーム |
開発環境 Linux、Windows、macOS 動作環境 Android、iOS、Fuchsia |
サポート状況 | 開発中 |
種別 | アプリケーションフレームワーク |
ライセンス | BSDライセンス |
公式サイト |
flutter |
Flutterは、Googleよって開発されたフリーかつオープンソースのモバイルアプリケーションフレームワークである。FlutterはAndroidやiOS向けのアプリケーションの開発に利用されている。Fuchsiaではアプリケーションの開発は主にFlutterを利用して行われている[4]。
歴史
Flutterの最初のバージョンは「Sky」と呼ばれており、Android上で動作した。2015年のDart開発者サミットでは、毎秒120フレームで安定してレンダリングができることを示した[5]。
フレームワークアーキテクチャ
Flutterの主なコンポーネントは以下の通りである。
Flutterエンジン
Flutterのエンジンは主にC++で書かれており、GoogleのSkiaを使用した低レベルのレンダリングをサポートしている。AndroidやiOS固有のSDKとも連携ができるようになっている[6]。
基本ライブラリ
基本ライブラリはDartで書かれており、エンジンと通信を行うためのAPIなど、Flutterを利用してアプリケーションを構築するために必要な基本的なクラスと関数を提供している[6][7]。
ウィジェット
FlutterのUI設計は、様々なウィジェットによって構成されている。Flutterのウィジェットは、UIの不変な部分を表し、テキスト・図形・アニメーションなどを含む全てのグラフィックはウィジェットを使用して描画を行う。多くの単純なウィジェットを組み合わせることで、複雑なウィジェットを作成することができる。
特定のデザイン体系向けのウィジェット
Flutterフレームワークには、特定デザイン言語に準拠する2つのウィジェットが含まれている[6]。マテリアルデザインウィジェットは、同名のGoogleのデザイン言語を実装している[8]。クパチーノウィジェットは、アップルのiOSのデザインを模倣している[9]。
脚注
- ^ “Release v0.0.6” (2017年5月11日). 2018年7月29日閲覧。
- ^ “Release v0.5.7” (2018年7月9日). 2018年7月29日閲覧。
- ^ “FAQ”. flutter.io. 2018年7月29日閲覧。
- ^ “Googleの大きな野望? 謎のOS「Fuchsia」”. クラウド Watch. 2018年7月29日閲覧。
- ^ “Google’s Dart language on Android aims for Java-free, 120 FPS apps”. Ars Technica. 2018年7月29日閲覧。
- ^ 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日閲覧。