Flutterとは
Flutter(フラッター)とは、Googleが開発したモバイルアプリケーション向けのフレームワーク[1]です。
基本的にモバイルアプリ開発をする際にiOSアプリでは「Swift」、Androidアプリでは「Java」や「Kotlin」というプログラミング言語を用いて開発していきます。
Flutterは同じソースコードで両方のOS上で動作するモバイルアプリを開発できる「クロスプラットフォーム」と呼ばれるものとなっています。
Flutterの特徴
Flutterで開発をしていく上で押さえておきたい特徴をいくつか紹介します。
クロスプラットフォーム
上で説明した通り、同じソースコードでiOSとAndroid両方のOS上で動作するモバイルアプリを開発できます。
Flutterを採用することで開発のスピードやコストがかなり削減できます。
ホットリロード
ホットリロードとは、プログラムを変更した際にすぐにアプリ画面に反映させることができる機能のことです。
みんなはHTML/CSSの課題をしているときに
- プログラムを書く
- ブラウザを見て思った通りのデザインになってるか確認する
- なってなかったらプログラムを編集する
- Webブラウザをリロードして確認する
を繰り返してると思うけど、モバイルアプリを開発するときも同じようなことをします。
ただブラウザと大きく違うところは確認のしやすさです。
モバイルアプリをシミュレータ[2]や実機にビルドするのには少し時間を要します。
なので、細かいスパンでプログラムを編集してビルドし直していると開発スピードが落ちてしまいます。
ここで「ホットリロード」が役に立ってきます。
Flutterはホットリロード機能が備わっているので、ビルドした状態でプログラムの変更を反映することができます。
つまり一度ビルドしてしまえばサクサクと開発が進められるってわけです。
ピンとこない人のためにもうちょっと砕いて話すと、
生きていく上でミスしたら人生最初からやり直さなあかんみたいな感じ。だるいよな。
ホットリロードはミスしたら人生最初からやり直さんくてもそこから反省してすぐ改善できるみたいな感じ。
うんうん。わからん。
まあなんせホットリロードの開発の効率性の高さが、Flutterが注目を浴びている要因の一つと言えます。
Widget(ウィジェット)
FlutterのUIを構築しているパーツのことを「Widget」と呼びます。
この様々な「Widget」を組み合わせることで複雑なUIを構築しています。
後で例を含めて説明するので今は「FlutterはWidgetを組み合わせて画面を作ってるんだな」って思っててください。
Dart
Flutter開発には、Dartという言語が用いられます。Dartは、JavaScriptの問題点を改善し、置き換えるための言語として、2011年にGoogleによって開発されました。知らんけど。
ツリー構造
Flutterはツリー構造です。文章多かったらしんどいから以上!
-
FlutterはDartというプログラミング言語のフレームワークで、Dartという言語をモバイルアプリを開発しやすいように作られたのがFlutterです。
たとえばみんなが今授業で習っているPHPにも「Laravel」というフレームワークがあったりします。
めちゃくちゃ簡単に言うと、
「Dartそのままだとモバイルアプリ開発難しいから簡単に書けるようにしようぜ。」とか
「PHPそのままだとコード数多くなるしたまに不便やから簡単に書けるようにしようぜ。」
の発想から作られたのがフレームワークです。 ↩︎ -
現実の現象や物体などを模擬的に再現する機能を持った装置やソフトウェア、システムなどのこと。
模擬的にモバイル端末を起動することができるソフトウェア、システムなどのこと。 ↩︎