Flutter

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
Flutter
作者 Google
開発元 Googleとコミュニティ
初版 2017年5月11日(19か月前) (2017-05-11[1]
最新版 1.0.0 / 2018年11月30日(51日前) (2018-11-30[2]
プログラミング言語 C言語C++DartSkia[3]
プラットフォーム 開発環境
LinuxWindowsmacOS
動作環境
AndroidiOSFuchsia
サポート状況 開発中
種別 アプリケーションフレームワーク
ライセンス BSDライセンス
公式サイト flutter.io
テンプレートを表示

Flutter(フラッター)は、Googleによって開発されたフリーかつオープンソースモバイルアプリケーションフレームワークである。FlutterはAndroidiOS向けのアプリケーションの開発に利用されている。Fuchsiaではアプリケーションの開発は主にFlutterを利用して行われている[4]

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

歴史[編集]

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

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

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

フレームワークアーキテクチャ[編集]

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

Flutterエンジン[編集]

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

基本ライブラリ[編集]

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

ウィジェット[編集]

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

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

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

脚注[編集]

  1. ^ Release v0.0.6” (2017年5月11日). 2018年7月29日閲覧。
  2. ^ Release v1.0.0” (2018年11月30日). 2018年12月5日閲覧。
  3. ^ FAQ”. flutter.io. 2018年7月29日閲覧。
  4. ^ Googleの大きな野望? 謎のOS「Fuchsia」”. クラウド Watch. 2018年7月29日閲覧。
  5. ^ Google releases Flutter app development SDK version 1.0, no longer in beta”. 2018年12月5日閲覧。
  6. ^ Google’s Dart language on Android aims for Java-free, 120 FPS apps”. Ars Technica. 2018年7月29日閲覧。
  7. ^ a b Flutter 1.0: Google’s Portable UI Toolkit”. Tim Sneath. 2018年12月5日閲覧。
  8. ^ a b c Technical Overview”. flutter.io. 2018年7月29日閲覧。
  9. ^ foundation library”. flutter.io. 2018年7月29日閲覧。
  10. ^ Material Components Widgets”. flutter.io. 2018年7月29日閲覧。
  11. ^ Cupertino (iOS-style) Widgets”. flutter.io. 2018年7月29日閲覧。

関連項目[編集]

外部リンク[編集]