人気のフレームワークReact.jsとは? | 1R_Techブログ
こんにちは、イチアール株式会社人事担当です。 近年、JavaScriptのライブラリであるReact.jsが注目を集めていますね。本記事では、そんなReact.jsについてご紹介します。 ...
https://www.wantedly.com/companies/company_3056942/post_articles/449004
こんにちは、イチアール株式会社人事担当です。
近年、スマホアプリをクロスプラットフォーム開発できるということでFlutterが注目を集めていますが、本記事では、そんなFlutterについてご紹介していきます。
Flutterは2018年にGoogleがリリースしたモバイルフレームワークです。モバイルフレームワークとは、スマホアプリ開発のためのフレームワークです。またFlutterはクロスプラットフォームとも言われます。クロスプラットフォームとは、iOSとAndroidの両方のアプリを同時に開発できるということです。つまり、Flutterを利用すればiOSとAndroidのアプリを同時に開発できます。
Flutterは世界的に需要が伸びています。特に、アメリカ、インドなど世界的に見てIT先進国で右肩上がりです。FlutterはGoogleが開発したモバイルフレームワークなので、Googleも使用しています。たとえば、Googleは2020年9月頃にGoogle PlayをFlutterに変更しました。Googleの信頼性が世界的に高いことも、今後Flutterの需要がより伸びていく一つの根拠になるでしょう。
Flutterに使われる言語はDartです。DartはFlutter同様Googleによって開発された言語で、JavaScriptをもとに設計されています。Dartはプログラミング言語としての知名度はそこまで高くはなく、人気の言語とは言えないでしょう。
しかしFlutterを利用すればDartを習得するだけでiOSとAndroid両方に対応するスマホアプリを開発できるので、FlutterとセットでDartの需要が伸びていく可能性は高いと言えます。
Flutterのデメリットとして以下が挙げられます。
・人材が不足している
・日本語の資料が少ない
・Dartで実装できない機能もある
・Web開発ではSEO対策ができない
まずFlutterは急速に伸びたサービスで、またDartを扱えるエンジニアも少ないです。そのためプロジェクトにFlutterを採用した場合、対応可能なエンジニアが集まらないというデメリットがあります。
次に、Flutterはまだ日本語の資料が少ないです。とはいえ年々増加はしているので、基本的な開発では資料不足に困ることはあまりないでしょう。強いて言うなら、バグの改修などで情報収集する際に、日本語では情報が見つからない、英語のページばかりにヒットする、といったことはあるかもしれません。
次にDartは万能ではないため、実装できない機能もあります。その場合、iOSならSwift、AndroidならKotlinやJavaが必要になることもあります。
FlutterはスマホアプリだけでなくWebアプリの開発にも使えるのですが、現在のWeb上のSEOはJavaScriptを対象にしています。WebアプリがDartで記述されていると自動的に行われるSEOとの互換性がなく、集客に不利になる可能性が高いです。
たとえば、Googleのクローラーが機能しないといったことが考えられます。とはいえSEOの大部分はGoogleの技術であり、またFlutterもDartもGoogleの技術です。つまり、今後はGoogleがWebアプリ開発にFlutter、Dartを使用してもSEO上問題が生じないように改善していく可能性が高いです。
言語仕様の観点では、JavaScriptが得意な人はFlutter、Javaが得意な人はKotlinと相性が良いです。開発対象という観点では、KotlinはAndroidに特化していて、FlutterはiOSとAndroidのクロスプラットフォーム開発を対象にしています。
案件の数という意味では、現状はKotlin案件の方が多いでしょう。まとめると、現状自分が得意な言語、どのOSを開発対象にしたいか、自分が参画したいプロジェクト、などを基準に選ぶということです。
SwiftはiOSのアプリ開発に特化した言語なので、考え方としては上で挙げたKotlinとの比較と同じです。クロスプラットフォーム開発を希望しているのかiOSに特化した開発を希望しているのか、案件数が多い方が良いのか、といった基準です。
Flutterは今後伸びていく可能性は高いですが、現在の市場としてはiOSとAndroidのスキルは別々に身に付けた方がプロジェクトでの需要は高いでしょう。
Dartの記述はJavaScriptと似ているので、難易度的にはJavaScriptと同じくらいと考えると良いでしょう。つまりKotlinやSwiftと比較するとやや易しいということになります。Javaと比較した場合も同様に易しいです。ただし情報が少ないという点ではエラー改修時に難しさがあります。
Flutterの優位性は、クロスプラットフォーム開発です。KotlinやSwiftではなくFlutterを選択する人は、クロスプラットフォーム開発を目的としている場合が多いでしょう。またモバイルフレームワークの機能としても利便性が高いので、その点でも優位性があります。
Flutterで作られたアプリとして、以下が挙げられます。
・Google Ads
・じゃらん
・My BMW App
Google AdsはGoogleの広告管理アプリです。じゃらんは宿泊予約のアプリです。My BMW AppはBMWの状態管理やリモート操作ができるアプリです。いずれも企業の知名度が高く、誰もが知っていると言っても過言ではないでしょう。
上記以外にも、フリマアプリ、照明操作、求人などのアプリが開発された事例があります。今後もFlutterで開発されるアプリは増えていくはずです。
注目度が高まっているFlutterですが、その需要は徐々に増えつつあります。
イチアールは、未経験から開発エンジニアを一歩を踏み出す人をサポートする会社です。
ぜひ、未経験から一緒にエンジニアを目指しませんか。
ご興味がある方は、ぜひ気軽にお話を聞きに来てください