Flutter

Flutterとは?人気急上昇中フレームワークについて

どうもみかづきです。
Flutterについてご存知ですか?1度のコーディングで2大プラットフォームAndroidとiOSに出力ができる開発ツールです。
人気急上昇中のFlutterについて解説していきます。ぜひご覧ください。

コンテンツ
  • Flutterとは
  • Flutter使用言語Dartとは
  • Flutterはウィジェット構造で書く
  • ReactNativeからFlutterに移行する企業も
  • Flutterのメリットについて
  • Flutterのデメリットについて
  • Flutterの学習方法について
    • Flutterの教材について
    • Flutterのプログラミングスクールについて
  • Flutterまとめ

Flutterとは

 Flutterとは、Googleが2018年に正式発表したマルチプラットフォームアプリ開発ツール(FlutterSDK)です。簡単に説明すると、1つのソースコードでAndroidとiOS両方のプラットフォームでアプリケーションを動かすことが可能なツールということです。

 Flutterが誕生してから、まだ2年程しか経過していませんが、多くの開発者が採用するフレームワークとなっている。さらに、Flutterは現在アプリ開発のフレームワークとして活用されているが、今後ウェブにも範囲を広げていくとGoogleは発表し、まだ正式版では無いが、ウェブ用のベータ版も公表されている。

 進化し続けるFlutterは、今後利用者数が拡大するフレームワークになると思われます。

※SDK(Software Development Kit)とは、ソフトウェア開発を簡単にするためのツールのこと。

 FlutterSDK(Software Development Kit)を利用するためには、Dartという言語でソースコードを記述します。

Flutterの使用言語Dartとは

Dart

 Dartとは、JavaScriptの代替としてJavaScript言語では解決できない言語上の問題点を解決するために、Googleが開発していた言語でしたが、あまり普及されずエンジニア界隈でも知名度は低い言語でした。

 しかし、マルチプラットフォームアプリ開発ツール「Flutter」の誕生によりDart言語が活用され、近年急激に利用者が増えています。

Flutterはウィジェット構造で書く

 ウィジェット(Widget)って何?と思われる方もいると思いますが、Flutterでの画面表示は全てウィジェットと呼ばれるもので作成していきます。ウィジェットを簡単に説明すると、様々な部品のことです。その様々な部品を組み合わせ1つのものを作っていくということです。

widget_tree

 コーディングの構造としては、Widgetの中にWidgetを入れて、そのWidgetの中にWidgetを入れていくような段階的に組み込んでいきます。そのことをウィジェットツリーと呼びます。

 このウィジェットツリーの記述方法について、最初はちょっと戸惑うかもしれませんが、慣れれば問題なく開発はおこなえると思います。

ReactNativeからFlutterに移行する企業も

data
GoogleTrendの結果「5年間のFlutter/ReactNative/Xamarinの検索キーワード状況」【青:Flutter / 黄色:ReactNative / 赤:Xamarin】

 上記データでもみて分かるとおりFlutterに興味関心を抱いている人は急激に増えています。また、FaceBook開発のフレームワーク「ReactNative」を採用する企業がFlutterに移行する企業も少なくはないそうです。また、フレームワークのReactNativeが存在する中、Googleが新たにFlutterを開発するということは、何かしらの問題点があったから開発されたのだと考えられます。

Flutterのメリットについて

マルチプラットフォーム開発

 冒頭にも説明したように、1つのソースコードでAndroidとiOS両方のプラットフォームでアプリケーションを動かすことが可能です。

 開発環境の構築には少し時間がかかるかもしれませんが、1度作れば問題なし。

HotReloadによる高速な開発環境

 ファイルの保存(Macの場合:command+S)と同時に表示画面の更新が数秒でできること。そのため、高速な開発環境が整っており、ストレスなく開発ができます。

学習しやすいDart言語

 JavaScriptの代替として開発された言語であるため、JavaScriptに触れた事がある人は、学習しやすい言語になっている。ウィジェットツリー構造さえ慣れれば問題なし

Flutterのデメリットについて

まだまだ日本語の情報が少ない

 Flutterが誕生してから、まだ2年程しか経過していないから当然だとは思います。ですが、正直1番ここが辛いです。

 英語表記のFlutter公式リファレンスを読み開発を進めて行かなければいけません。英語が全く読めないので、Google翻訳でなんとか誤魔化しています。(笑)

Flutterの学習方法について

 Flutterについて少しは理解できたと思います。では、早速勉強しようと思っても学習方法ってどうしたらいいの?と思います。日本語での情報も少なく、Flutterの教材も多くはありません。Flutterのプログラミングスクールってあるの?と思われる方もいると思います。そこで、Flutterの教材・プログラミングスクールについてご紹介致します。

【Flutterの教材について】

Android/iOSクロス開発フレームワーク Flutter入門

Flutter モバイルアプリ開発バイブル

基礎から学ぶFlutter

【Flutterのプログラミングスクールについて】

みんなのプログラミング

everyone_programing

Flutterまとめ

 いかがだったでしょうか。Flutterについて多少の理解はできたと思います。Flutterは、現在マルチプラットフォームのアプリ開発ツールとして人気がでていますが、Web用のベータ版など日々進化をしているツールになっています。今回ご説明はしませんでしたが、Googleが開発中の次期OS「fuchsia」向けの開発ツールでもあるそうです。皆さんご存知のとおりGoogleの信頼度も高いです。Flutterのシェアが伸びるにつれてGoogleの開発はますます進んでいくことでしょう。これを機に、Flutterの勉強をしてみてはいかかでしょうか。