React Native
| 開発元 | Metaとコミュニティ |
|---|---|
| 初版 | 2015年3月26日 (10年前) (2015年03月26日)[1] |
| 最新版 | |
| リポジトリ | https://github.com/facebook/react-native |
| プログラミング 言語 | JavaScript, Java, C++, Objective-C, Objective-C++, Python |
| ライセンス | MIT License |
| 公式サイト |
reactnative |
| テンプレートを表示 | |
React Native(リアクト・ネイティヴ)は、Meta(旧Facebook)が作成したオープンソースのモバイルアプリケーションフレームワークである[3] 。開発者がネイティブプラットフォーム機能とともにReactを使用できるようにすることで、Android [4] 、iOS、Web [5] 、MacOS [6] 、およびUWP [7] アプリケーションを開発するために使用される。
歴史
[編集 ]2012年、マーク・ザッカーバーグは、「会社として犯した最大の間違いは、ネイティブではなくHTMLにあまりにも賭け過ぎたことだ」とコメントした[9] 。彼は、Facebookがまもなく優れたモバイル エクスペリエンスを提供すると約束した。
Facebookの内部で、ジョーダン・ウォークは、バックグラウンド JavaScript スレッドからiOSのUI要素を生成する方法を見つけた[出典無効 ]。彼らは、このテクノロジーを使用してネイティブアプリを構築できるように、このプロトタイプを完成させるための社内ハッカソンを組織することにした[10] 。
数か月の開発の後、Facebookは2015年にReact JavaScript Configurationの最初のバージョンを公開した。テクニカルトークで[11] Christopher Chedeauは、Facebookがグループアプリと広告管理アプリの本番で既にReact Nativeを使用していると説明した[12] 。
実装
[編集 ]React Nativeの動作原理は、React Nativeが仮想DOMを介してDOMを操作しないことを除いて、Reactとほぼ同じである。バックグラウンドプロセス(開発者によって記述されたJavaScriptを解釈する)においてエンドデバイス上で直接実行され、シリアライゼーション、非同期、およびバッチブリッジを介してネイティブプラットフォームと通信する[13] [14] [15] 。
Reactコンポーネントは、既存のネイティブコードをラップし、Reactの宣言的なUI パラダイムとJavaScriptを介してネイティブAPIを操作する。これにより、非ネイティブアプリ開発者であるウェブエンジニアの投入やiOSとAndroid間などでのクロスプラットフォーム開発が可能になり開発の高速化が期待される。
React NativeはHTMLを使用しない。代わりに、JavaScriptスレッドからのメッセージがネイティブビューの操作に使用される。
Hello worldの例
[編集 ]React NativeのHello worldプログラムの一例を以下に示す。
importReactfrom'react'; import{AppRegistry,Text}from'react-native'; constHelloWorldApp=()=>{ return<Text>Helloworld!</Text>; } exportdefaultHelloWorldApp; AppRegistry.registerComponent('HelloWorld',()=>HelloWorldApp);
次のコードで別のコンポーネントにHelloWorldAppをインポートして使うこともできる。
importHelloWorldAppfrom'./HelloWorldApp';
出典
[編集 ]- ^ "React Native: Bringing modern web techniques to mobile". 2019年11月6日閲覧。
- ^ "Release 0.83.0". 10 December 2025. 2025年12月11日閲覧.
- ^ "React Native · A framework for building native apps using React". 2019年11月6日閲覧。
- ^ "React Native for Android: How we built the first cross-platform React Native app - Facebook Engineering". 2019年11月6日閲覧。
- ^ "React Native for Web". 2019年11月6日閲覧。
- ^ "react-native-macos". 2023年9月11日閲覧。
- ^ Windows Apps Team (2016年4月13日). "React Native on the Universal Windows Platform". blogs.windows.com. 2016年11月6日閲覧。
- ^ React Native Desktop ·, Status, (2023年02月22日), https://github.com/status-im/react-native-desktop-qt 2023年2月26日閲覧。
- ^ "Zuckerberg's Biggest Mistake? 'Betting on HTML5'". Mashable. 2018年4月7日閲覧。
- ^ "A short Story about React Native". 2018年1月16日閲覧。
- ^ Christopher. "A Deep Dive into React Native". YouTube. 2018年1月16日閲覧。
- ^ "React Native: Bringing modern web techniques to mobile - Facebook Engineering". 2019年11月6日閲覧。
- ^ "Bridging in React Native" (2015年10月14日). 2018年1月16日閲覧。
- ^ "React Native vs Flutter: Which Cross-Platform Framework is Better?". 2019年11月6日閲覧。
- ^ "How we build React Native app: 7 things which save your development time. Part 2". 2019年11月6日閲覧。
この項目は、ソフトウェアに関連した書きかけの項目 です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。