Flutterの概要
Flutterとは、Googleによって開発されたUIソフトウェアを開発するためのフレームワークです。AndroidやiOSなどのモバイル向けのアプリケーションはもちろんのこと、Linux、Mac、Windows向けのデスクトップアプリからWebアプリケーションまで対応しているフレームワークです。現在は、Googleとコミュニティーによって開発が継続されています。
Flutterの最初のアルファ版のリリースは2017年5月で、初めてのメジャーバージョンである1.0は2018年12月にリリースされました。
2021年3月にリリースされたFlutter 2ではiOS、Android、Windows、macOS、Linuxの5つのプラットフォーム向けアプリケーションを作成できるようになり、さらには車やテレビなどに組み込むことも可能になりました。リリース時点でPlayストアだけでも既に150,000を超えるアプリがリリースされており、大きな広がりを見せていました。
2022年5月にはFlutter 3がリリースされました。
macOSとLinuxアプリの安定サポート追加、Material Design 3のサポート、パフォーマンスの向上等の対応が取り込まれており、2022年9月現在でも継続的なバージョンアップが行われています。
Flutterの主な特徴
Dart(ダート) プラットフォーム
FlutterのアプリケーションはDart言語で書かれます。Dart はクライアント用にデザインされたオブジェクト指向プログラミング言語で、DartVM(バーチャルマシン)向けのネイティブプラットフォームと、Web向けにJavaScriptへの変換を行うWebプラットフォームがあります。DartVMにはJIT(ジャストインタイム)コンパイラが搭載されており、アプリケーション開発時にはJITコンパイラを使ってコードの変更を即座に反映するホットリロードに対応しています。
Flutterには下記のメジャーコンポーネントが含まれています。
- Flutter エンジン
FlutterのエンジンはFlutterのアプリケーションを実行するためのポータブルランタイムです。エンジン部分は主にC++言語を使って書かれており、GoogleのSkia グラフィックライブラリーを使ってローレベルのレンダリングサポートを提供しています。 - Foundation ライブラリ
FoundationライブラリはDart言語で書かれています。基本的なクラスと関数が含まれており、そこにはエンジンとやり取りするAPIも含まれています。 - Designウィジェット
Flutterには2つのウィジェットセットが含まれています。- Material デザイン ウィジェット
Googleが開発したデザイン言語であるMaterial Designという言語を使っています。 - Cupertino ウィジェット
AppleのiOS Human interface ガイドラインに従って実装されています。
- Material デザイン ウィジェット
Flutterのマスコット
FlutterにはDash(ダッシュ)というマスコットキャラクターがいます。
ダッシュは、Dart言語にもJavaのデュークのような愛されるマスコットが欲しいとの願いから2014年に構想され、しばらく時間を置いて2018年に実現しました。高速で動作するDart言語にふさわしいハチドリのキャラクターになっています。
ダッシュはDartのマスコットとして生み出されましたがFlutter のマスコットも兼ねており、Instagram(https://www.instagram.com/dash_the_dartlang_plushy/)アカウントまで持っています。
Flutterのユースケース
Flutter は、Googleを始めとしてebay、BMWなどの多くのサイトで使用されています。また、2021年にトヨタの次世代車のインフォテイメントシステムに採用されることが発表されています。
Flutterの類似技術
Flutter の動作環境
下記のOS向けにFlutterの開発ツールが提供されています。
- Windows
- OS:Windows10以上(64bit)
- Disk:1.64GB以上の空容量
- ツール:Windows PowerShell 5.0 以上
Git for Windows 2.x
- Mac
- OS:macOS
- Disk:2.8GB以上の空容量
- ツール:git、Xcodeのインストールを推奨
- Linux
- OS:Linux (64-bit)
- Disk:600MB以上の空容量
- ツール:bash
curl
file
git 2.x
mkdir
rm
unzip
which
xz-utils
zip
- Chrome OS
- OS:Linux (Beta) が有効になっているChrome OS (64-bit)
- Disk:600MB以上の空容量
- ツール:bash
curl
git 2.x
mkdir
rm
unzip
which
xz-utils
Flutterのライセンス
Flutterは、BSDライセンスで提供されているオープンソースのソフトウェアです。 BSDライセンスでは無保証であることの明記と著作権およびライセンス条文の表示を条件にコードの自由な改変・頒布が認められています。
Flutterのドキュメント
Flutterのダウンロード
https://flutter.dev/docs/development/tools/sdk/releases
Flutterの関連情報
Flutterのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。