Blog

マルチデバイス開発ツールとしてのFlutter(フラッター)のメリット

この記事ではマルチデバイス開発の、スマホ開発において、Flutterが良い理由について簡単に説明したいと思います

ちなみにFlutterとは、ひらひらと飛ぶ、ときめくという意味があるようです。

まず アプリの、Android 版が必要になりました

海外では Android の利用率がやっぱり8割程度あるようなイメージです。

海外では、所得が低い人は当然 Android になります。

しかし、日本では所得が低い人でも、高い携帯電話料金に支えられて電話番号を変えることにより、実質、月額0円で iPhone を手に入れることが可能です。

ですので日本には所得によらず iPhone を持つことができます。

しかし海外ではそうではありません。

圧倒的な利用者数のユーザーに、使ってもらうためにも Android でもリリースすることが必要になりました。

それでクラスプラットフォーム での開発が可能なものを探しました。

もともとこのクロスプラットフォームには、フェイスブックの開発した、リアクトネイティブ(https://reactnative.dev/)や、モニカ(https://ja.monaca.io/)

とか数々の使えなくなってしまって、消えたプロジェクトがたくさんあります。

まだ消えてないけど、実質使えない。

ですから,非常に慎重に選択することが大切です。

結論から言うとFlutterしかないということです。 

その理由を以下に示したいと思います

1- Google が開発をしている

Flutterは JavaScript に似たDartという言語をつかいます。

TypeScriptはjavascriptの欠点を補って、型をもたせたり色々と便利になります。しかし最終的には、コンパイルしてJavaScriptを出力します。

JavaScriptの本来持つ、欠点まで修正できるわけではありません。

それで、スマホの上で動かすならJavaScriptで無くてよくないか?ということで、グーグルはDartという言語を開発しています。オラクルのJAVAが権利料払えと、喧嘩になったこともあり、グーグルはJAVAからの脱却を目指しています。グーグルの作るスマホのアプリは、Flutterを利用しているそうです。

そのため、Flutterのバージョンのアップの度に、言語仕様から機能の見直しが行われるので、大変魅力的です。

nilを許容しない言語仕様になっていて、バグを未然に防ぐこともできます。

2-デバイス依存する機能について

カメラや GPS センサーなどは本来 スマホが持っているデバイスを使うことが望ましいです

これはFlutterのプラグインという機能によって、デバイスの機能を使うことができることもわかりました

LIVE 2 D や Vtuber のためのカメラセンサーなどを利用する場合、iOSネイティブアプリの方がデバイスの性能を十分に引き出す事が可能です。

しかし通常のアプリであれば、デバイスに依存する、機能をフルに必要とはしません 

3-学習コスト

フラットはオープンソースですべてのソースコードを読むことができます

一方Swiftは、一部そうではありません

また Web 上に公開されているプラッタのリファレンスは、もきちんと管理されています

またチュートリアルやサンプルそして公式の YouTube チャンネルもあり学ぶのに非常に効率的だと感じました

公式サイト

https://flutter.dev/

パケージマネージャー

https://pub.dev/

Flutterスタイルガイド

https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#lazy-programming

ドキュメント

https://pub.dev/packages/dartdoc

npmのように、パッケージを検索するサイトもあり、そこでは高品質なパッケージをを探すことができます

 Stack Overflow のように品質の基準に基づいて、ポイントが付くようで人気度と合わせて、どのパッケージが良いかもすぐに理解できます

こうしたことも考えてこれからはFlutterによる iOS や Android アプリの開発が主流になると思います。


一つ前の記事 GitHub SSHの登録 fatal: Could not read from remote repository.
次の記事 IT部門の人材育成で二人同時に採用する理由