| 開発者 | メタとコミュニティ |
|---|---|
| 初回リリース | 2015年3月26日[1] |
| 安定リリース | 0.76.3 [2]
/ 2024年11月21日 |
| リポジトリ | github.com/facebook/react-native |
| 書かれた | C++、Java、JavaScript、Objective-C、Kotlin |
| プラットフォーム | Android、Android TV、iOS、macOS、tvOS、Web、Windows、UWP、VR |
| タイプ | アプリケーションフレームワーク |
| ライセンス | MITライセンス |
| Webサイト | 反応ネイティブ |
React Nativeは、 Meta Platforms(旧Facebook Inc.)によって開発されたオープンソースの UI ソフトウェアフレームワークです。[3] Android、[4] :§第1章 [5] [6] Android TV、[7] iOS、[4] :§第1章 [6] macOS、[8] tvOS、[9] Web、[10] Windows [8]、UWP [11]向けのアプリケーションの開発に使用され、開発者はReactフレームワークをネイティブプラットフォームの機能とともに使用できるようになります。 [12] Facebook、Microsoft、Shopifyでは、AndroidおよびiOSアプリケーションの開発に使用されています。[13]また、 Oculusではバーチャルリアリティアプリケーションの開発に使用されています。[14]
歴史
2012年にマーク・ザッカーバーグは「会社として私たちが犯した最大の過ちは、ネイティブではなくHTML5に賭けすぎたことだ」とコメントした。 [15] [16] Facebookのモバイル版にHTML5を使用した結果、データの取得が遅い不安定なアプリケーションが生まれた。[17]彼はFacebookがすぐにより良いモバイル体験を提供すると約束した。
Facebook社内では、ジョーダン・ウォークがバックグラウンドJavaScriptスレッドからiOSのUI要素を生成する方法を発見し、それがReactウェブフレームワークの基礎となった。彼らはこの技術を使ってネイティブアプリを構築できるように、このプロトタイプを完成させるために社内ハッカソンを開催することを決めた。[18]
2015年、数ヶ月の開発期間を経て、FacebookはReact JavaScript Configurationの最初のバージョンをリリースしました。技術講演の中で[19] 、 Christopher Chedeauは、Facebookがグループアプリと広告マネージャーアプリですでにReact Nativeを本番環境で使用していると説明しました。[20]
実装
React Nativeの動作原理は、 React Nativeが仮想DOMを介してDOMを操作しないことを除けば、Reactと実質的に同一である。[4] : § 第2章 バックグラウンドプロセス(開発者が記述したJavaScriptを解釈する)で直接エンドデバイス上で実行され、非同期かつバッチ化されたブリッジを介してシリアル化されたデータを介してネイティブ[4] : §第2章 プラットフォームと通信する。[21] [22]
Reactコンポーネントは既存のネイティブコードをラップし、Reactの宣言型UIパラダイムとJavaScriptを介してネイティブAPIと対話します。[23] TypeScriptは型の安全性が向上しているため、最近のReact NativeアプリケーションではJavaScriptよりもよく使用されます。[24]
React NativeのスタイリングはCSSに似た構文ですが、 HTMLやCSSは使用しません。[4] : §第5章 [25]代わりに、JavaScriptスレッドからのメッセージを使用してネイティブビューを操作します。
React Native はWindowsとmacOSの両方で利用可能で、現在はMicrosoftによってメンテナンスされています。
Hello Worldの例
React Native のHello , Worldプログラムは次のようになります。
'react-native'から{ AppRegistry 、Text 、View 、Button }をインポートします。
'react'からReact をインポートします。
定数HelloWorldApp = () => {
const [ count , setCount ] = React.useState ( 0 ) ;
定数増分カウント= () => {
setCount ((前のカウント) =>前のカウント+ 1 );
};
戻る(
<表示>
<テキスト>こんにちは世界!< / テキスト>
<テキスト> {カウント} < / テキスト>
< Button onPress = { incrementCount } title = "カウントを増やす" />
< /表示>
);
};
デフォルトのHelloWorldAppをエクスポートします。
AppRegistry . registerComponent ( 'HelloWorld' , () => HelloWorldApp );
参照
- React (JavaScript ライブラリ)
- 複数の電話のWebベースのアプリケーションフレームワーク
- ネイティブスクリプト
- ザマリン
- チタン SDK
- アパッチコルドバ
- Flutter(ソフトウェア)
- Qt (ソフトウェア)
- コードネームワン
- ジェットパックコンポーズ
引用
- ^ 「React Native: 最新の Web 技術をモバイルに導入」2015 年 3 月 26 日。
- ^ 「リリース 0.76.3」。2024年11月21日。 2024年11月26日閲覧。
- ^ 「第1章 React Nativeとは?」oreilly.com . O'Reilly Media, Inc. 2020年7月30日閲覧。
- ^ abcde アイゼンマン 2016.
- ^ 「React Native の Android リリース」。2015 年 9 月 14 日。
- ^ ab Shankland, Stephen (2018年3月29日). 「Mozillaの急進的なオープンソース化は、テクノロジーのルールを書き換えるのに役立った」. CNET . 2022年5月11日閲覧。
- ^ 「TVデバイス向けのビルド · React Native」。reactnative.dev 。 2020年10月2日閲覧。
- ^ ab "React Native for Windows + macOS · Javascript と React を使用してネイティブ Windows および macOS アプリを構築する". microsoft.github.io . 2020 年 10 月 2 日閲覧。
- ^ 「React Native for Apple TV」。React Native for Apple TV 。2020年10月2日閲覧。
- ^ 「React Native for Web」。GitHub 。 2019年11月6日閲覧。
- ^ Windows Apps Team (2016 年 4 月 13 日)。「ユニバーサル Windows プラットフォーム上の React Native」。blogs.windows.com。2016年11 月 6 日閲覧。
- ^ 「Out-of-Tree Platforms」. reactnative.dev . Facebook, Inc. 2020年7月30日閲覧。
- ^ 「React Native ショーケース」. react.native.dev . 2023 年 4 月 4 日閲覧。
- ^ 「React Native in H2 2021 · React Native」. reactnative.dev . 2021年8月20日閲覧。
- ^ 「ザッカーバーグの最大の失敗?『HTML5への賭け』」Mashable 2018年4月7日閲覧。
- ^ ザッカーバーグ、マーク (2012-09-12). 「Facebook創設者兼CEOマーク・ザッカーバーグとの炉辺談話」TechCrunch (インタビュー) . 2021年8月16日閲覧。
- ^ ウォーレン、クリスティーナ。「ザッカーバーグの最大の失敗?『HTML5への賭け』」Mashable 。 2020年10月29日閲覧。
- ^ 「React Nativeについての短い物語」。2018年1月16日閲覧。
- ^ Christopher, Chedeau. 「React Native を詳しく知る」YouTube 。2018 年1 月 16 日閲覧。
- ^ 「React Native: 最新の Web 技術をモバイルに導入」2015 年 3 月 26 日。
- ^ 「React Nativeでのブリッジング」2015年10月14日。 2018年1月16日閲覧。
- ^ 「React Native アプリの構築方法: 開発時間を節約する 7 つの方法。パート 2」。2019 年 11 月 6 日閲覧。
- ^ 「React Native ドキュメントスキャナー を作成する方法」。sdk.docutain.com。INFOSOFT。2024年9 月 6 日閲覧。
- ^ 「TypeScript の使用」。reactnative.dev . Meta Platforms, Inc. 2023 年7 月 14 日閲覧。
- ^ 「React Native Style」 。 2021年2月24日閲覧。
