React Nativeとは何か?そのメリットとデメリット

先日、Winc愛知が開催した起業家のビジネスプラン発表会に参加しました。そこで、ハイブリッド型のモバイルアプリ開発とは何か? React Nativeを使って、本当にAndroid, iOS両方を対応できるアプリを構築できるのか?等、沢山の質問を受けました。そこで、本記載では、React Nativeの簡単概要だけをまとめてみました。

■React Nativeとは何か?

 React Nativeは、Reactを開発したFacebookがオープンソースで公開しているフレームワークです。実際に利用しているアプリとしては、Facebook, InstagramといったFacebook製アプリ、SkypeやAirbnb, Walmartなどの有名サービスのアプリ、中国検索最大手のBaiduのモバイルアプリ、WeChatの製作元のTencentのアプリなど、様々な企業が利用しています。

■React Nativeの特徴とメリット

1. 一つのコードベースでの開発

 React Nativeの最大メリットは、一つのコードベースで各プラットフォーム向けアプリを開発できることです。

2. 効率の良い学習

 React nativeに関するドキュメントが揃っていて、サンプルコードが沢山あります。問題に突き当たった時Webで検索すると、たいていの解決方法が出てきます。React Nativeで効率良い学習ができる理由は、ソースコードを書いてから実行されるまでの時間がとても短いからです。

3. リリース後でもソースコードを更新可能

 React Nativeでは、UIへの反映やロジックの実行など、ほとんどの実装はJavaScriptのソースコードで行っています。そのため、アプリ自体をストア経由でアップデータせずとも、JavaScriptのソースコードを差し替えることで、リリース後のソースコード更新もこちらのコントロール下で行えます。

■React Nativeのデメリット

1. パフォーマンスの問題

 凝ったUIを実装する場合、実装方法によってはパフォーマンスが悪くなることがあるようです。特に、Androidでの問題が挙げられることが多いです。ただ、同じUIをSwiftとReact Nativeで実装した時のパフォーマンスの差を計測していますが、ほとんど変わらない結果になっています。

2. 標準的なUIがない

 iOS, Androidで開発する場合、各プラットフォームでヒューマンインタフェースのガイドラインがありますが、React Nativeでは、特に決まっておらず、何が最適かを考えてアプリのUIを実装する必要があります。

3. 未対応のライブラリ

 AppleやGoogleが発表したばかりの最新機能については、React Native用のライブラリが対応するまで時間がかかることも多いでしょう。

© 2020 by HACHIX Corporation​