React Nativeの概要をさらっと
一言でいうと
JavaScriptによるWebアプリケーション開発に近い作法でAndroidやiOSのアプリを開発できるツール
なにがうれしいの?
プラットフォームの多様化に対応できる 現代のWebサービスは3つのプラットフォームに対応する必要がある
そのため、すべてに対応するのであれば
などに習熟している必要があり、それぞれを別々に開発するため工数がかかる。
モバイルアプリを開発する場合、React Nativeで書けばAndroid、iOSの両方に対応できる。
また、記法がJavaScriptの近いため、Webエンジニアにとってもなじみやすい
Web Viewとの違いは?
Web Viewも、工数削減ができる点、Webページっぽく書いて移植すればモバイルアプリになる点でWebエンジニアにとってなじみやすい点では同様である。
React Nativeはネイティブの名前を有している通り、UI描画はAndroid SDKやiOS SDKが提供している本来の画面部品を使って画面を構築する点が違う。
具体的には、React Nativaは実行時にJavaScriptやAndroid SDKやiOS SDKへとUIの描画を依頼し、アプリでの処理は端末内で行われる。
そのため、ユーザーにとって体感速度が速い。(下記参考)
WebViewでは、ページのすべてをサーバーと通信しながら表示します。そのため通信量が多くなり、画面表示まで時間がかかります。一方でネイティブアプリは、画面の構成要素の多くをアプリ自体が持っており、一部の情報以外は通信無しで表示できるため、ユーザーにとっての体感速度が速いです。
WebViewでアプリ開発するメリット・デメリット - Deha magazine