Flutter 3が正式リリース!概要と特長・新機能について解説
thumb_flutter3_01
Flutter 3が正式リリース!概要と特長・新機能について解説
基礎知識
アンドエンジニア編集部
2022.06.22
この記事でわかること
2022年5月11日、GoogleはFlutter 3を正式リリースしました
Flutter for Windows 2.10に続き、macOS・Linuxアプリの安定版となります
マルチプラットフォームをサポートし、見栄えのするユーザーインターフェイスを提供します

Flutter 3が正式リリース

img_flutter3_01

2022年5月11日、GoogleはFlutter 3を正式リリースしました。Flutter for Windows 2.10に続いての安定版となり、macOSとLinuxアプリでも安定版が提供されます。発表はGoogle I/O 2022を通じて行われ、紹介動画も公開されています。 【参考】:Flutter What’s new 【参考】:Flutter May 11, 2022, Google I/O Edition: Flutter 3 release 【参考】:Flutter  at Google I/O 2022

Flutterの概要

Flutterは、Googleが開発したユーザーインターフェース用SDKです。単一のコードをベースに、マルチプラットフォームのアプリケーション開発が可能なオープンソースソフトウェアとなります。今回のリリースは、macOSとLinuxのアプリにおいても安定版となりますので利用拡大が期待されます。 【参考】:Flutter 【参考】:Introducing Flutter 3

日本でも、Flutterアプリ開発者コミュニティの「Flutter Japan User Group」や、Flutterエンジニアに特化した学習コミュニティ「Flutter大学」など、Flutterに関するコミュニティが存在しています。

“Flutter”だけでも食っていけます。『天才プログラマーKBOY』主宰の「Flutter大学」は陽キャ集団だった【前編】

Flutterの実績と特長

img_flutter3_02

Flutterを用いたアプリはすでに50万以上リリースされています。データ分析やファイナンス、Eコマースなど多岐に活用されています。デベロッパーには以下の特長が受け入れられていると考えられます。 【参考】:Introducing Flutter 3

開発効率が高い

Flutterを用いることで、ビルドから公開まで短期間に実装することができます。高い生産性はホットリロード機能によりもたらされます。コード更新で状態がキープされ、ほぼ瞬時に変更が反映されます。構築期間短縮や反復作業の高速化が可能となります。

見栄えが良い

FlutterはIntelやARMのマシンコードや、JavaScriptにコンパイルすることで高速実行されます。主要デバイスでハイパフォーマンスに画面表示できるほか、ピクセル全体を制御することでどの画面でも滑らかで見栄えのするカスタムデザインを作成できます

JavaScriptの入門!その概要や文法の基礎について解説!

デバイスを選ばない

Flutterでは、Android・iOSに加えて、Windows・MacOS・Linux・ウェブアプリケーションのクロスプラットフォームで実行可能です。そのためコード管理の一貫性を保ちながらメンテナンスできます。

Flutter 3の新機能

img_flutter3_03

2022年2月4日、Flutter for Windows 2.10がリリースされました。Flutter 3はFlutter 2.10に続いてのリリースとなります。ここではFlutter 2.10以降の追加機能と提供サービスについて紹介していきます。 【参考】:What’s new in Flutter 3

実装に関する情報は、Release Notesに記載されています。詳細は以下リンクをご確認ください。 【参考】:Flutter 3.0.0 release notes

macOSとLinuxアプリの安定版対応

今回のリリースでは、macOSとLinuxアプリが安定版としてサポートされます。これまでのiOS・Android、そしてWindowsに加えてサポートOSが拡大しました。OSの機能を最大限利用し、共通のユーザーインターフェースとアプリケーションロジックで開発生産性向上と用途拡大が図られます。

マテリアルデザイン 3のサポート

Googleが発表した、最新のデザインガイドラインであるマテリアルデザイン 3(Material Design 3)に対応します。ダイナミックカラーやカラースキームの統一を実現します。Android 12で導入された、タッチリップルデザインやストレッチオーバースクロール効果など新しい視覚効果が得られます。 【参考】:Meet Material Design 3

macOSの機能追加

macOSでは、以下の改善が図られています。

メニューサポート macOSのカスケードメニューと システムメニューバーをサポートします。PlatformMenuBarウィジェットにより、macOSでプラットフォーム・レンダリングされたメニューバーを作成できます。プラットフォーム専用メニューや、アプリケーションメニューに表示される内容の制御ができます。

ユニバーサルバイナリサポート 今回のリリースからmacOSデスクトップアプリは、ユニバーサルバイナリとしてビルドされます。既存のIntelベースのMacとAppleの最新のApple Siliconデバイスの両方をネイティブにサポートします。

デスクトッププラットフォームでの多言語サポート

Windows、macOS、Linuxのデスクトッププラットフォームでは、テキスト入力に多言語入力をサポートします。IMEやサードパーティ入力メソッドに対応します。日本語入力についても、問題なく対応します。

モバイルプラットフォームのサポート追加

折りたたみ式モバイルフォンやデュアルディスプレイ型デバイスがサポートされます。iOSでは可変リフレッシュレートがサポートされ、高速アニメーション表示がよりスムーズになります。またiOSでは、リリースを簡素化するためにビルドオプションが追加されています。

ウェブアプリのアップデート

ImageDecoder APIのサポート有無を自動検出し、画像のデコード機能が使用できるようになります。非同期で画像をデコードできるため、画像のデコード処理がおよそ2倍高速化されます。lifecycle APIでは、ブートストラッププロセスを制御し、パフォーマンス分析に役立てることができます。

パフォーマンスの改善

Androidデバイスでは、部分的な再描画によりラスタライズ時間が短縮され、アニメーションパフォーマンスが向上します。OpacityアニメーションについてもsaveLayerメソッドを省略可能にし、ラスタライズ時間を短縮します。

ドキュメントサイトの充実化

Flutter 2.10以降、次のようなサイトが提供されています。今回のリリースに合わせて、活用するのが良いでしょう。

Casual Games Toolkit Flutterで簡単にゲームを作るためのCasual Games Toolkitが提供されます。ゲームで必要なメニューや音楽・広告・アプリ内課金の仕組みがテンプレート化されており、サンプルコードも公開されています。 【参考】:Flutter Casual Games Toolkit 【参考】:Flutter Docs Casual Games Toolkit

Happy paths project Flutter開発者としてレベルアップするためのプロジェクトとして、Happy paths projectを立ち上げています。Happy pathsの推奨パッケージにより目標をガイドし、デベロッパーがより高度で大規模なアプリを作るためのガイダンスが提供されます。パッケージは、用途別に分類付けされ提供されます。【参考】:Flutter Happy paths project

サポートの終了

バージョンアップに伴い、以下の開発環境とターゲット環境のサポートが終了となります。

開発用Windows7および8 マイクロソフト社のサポート終了に伴い、開発用Windowsはバージョンが引き上げられ、10以降が対応します。実行するFlutterアプリ自体のサポートは継続されます。

iOS Flutterの32ビット版iOSデバイスと、iOSバージョン9および10のサポートが終了となります。iPhone 4SやiPhone 5、iPadの第2世代・第3世代・第4世代のサポートは今回のリリースが最後の安定版となります。

Flutterの使い方

img_flutter3_04

Flutterは、Googleの開発したDartが中心的な言語ですので、Dartを理解しておくのが良いでしょう。C言語に近い構文のため、書きやすいという声があります。Dart公式サイトでは、ブラウザベースのコード実行環境が用意されていますのでインストールせずに簡単な確認をすることもできます。 【参考】:Dart

Flutterのインストール

Flutterは、Windows・macOS・Linux・Chrome OSにインストールすることができます。最新版は3.0.1です。各OSのインストール要件も掲載されていますので、事前にご確認ください。 【参考】:Flutter Install

インストールにより、Dartプラットフォーム・Flutterエンジン・基本ライブラリ・iOSとAndroid向けウィジェット・開発ツールが構成されます。

ドキュメントの活用

Docsには、概要から開発まで多くの情報が掲載されています。用途に応じて確認するのが良いでしょう。主な用途は以下の通りです。

Get started 最初に確認する情報です。インストールやセットアップ、その後に最初のコード開発についてまとめてあります。 【参考】:Flutter Get started

Sample & tutorials FlutterのサンプルギャラリーやCookbook、Tutrialsが掲載されています。利用できそうなコンテンツがあるか確認してみましょう。 【参考】:Flutter Tutrials

Development ウィジェット概要やレイアウト設計やアニメーション等の、ユーザーインターフェイス開発手法が掲載されています。データ処理や国際化、パッケージ管理など全般がカバーされています。 【参考】:Flutter Development Widgets

上記の他、「Test & debugging」「Performance & optimmization」「Deployment」等の工程についても整理されています。

パッケージマネージャの利用

PubはDartプログラミング用パッケージマネージャで、Pub.devはGoogleがサポートしている公式リポジトリです。サイトには、Flutter用ライブラリやパッケージが登録されています。登録されているパッケージを利用することもできますし、自身の開発したパッケージを公開することもできます。ホームページ用パッケージやCounter等、多数のライブラリやパッケージが登録されています。 【参考】:pub.dev

ユーザーインターフェイスの開発生産性を高めましょう

img_flutter3_05

Flutterは、単一のコードをベースに、マルチプラットフォームのユーザーインターフェイス開発が可能です。モバイルデバイスは多様化・多機能化が進んでおり、デスクトップ環境とともにアプリケーションの幅も広がっています。ユーザーインターフェイスの開発生産性を高めるためにも、開発フレームワークの利用は今後も重要になっていくでしょう

GoogleのGCPについて知り、エンジニアのスキルに生かそう
気になる人のTwitterをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

残業ほとんどなしの求人
IT業界の『残業ほとんど無しの求人』をピックアップ!その他、こだわり条件での求人検索も◎
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
エンジニア求人

編集部おすすめコンテンツ

残業ほとんどなしの求人
IT業界の『残業ほとんど無しの求人』をピックアップ!その他、こだわり条件での求人検索も◎
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT