支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


Flutterとは?

Googleによって開発されたオープンソースモバイルアプリケーションフレームワークです。FlutterではAndroidとiOS両方の開発ができます。それだけではなく、PCやWebページも単一のコードで表示できます。つまり、モバイル(Android/iOS)、PC(Windows/MacOS)、Webページを単一に記述することができるということになります。
FlutterのエンジンはC++で書かれていますが、コーディングをしていく上では、Dartという言語を使用します。

Dartとは?

JavaScriptの代替言語として2011年にGoogleからリリースされたオブジェクト指向言語です。 JavaScript言語における言語上の問題を解決を目的に設計されたため、書き方もJavaScriptと類似しています。 そのため、JavaScriptの経験がある人はなじみやすいでしょう。 また、オブジェクト指向のため、同じオブジェクト指向言語のJavaの経験がある人もなじみやすいと言えます。 Dartは複数種類のIDEがサポートしており、パフォーマンスも高いです。比較的習熟しやすい言語のため、学習するにはおすすめの言語です。

開発環境はどうなるの?

AndroidではAndroid Studio,iOSではXCodeが主流ですが、FlutterではAndroid Studioを使って開発している方が多いです。Android StudioはFlutterのプラグインを用意しており、インストールすることで簡単にFlutter開発をすることができるからです。

Flutterを使用している企業

GoogleやSquare、Alibaba Group、ebayといった大企業が、Flutterを用いて世界的なアプリを開発しています。 Googleは音声等でAIを操って、任意の機能を呼び出すことができる、GoogleアシスタントをFlutterで記述しています。 Squareはアプリ内決済用FlutterプラグインSDKを開発し、決済システムをFlutterアプリに統合することが可能となりました。

Flutterでどんなことができるの?

冒頭でも記載した通り、AndroidとiOSを同じプログラミング記述で動作させることができます。 一部、AndroidとiOSで違う方法で記述しないと動作しないものもありますが、基本的には同様に記述できます。 そのため、開発効率が高いということになります。(AndroidとiOSを別々で作るとしたら単純計算で2倍の時間がかかります。)

Flutterのデメリット

少し記載した通り、基本的な動作はAndroidとiOSでも単一コードで動作しますが、一部できないこともあります。 Flutterの特徴として、各プラットフォームのコードを呼び出さずに、Flutter独自のレンダリングエンジンで描画をします。そのため、各プラットフォームのコードを呼び出して描画するReactNative等でできていたことが、Flutterではできないという可能性はあります。具体的な例を挙げると、ネイティブの機能を使用したい場合、ネイティブコードを書く必要があります。そのため、Flutterだけ学習していても開発できない機能はどうしても存在します。
また、Flutterだけではなくリリースされてまもない新技術に共通するデメリットとして、ライブラリが不十分である可能性があります。今後の公式の動きに注目しましょう。

Flutterと他フレームワークとの比較

ReactNativeやXamarin等のフレームワークもコードベースの統合は可能です。しかしそれらは理解するのが難しく、抵抗感がある人が多いのが現状です。しかし、FlutterはJavaScriptになじみがあれば理解しやすく、なじみがない人でもDart言語は比較的理解しやすいもののため、Flutterを導入する企業が多いです。

Flutterの学習方法

「公式は英語だし新技術を独学で学習するのはちょっと...」と躊躇われている人も多いかもしれません。しかしながら、その公式サイトを翻訳して、日本語サイトとして運用している有志サイトもありますし、YoutubeでHow To動画がアップロードされているため、学習しやすい環境であると言えます。ぜひ学習を進めてみてはいかがでしょうか。

まとめ

いかがだったでしょうか。Flutterはモバイル、PC、Webサイトを単一コードで簡潔に記述できる、とても便利なものです。しかし、上記に記載している通り、現状としてはFlutterに関するドキュメントは英語で記載されているものが多く(公式は英語表記のみ)、なかなか触れようにも躊躇されがちです。今後、公式が日本語に対応するなど、日本語のドキュメントが増えることに期待したいですね。