みなさまは「Flutter」を知っていますか?
Flutterは、Googleが開発したモバイルアプリケーションのSDKであり、AndroidやiOS向けのアプリケーションの開発に利用されています。
Flutter 入門編として、以下にFlutterの概要を記しましたので、是非ご一読くださいませ。
目次
1. Flutterとは
Flutterとは Google 製のアプリケーションUI構築ツールキットです。
既存のフレームワークの良さを取り入れつつ、それまでのフレームワークが抱えていた課題の改善を目指したつくりになっています。
Flutterの公式ページでは
と記載されており、日本語で言うと一つのコードを書けば、AndroidとiOSどちらのプラットフォームでもアプリケーションが動くことができます。
Googleが開発中のOSのFuchsiaではアプリケーションの開発は主にFlutterを利用して行われているようです。
2. Flutterのメリット
2-1. クロスプラットフォーム開発
ひとつのソースコードで、クロスプラットフォームでのUI構築ができる
2-2. Hot Reloadを使って、高速に開発ができる
プログラム内容を修正すると、すぐに画面へ反映され、コンパイルする手間がかからず開発しやすい仕様となっている
2-3. 分かりやすいDart言語
JavaScriptに近い『Dart』と呼ばれる言語が使用されており、2Dゲームなどの複雑なアニメーションなども、Flutterの仕組みを理解していれば実装できる
※Dart言語に関する詳しい説明は下に記述してあります。
2-4. 自由度の高いUI実装
コンポーネント指向、ビジネスロジックを分離するBLoC Pattern、Plugin機構によって、熟練度・得意分野の異なるプログラマの共同開発ができる
3. Flutterのデメリット
3-1. 日本語の資料が少ない
細かい動作についての情報や、最新のバグ情報などは探しにくい
3-2. オープンソースライブラリが少ない
複雑なUIを実現する際に参考にできるライブラリや資料が溜まっていない
3-3. ネイティブコードを書かなければならない場合もある
カメラやヘルスケアデータなどをフル活用する際はネイティブコードを書く必要がある
4. ところで、Dart言語とは
Googleは「シンプルで意外性のないオブジェクト指向プログラミング言語」と提唱しています。
DartはJavaScriptの代替となることを目的に開発され、Dartは、「JavaScript言語では解決できない言語上の問題点を解決」「優れたパフォーマンス」「大規模なプロジェクト用途にも耐えうる」「セキュア」などの観点で設計されました。
文法は、Javaプログラマにはなじみのあるものが多いため、Javaを知っている人の学習コストは限りなくゼロに近いとの声もよく聞きます。
また、サーバサイド/クライアントサイドの両方をDartでコーディングできたり、静的型付けにも対応しています。
5. React NativeよりもFlutterの方が熱い?!
React NativeはFacebook, Instagram, CookPad, メルカリなどの大手企業で実績がありますが、2020年に新しく手を出すならば、将来性のあるFlutterでしょう。
なぜならば、こちらのデータをご覧ください。
こちらは、世界中の国を対象に過去3年間ほどのGoogleトレンドでのデータになります。
2019年8月頃から、Flutterの方が上回っていることが分かります。
Flutterの適用範囲をモバイル領域だけでなく、他の領域に拡げようとしている試みもあるので、Flutterが熱いのは確実ですね!
6.アプリ開発ならバイタリフィへ
弊社ではまだFlutterを使用していませんが、アプリ開発をすることは可能です。
アプリ開発を検討している方は、ぜひ弊社へご相談ください。
バイタリフィ・バイタリフィアアジアでは、ホーチミンで2008年から12年超のオフショア開発経験と実績を活かし、優秀なベトナム人エンジニアを活用したソフトウェア開発・サービス開発/保守運営が可能です。