Feの活動記

日々の思ったことや技術のことについて書いてます

Flutterの概要(一部Fuchsiaについて)

最近Flutterでの開発をしています。

Flutterについてと歴史

Flutterとは2017年5月11日にGoogleが発表したクロスプラットフォーム開発フレームワークです。

正式版は2018年12月4日にリリースされています。

Fuchsiaと呼ばれるGoogleが作成している次世代OSがありますがそのOSでFlutterが動作させることができるらしいです。Fuchsiaの特徴はスマートフォンタブレット、PCなどの幅広いデバイスで起動であるので、統一された汎用性のあるアプリを作成できるFlutterのコンセプトとあっています。なのでFlutterは今勉強しておいて損がない開発フレームワークな気がします。もしかしたらGoogleもPCをarmアーキテクチャの新CPUにしてスマホもPCもFuchsiaに統一するのかもしれませんね!

Flutterを使うメリット

クロスプラットフォーム

・ホットリロード対応

マテリアルデザインに沿ったUIを簡単に設計できる

クロスプラットフォームとは

そもそも昔はAndroidならJavaやKotlin,iOSObjective-CやSwiftのようにOSごとにそれぞれの言語を用います。

ですので2言語開発しなきゃなので開発コストが高くなってしまうわけですね。

クロスプラットフォームフレームワークはどちらも同じコードで実装できるので手間が半分ですし学習コストもかかりません!

ホットリロードとは

ホットリロードとはアプリの実行中にコードを変更した時その都度瞬時に反映させる機能です。

これもそもそもなのですが通常はコードを変更した場合、再ビルドしなければならないので数十秒から数分かかります。

すぐにコードの変更が反映されるのですぐに確認できて開発効率が飛躍的にアップします!

マテリアルデザインとは

Googleが推奨するデザイン手法のガイドラインです。

モバイルやPCなどデバイスを変えても対応できるようなシンプルなデザインとなっております。

マテリアルは物質的な、具体的なという意味で物理的な法則に沿ったデザインを指しています。例えば光や影などで立体的に見せていたりします。

また、ユーザの操作性を重視して、感覚で理解できるようなUIを目指しています。ですのであまり多くの色は使わず注意散漫になりません。

似たデザインとしてはフラットデザインがあります。

開発言語と環境

開発言語はこれまたGoogleによって開発された「Dart」と呼ばれるプログラミング言語です。

JavaScriptの替わりとなる言語として作られたのでJavaScriptと記法がやや似ています。

環境は基本的にはAndroid Studioを用います。その際Flutter SDKも入れている必要があります。

iOS用にもアプリを作りたい場合はmacXcodeも必要となってきてmacAndroid Studioを入れるのがいいのかな?と思います。

また、AWSのFlutterアプリの例ではVSCodeを用いているのでこちらも使えるんだそう。