React Nativeは既にブームが去って、世間に見捨てられたという意見がネット界隈で浸透しています。そもそもオワコンとは、「終わったコンテンツ」の略で最盛期を過ぎてもはや流行らないものを指します。果たしてReact Nativeは過去の遺物として扱ってよいものなのでしょうか?
React Nativeオワコン論争の火種
発端となったのは、IDG Corporationというアメリカの大手ITメディアの記事によるものだと考えられます。(参照:React Native JavaScript framework stumbles)
IDGはコンピュータ関連情報誌の発行や、IT関連情報ネットワークを提供する大手企業で、それなりの影響力がある情報発信源です。日本でも上記記事を日経BPが翻訳して、配信してしまったことが日本で「オワコン」として定着し始めた要因ではないかと推測できます。
この記事に反応した日本のエンジニアたちが「React Native、ヤバイんじゃね?」とTwitterに投稿したり、ネット記事で検索しまくったため、Google検索結果のReact Nativeのサジェストに「オワコン」が出てきてしまう事態になったものかもしれません。
「一部の企業でReact Native離れが始まる」といった見出しで、大手メディアにニュース記事が流れたらアプリ界隈のエンジニアは、誰だって「まじか!?」ってなりますよね。そりゃ今後の需要や開発中止にならないか気になってググります。
ここに、React Native衰退説の幕が開けることになるのです。
※上記記事を日本語で読みたいかたはこちらからどうぞ。
いつからGoogleのサジェストに出ているのか
前述の記事が影響しているとなれば、Google検索のサジェストに「オワコン」が出てくる時期と、記事が広まった時期が近いのではないかと考えられます。Googleトレンドで調べてみたところ、「React Native オワコン」は2019年12月頃から出てきているのではないかと推測されます。
記事の投稿日が2018年8月20日ですから、トレンドに入るまでに少しラグがありますね。ただ、直接関係していないとしても、間接的に影響があったと考えられなくもないでしょう。もう少し確証を得るため、Twitter の過去のトレンドを調べようと「ついっぷるトレンド」開いたらサ終(サービス終了)してました……
ちなみにオワコンを意味する英語の「outdated」や「no future」「stumbles」ではGoogleトレンド(全世界)のデータが無かったので世界的にはこんなに騒がれてないのではないかとも思われます。
大本命「Flutter」との比較
React Nativeと比較されるクロスプラットフォーム用のSDKにFlatterがあります。React NativeがFacebookにより開発されたことに対して、FlutterはGoogleが開発しています。(……ん、Googleが競合を蹴落とそうとしているのか?というちょっと気になる要素……)
Flutterの勢いはかなりのもので、Googleトレンドを見るとReact Nativeを追い抜く形で検索がHOTになっているのが分かります。
2019年8月くらいからFlutterがReact Nativeを抜いてトレンドを盛り上げているのが分かります。
また、React NativeはJavaScriptで書けますが、FlutterはDartという言語でプログラムを書かないといけません。JavaScriptの利用率は、Stack Overflow Developer Survey(2021年版)によるとエンジニアの64.96%が業務で使用しています。一方、Dart言語は6.02%。Web関係の業務をしているとJavaScriptはほぼ必須ですから、この差は納得できます。
Python伸びてますね、全く関係ないですが。
で、肝心のフレームワークとしての利用率ですが、面白い結果が見られました。次の図を見てください。
スマホで見ている方、読みにくくてゴメンナサイ。同じくStack Overflow Developer Survey(2021年版)からの引用ですが、FlutterとReact Nativeがほぼほぼ互角という結果になっています。1位は.NET Frameworkで、2位はNumPy……Python強い!関係ないですが。
React Nativeが14.51%で、Flutterが13.55%、とほとんど同じくらいの利用率なのが分かります。肝なのは「中規模大規模開発で」使用したFrameworkということですので、個人で勉強程度に利用したのではなく、きちんと企業やその他の団体でリリースされたアプリケーションの開発で利用されているという点です。
この結果を見ると、2021年段階ではオワコンだとは言えなそうです。最盛期に比べるとFlutterにエンジニアを持っていかれてしまった、程度の印象です。
React Nativeはなくなるか?
これからReact Nativeを始めよう、やってみよう、という方は「React Native オワコン」のサジェストを見て躊躇したり、やる気をそがれたり、不安になったりするかと思います。自分自身、React Native止めた方がいいのかな、と一瞬考えてしまうくらいです。
気になったので、GithubのReact Nativeのリリースノートをチェックしてみました。
Releases · facebook/react-native(Github)
12日前に更新されてる!結構頻繁に更新がかかっているみたいです。12日前、15日前、18日前、26日前、28日前……と短いと2日ごとや3日ごと、長いと8日ごとに小さな修正があてられています。企業努力はあるんだと安心しました。だた企業努力だけでは、なんともならない側面も確かにありますが、Versionが1.0を迎えた暁にはまた、React Nativeが再燃する可能性は十分にあります。
これだけだと、まだまだ不安要素がぬぐい切れないですね。そこで、React Native公式ブログを閲覧してみました。React Native Is Hiring Managers, To Expand Beyond Mobileという記事では、モバイルを超えたReact Nativeの利用を進める大きなプロジェクトのマネージャーを採用する旨の記事があります。まだまだ大きいことをやろうとしているのが見て取れます。
React Native’s Many Platform Visinの記事を見れば、VRとの関連性やTV用のアプリケーションとの話題なども出ており、単なるモバイル利用という枠を超えて多岐にわたるチャレンジを行っておることがわかります。
もちろん全部を全部信用している訳ではないですが、すくなくとも公の場でこのように期待を持たせるような発言をするには、上層部の許可が必要ですし、何より、投稿内容もチェックされているはずですから8割程度は信じてもいいんじゃないかなと思うところです。(Facebook社の方向性の話です)
非常に前向きにRect Nativeプロジェクトを進めていることが、Githubや公式ブログから分かりました。
つまり、React Nativeは当分無くならないと推測できます。(Facebookなので多少は開発費に余裕あるでしょう。お金のことは無学ですが……)
まとめ
- React Native オワコンの間接的原因は、IDG のニュース記事。(もちろん他にもあるかも)
- オワコンサジェストが出始めたのは、2019年12月頃。(このころFlutterのトレンドに抜かれる)
- 実際の業務ではJavaScriptが優勢、Dartの20倍くらい。
- フレームワークの利用率はReact Native、Flutterほぼ互角。
- Githubのリリースノート、React Nativeの公式ブログでは、活発で前向きな投稿が多い。
このくらいですかね、ということでReact Nativeをやってみようという方、是非チャレンジしてみてください。JavaScript、Typescriptで書けるというのは最大の利点です。できないことにぶち当たったりして、どうしても仕様を変えてもらわなければいけないときは、Githubのissueに勇気を振り絞って提案してみてくださいね。(ちなみに現状ではローカルプッシュ通知の実装がめんどくさいのがマイナスかな)
あ、大事なこと書き忘れてました!Yahoo!検索で「React Native」と文字を打っても「オワコン」なんて出てこないですよ(笑)。Microsoft Bingでもサジェストでません(笑)
あれ、これもしかしてFlutterを普及させたいGoogleの陰謀……はーい、誰か来たようなので今回はここまでにします。場合によってはもっと加筆するかもしれません。ではまた会いましょう。ピンポンピンポンうるさいんだけ……