こんばんは。今日は、React Native開発シリーズの第一弾として、React Nativeの概要について調べて分かったことを自分への備忘も兼ねてまとめておこうと思います。
Contents
React Nativeの概要
React Nativeは、Facebookが開発したオープンソースのモバイルアプリケーションフレームワークで、2015年の3月に登場しました。
React Nativeの特徴は以下になります。
特徴1:Reactを利用してネイティブアプリ開発が行える
特徴2:クロスプラットフォームである
Reactのコンポーネントがネイティブコードをラップすることで、同一言語でクロスプラットフォームの開発が可能となっています。
特徴3:クイックに開発できる
Java Scriptの仕組みより、変更をクイックに確認することができ、開発の生産性が上がる、とかいています。
React Nativeの歴史
歴史については、以下のページで分かりやすく紹介されていますのでリンクを貼っておきます。
1、Wikipedia
https://ja.wikipedia.org/wiki/React_Native
2、React Nativeのこれまでとこれから
React Nativeはどのくらい人気?
Google Trendで、モバイルアプリ開発に使われる主要な言語、Swift 、Objective-C、Kotlinとともに検索トレンドをみてみました。こちらは面白い結果に。
まずは日本。Swiftの人気が圧倒的に高いようです。Androidの開発言語であるKotlinが次を追う感じです。React Nativeはじわりじわり、といった感じでしょうか。Objective-Cについてはダウントレンドです。
続いて世界。いや、日本でのじわりじわりが嘘のようにReact NativeがSwiftと肩を並べて検索の人気が高い!日本はReact Nativeについてはまだまだ後発ということなのでしょうか。
ちなみにアメリカ。
React Nativeに限らず、やはりシリコンバレーのあるカリフォルニア、AmazonやMicrosoftの本社などがあるシアトルなどのインタレストが高いんですね。
上では、検索トレンドについて見てきましたが、実際に使われている言語か?これは、Githubが毎年公開しているレポートで紹介されているかなと思ってみてみましたが、JavaScriptで括られているのか、React Nativeのコード数については見えませんでした。
とはいえ、React Nativeは、Reactを利用してクロスプラットフォームなネイティブアプリ開発が行えるので、既にReactの知識がある方がモバイルアプリ開発をする際には良いと思います。また、トレンドも世界で見ると上昇傾向にあり、Facebookも積極的に開発を進めているようなので、今後のアップデートでさらに人気が高まるかもしれません。
(追記)クロスプラットフォームモバイルアプリ言語比較
っと、とてもよくまとまった下の記事を見つけたので貼っておきます。”クロスプラットフォーム”のモバイルアプリ開発言語という観点で見ると、React Nativeは、Googleが開発したFlutter、Microsoftが開発したXamarinと比較されることが多いようですね・・!勉強になりました。
React NativeがFlutterやXamarinと異なる点は、iOS、Androidで画面の見た目が変わりうる、という点のようです。これは、React Nativeがネイティブの仕組みを使って画面の描画などを行う仕組みに起因しているようです。Type ScriptやJava Scriptの知識を転用できるという点は非常に魅力ですが、クロスプラットフォームでUIが統一できないことがある、という点ではFlutterやXamarinの方が魅力かもしれません。
https://qiita.com/nskydiving/items/c13c949cc17c6f980a67
今回は、そういう点も含めてReact Nativeアプリを作ってみながら良し悪しを判断できるようになればと思います!まずは作ってみよう!
それでは、次の記事ではMacでReact Nativeの開発を行う準備を進めていきたいと思います!
[番外編] ReactNativeをもっと学ぶなら・・・
React Nativeをもっとちゃんと学びたい!という方は、こちらにおすすめコンテンツをまとめましたので、ご参考にしていただければと思います・・!
土台のJavaScript/TypeScriptに不安がある方は、こちらもまとめましたので、ご参考になりましたら幸いです。