Flutter

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

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

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

2021年3月3日、Googleはオンライン開催されたFlutter Engageイベント中にFlutter 2をリリースした。このメジャーアップデートでは、新しいCanvasKitレンダラーとウェブ向けのウィジェットを使用したウェブベースのアプリケーションの公式サポート、WindowsmacOSLinux向けのアーリーアクセスのデスクトップアプリケーションのサポート、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エンジン
  • 基本ライブラリ
  • 特定のデザイン体系向けのウィジェット
  • Flutter Development Tools(DevTools)

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]

脚注[編集]

  1. ^ Release v0.0.6”. 2018年7月29日閲覧。
  2. ^ Releases”. 2021年4月13日閲覧。
  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. ^ a b Flutter 1.0: Google’s Portable UI Toolkit”. Tim Sneath. 2018年12月5日閲覧。
  11. ^ Technical Overview - Flutter” (英語). flutter.dev. 2017年12月13日閲覧。
  12. ^ a b c Technical Overview”. flutter.io. 2018年7月29日閲覧。
  13. ^ foundation library”. flutter.io. 2018年7月29日閲覧。
  14. ^ Material Components Widgets”. flutter.io. 2018年7月29日閲覧。
  15. ^ Cupertino (iOS-style) Widgets”. flutter.io. 2018年7月29日閲覧。

関連項目[編集]

外部リンク[編集]