React > React Native
React Native
開発元 Metaとコミュニティ
初版 2015年3月26日 (11年前) (2015-03-26)[1]
最新版
0.86.0[2] ウィキデータを編集 / 2024年4月22日 (2年前) (2024-04-22)
リポジトリ https://github.com/facebook/react-native
プログラミング
言語
JavaScript, Java, C++, Objective-C, Objective-C++, Python
ライセンス MITライセンス
公式サイト reactnative.dev
テンプレートを表示

React Native(リアクト・ネイティヴ)は、Meta(旧Facebook)が作成したオープンソースモバイルアプリケーションフレームワークである[3]開発者がネイティブプラットフォーム機能とともにReactを使用できるようにすることで、Android[4]iOSWeb[5]MacOS[6]、およびUWP[7]アプリケーションを開発するために使用される。

さらに、Qtの不完全なポートも存在する[8]

歴史

編集

2012年マーク・ザッカーバーグは、「会社として犯した最大の間違いは、ネイティブではなくHTMLにあまりにも賭け過ぎたことだ」とコメントした[9]。彼は、Facebookがまもなく優れたモバイルエクスペリエンス提供すると約束した。

Facebookの内部で、ジョーダン・ウォークは、バックグラウンドJavaScriptスレッドからiOSUI要素を生成する方法を見つけた[出典無効]。彼らは、このテクノロジーを使用してネイティブアプリ構築できるように、このプロトタイプを完成させるための社内ハッカソン組織することにした[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プログラムの一例を以下に示す。

import React from 'react';
import { AppRegistry, Text } from 'react-native';

const HelloWorldApp = () => {
  return <Text>Hello world!</Text>;
}

export default HelloWorldApp;

AppRegistry.registerComponent('HelloWorld', () => HelloWorldApp);

次のコードで別のコンポーネントにHelloWorldAppをインポートして使うこともできる。

import HelloWorldApp from './HelloWorldApp';

出典

編集
  1. ^ React Native: Bringing modern web techniques to mobile”. 2019年11月6日閲覧。
  2. ^ “Release 0.86.0”. 11 June 2026. 2026年6月12日閲覧.
  3. ^ React Native · A framework for building native apps using React”. 2019年11月6日閲覧。
  4. ^ React Native for Android: How we built the first cross-platform React Native app - Facebook Engineering”. 2019年11月6日閲覧。
  5. ^ React Native for Web”. 2019年11月6日閲覧。
  6. ^ react-native-macos”. 2023年9月11日閲覧。
  7. ^ Windows Apps Team (2016年4月13日). “React Native on the Universal Windows Platform”. blogs.windows.com. 2016年11月6日閲覧。
  8. ^ React Native Desktop ·, Status, (2023-02-22), https://github.com/status-im/react-native-desktop-qt 2023年2月26日閲覧。 
  9. ^ Zuckerberg's Biggest Mistake? 'Betting on HTML5'”. Mashable. 2018年4月7日閲覧。
  10. ^ A short Story about React Native”. 2018年1月16日閲覧。
  11. ^ Christopher. “A Deep Dive into React Native”. YouTube. 2018年1月16日閲覧。
  12. ^ React Native: Bringing modern web techniques to mobile - Facebook Engineering”. 2019年11月6日閲覧。
  13. ^ Bridging in React Native” (2015年10月14日). 2018年1月16日閲覧。
  14. ^ React Native vs Flutter: Which Cross-Platform Framework is Better?”. 2019年11月6日閲覧。
  15. ^ How we build React Native app: 7 things which save your development time. Part 2”. 2019年11月6日閲覧。

📚 Artikel Terkait di Wikipedia

React

React (リアクト)またはReact.js、ReactJS とは、ウェブブラウザで複雑なUIを容易に生成するためのフリーかつオープンソースなフロントエンドJavaScriptライブラリである。Meta(旧Facebook)が2011年から社内用に開発していたライブラリを2013年に一般に公開し

グラフィカルユーザインタフェース

SwiftUI ^ React components wrap existing native code and interact with native APIs via React’s declarative UI paradigm and JavaScript. React Native ^ declarative

JavaScriptエンジン

Explorerでは引き続きChakraが使用される。 Hermes - Facebookが開発したエンジンであり、React Nativeを使用するAndroidアプリ向けに最適化されている。 [脚注の使い方] ^ これは後にSpiderMonkeyとなり、改良された上でFirefoxでも引き続き使用されている。

JavaScript

ウェブバックエンドサーバ (Node.js) デスクトップアプリケーション(例: Electron (ソフトウェア)) モバイルアプリケーション (例: React Native) JavaScriptの最も歴史の長い使用法はHTMLページにクライアント側のふるまいを持たせることである。これは当初はダイナミックHTML

Next.js

js(ネクストジェイエス)は、React 向けのオープンソースのフルスタックWebアプリケーションフレームワークである。ファイルシステムベースのルーティング、サーバーおよびクライアントでのレンダリング、データ取得、静的Webサイトの生成、API エンドポイントなどの機能を提供する。 Reactのドキュメントには、「Node

クーリオ

^ Patterson, Charmaine; Irvin, Jack (2022年9月1日). “Celebrities React to Death of Rapper Coolio”. People. オリジナルの2022年10月1日時点におけるアーカイブ。. https://web

イスラエル・アデサンヤ

TO RETAIN MIDDLEWEIGHT TITLE DAZN 2022年2月13日 ^ ‘What the f***’: Fighters react to Israel Adesanya’s snoozer win over Jared Cannonier in UFC 276 headliner

エマ・ストーン

2011 nominations: Newcomers Emma Stone, Jennifer Lawrence and Mila Kunis react”. Los Angeles Times. http://theenvelope.latimes.com/awards/globes/la-et