ReactはFacebookが開発したJavaScriptのフレームワークで、JavaScript言語一つで、ネイティブに描画されるiOSとAndroidのアプリを作ることができます。
さらに、JavaやObjective-C/Swiftのライブラリを自分で書いてReact Native自体を拡張することも可能です。
WebでReactを使ったことがあれば、ターゲットがモバイルに代わるだけなので簡単に使い始めることが可能できます。
Reactと同様にReact NativeもJavaScriptと、JSXと呼ばれるXMLライクなマークアップを使ってViewの部分を書きます。内部では、ネイティブのレンダリングAPIが呼び出されるので、WebViewではなく、正真正銘のモバイルのネーティブのUIコンポーネントが描画されます。もちろん、プラットフォームの機能であるカメラや位置情報といったデバイス依存のものも利用できます。
Nativeを使って安心できるポイントとして、Facebook, Instagram, Airbnb, Baiduといった名だたるアプリがこぞって採用しているということが挙げられます。どういったアプリで利用されているかはこちらのページで見ることができます。
スマホアプリを開発にしようとするチームにとって、規模を問わず、一つの言語で両方のプラットフォーム(iOSとAndroid)に対応できるアプリを作成できるという意味で、人件費削減や、コストを抑えるという面で大きな意味を持ちます。
また、JavaScriptという言語がWeb界隈ではよく使う言語なので、Objective-C/SwiftやJava/Kotlinと比べると習得するコストも 低いです。
もちろん、魔法なツールはどこにもないので、React Nativeにも様々な課題があります。
React Nativeを採用してプロダクションアプリを開発する際に、React Nativeの特徴、長所短所をある程度把握した方が望ましいでしょう。
Time Ticketでチケットも販売しているので、相談が必要な際はご購入をご検討ください。