まつまるまつまる

どうも、まつまるです。モバイルアプリを開発したいけど、どのツールを使おうか悩んでいる方に向けてFlutterについて解説していきます。ちなみに僕はFlutterでアプリ開発中です。

スポンサーリンク

Flutterとは

まずは公式サイトから引用します。

Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.

訳すとFlutterGoogleが開発したモバイル、ウェブ、デスクトップのアプリケーションを美しく作るためのツールで、プラットフォームごとにコードを変更しなくても良い!みたいです。

さらに、オープンソースなツールなので、誰でも無料で始めることができます
しかし、Flutterのリリース日は2017年なので、まだまだ立ち上がったばかりです。

ただ、アメリカや中国は大手がflutterを導入しています。Googleはもちろん、中国ではアリババやテンセントなどが導入しています。

アリババ?テンセント?なにその企業?聞いたことないよって方がいるかも知れません。アリババは中国版Amazon、テンセントは中国版Facebookみたいな感じです。

2020年世界時価総額ランキングを見るとアリババが8位、テンセントが9位、時価総額日本一のトヨタは世界41位です。日本がんばれ。

つまり、世界のトップがFlutterを導入しているんです。なのですぐに廃れることはないと考えても良さそうです。

まつまるまつまる

中国でも使われているため、中国語の文献をたまに見ます。中国語はまじでわけ分からんので、英語が優しいと感じる謎の現象が起きます。笑

Flutterはオープンソースなツール。
2017年にリリースされたばかり。
中国でも流行ってる。

Flutterの言語は?

Flutterの言語はDartです。DartGoogle2011年にリリースしためっちゃマイナーな言語です。Dartについては他に譲ります。

要約するとDartは、速い、読みやすい、静的&動的言語の機能を兼ね備えているなど、Flutterに最適だということです。

スポンサーリンク

Flutterの特徴

ここでは個人開発(少人数)に重きを置いて考えてみます。まずはメリットです。

メリット
マルチプラットフォームに対応
アプリのビルドが早い
豊富なデザイン

マルチプラットフォームに対応なのでios,androidのアプリ開発をflutter1つで管理できます。アプリの内容が同じでもiosなら言語はSwiftで、androidなら言語はKotlinと分けて個人開発することは現実的ではないでしょう。

また、flutterはホットリロードと言って、コードの中身を変更してすぐにアプリに反映することができます。PDCAが早く回せるのでgood

そして、Googleが推奨しているマテリアルデザインがいっぱい使えます。例えばios風のウィジェットもあるしね。

次はデメリットです。

デメリット
日本語文献が少ない
ネィティブコードを書く必要がある

日本語文献はまじで少ないです。英語が読めないとエラー対処できないと思っていた方が良いです。ポジティブに捉えれば英語の勉強になります。笑
ただ、今はGoogle翻訳とかあるので、そこまで大きな問題ではないと思います。

ネィティブコードについては若干めんどうですね。例えば、アプリ内でローカルにアクセスしようとすると出てくるポップアップはios,androidで別々のコードが必要になってきます。

ポップアップイメージ

Flutterの競合

マルチプラットフォーム対応はFlutterだけではありません。Flutterとよく比較されるのがReact Nativeです。

分かりやすいサイトがあるので詳細は譲ります。

React NativeはFacebookが開発しており、Reactというwebフロントエンドのフレームワークがベースです。

実際にReactが使われているサービスは
Facebook
Instagram
Netflix
twitter
Yahoo!ニュース
などなど、たくさんあります。

Web系に多くの実績があるので、Reactに慣れている人はReact Nativeの方が学習コストが低くて良さそうですね。

まつまるまつまる

個人アプリ開発で、ios,androidどっちも対応したいならFlutterかReact Native良さそう。Reactに慣れているならReact Nativeで、特にこだわりなければFlutterかな。

スポンサーリンク

まとめ

以上より、僕はFlutterを使ってアプリ開発中です。日本ではまだまだ盛り上がっていないので少しでも興味を持ってもらえるとうれしいです。

参考になれば幸いです。