フューチャー技術ブログ

Dart/Flutter連載始めます

2021年3月に「Flutter 2.0」のリリースが発表されました!

そして、本ブログ初のDart/Flutterをテーマにした連載を行います。内容は次のようになっています。

公開日 執筆者 タイトル
5月10日 伊藤真彦 Dart入門
5月11日 宮崎将太 Flutter Swagger統合
5月12日 澁川喜規 Goのサーバーの管理画面をFlutter Webで作ってみるための調査
5月13日 鶴巻彩夏 Flutterレイアウト入門
5月14日 真野隼記 Flutterで技術ブログRSSリーダー
5月17日 越島亮介 FlutterでMONETマーケットプレイスAPIを使ってみた
5月18日 村田靖拓 Flutter ウィジェットテスト入門

本記事では、Flutterの概要についてお伝えします。

Flutter = モバイル・Web・デスクトップ対応のフレームワーク

flutter horizontal logo

FlutterはGoogle製フレームワークで、単一のソースコードでモバイル・Web・デスクトップ対応可能なアプリケーションを開発することができます。言語はDartで、こちらもGoogle製です。

今までは、iOS/Androidの両OSに対応したモバイルアプリケーション開発機能のみが安定版として提供されていましたが、「Flutter 2.0」のリリースで、Webアプリケーション開発機能がベータ版から安定版となりました。

Windows/Mac/Linux対応のデスクトップアプケーション開発機能は現在ベータ版で、「early release flag付き」で安定版でも利用可能となっています。Flutterの技術ブログによると、 デスクトップアプリケーションについても今年後半に安定版がリリースされるようです。

弊社では、モバイルアプリケーション開発においてFlutterの採用事例があります。

今後はあらゆるプラットフォームで選択肢となる可能性があり、今後が楽しみです。

Googleトレンドによる国内・海外での動向

Googleトレンドで、Flutterとモバイルやクロスプラットフォーム対応フレームワークについて「日本」と「すべての国」で比較してみました。Flutter 1.0がリリースされた2018年12月を始点としています。Googleトレンド上では、国内ではじわじわとFlutterの検索が増えており、海外ではすでに他の言語・フレームワークを超えてFlutterが盛り上がっているようです。

  • 日本Flutter Google Trend in Japan
  • すべての国Flutter Google Trend in Globa

特徴

Flutterの特徴として、公式サイトでは以下の3つが挙げられています。

特徴①: 「高速ホットリロード」と「豊富なウィジェット」による高速なアプリ開発体験
開発時にコードの変更をすぐにエミュレータや実機に反映することができ、フラストレーションなく開発を行うことができます。また、ボタンやリスト、カード、モーダルなど予め豊富なUI部品が用意されているので、簡単に画面を構築することができます。

フロントエンド開発の経験があまりない私は、モバイルアプリケーションにはさらに高いハードルを感じていましたが、Flutterでスマホアプリの画面をスムーズに作ることができ、とても魅力を感じました。

特徴②: 表現力豊かで柔軟なユーザインタフェース
開発者はエンドユーザの体験に重点を置いた機能を素早く開発することができます。
Flutterの階層的なアーキテクチャーにより、複雑なUIにも対応することが可能で、
非常に高速なレンダリングと表現力豊かで柔軟なデザインを実現できます。

特徴③: ネイティブなパフォーマンス
Flutterのコードはマシンコードにコンパイルされ、ネイティブアプリ同等のパフォーマンスを提供します。Flutterの独自レンダリングの仕組みもパフォーマンスが高い理由の1つのようです。

公式サイトのトップページで、Flutterのソースコードを動かしてみることができるので、ぜひ触って体感してみてください!

Flutter 2.0

今年3月にリリースされた「Flutter 2.0」は様々なアップデートがありますが、特に下記の2つが大きなトピックだと思います。

・Webアプリケーション開発機能が安定版となった
・デスクトップアプリケーション開発機能がearly release付きで安定版で使用可能になった

また、GoogleのFlutter 2.0リリース記事には、各企業と協力している取り組みにも言及されており、とても興味深いです。詳細が気になる方は、ぜひご確認ください。

・Canonicalと連携したLinuxデスクトップアプリケーション開発機能のサポート
・Microsoftと連携したWindowsアプリケーション開発と折りたたみデバイス(Surface Duo等)アプリケーション開発のサポート
・トヨタが車載システムにFlutterを導入する計画を発表

おわりに

Flutter 2.0がリリースされ、これから様々なプラットフォームで使われていくことが期待されます。

Flutter連載もぜひお楽しみください!