このプロジェクトについて

React Nativeは、Reactを使用してネイティブアプリケーションを構築するためのフレームワークです。JavaScriptで記述され、ネイティブコードでレンダリングされるため、「一度学べば、どこにでも書ける(learn once, write anywhere)」という考え方に基づき、Reactを用いてAndroid、iOS、およびその他のプラットフォーム向けにネイティブアプリを作成できます。 プロジェクトで説明されている主な機能は以下の通りです: - ネイティブUI:React NativeのプリミティブはネイティブプラットフォームのUIにレンダリングされるため、アプリは他のアプリと同じネイティブプラットフォームAPIを使用します。ジェスチャー、テキストスケーリング、アクセシビリティは、各OSでユーザーが期待する通りに動作します。 - あらゆる場所でReactを:宣言的UI、コンポーネント、hooks、およびSuspenseが、Android、iOS、およびツリー外のプラットフォームで再利用されます。 - 開発速度:ローカルな変更が数秒で反映されます。JavaScriptコードへの変更は、ネイティブアプリを再ビルドすることなくFast Refreshによって適用されます。 - 拡張性:ネイティブモジュールにより、開発者はJavaScriptからプラットフォームコードを直接、同期的に、かつ型安全に呼び出すことができます。また、React Nativeディレクトリに掲載されている数千の既存ライブラリを利用することも可能です。 本プロジェクトは、多くの企業や個人のコアコントリビューターによって開発およびサポートされており、詳細はReact Foundationのウェブサイトで確認できます。 導入方法 プロジェクトを初めて利用する開発者は、新規アプリ向けの「Getting Started」ガイドか、React Nativeを段階的に導入するための「Integration with Existing Apps」ガイドに従ってください。 READMEでは、プロダクション準備完了のアプリに必要なAPIを備えたツールボックスである「Framework」を通じてビルドすることが推奨されています。Expoは、ファイルベースのルーティングやネイティブモジュールの標準ライブラリなどを提供するプロダクショングレードのReact Native Frameworkとして説明されています。新しいExpoプロジェクトは `npx create-expo-app@latest` で作成し、その後Expoの導入ガイドに従います。FrameworkなしでReact Nativeを使用することも可能ですが、ナビゲーション、ネイティブ依存関係、プラットフォームツールなどの問題はエコシステムですでに解決されているため、ほとんどの開発者はFrameworkを利用することでメリットを得られるとREADMEに記載されています。これについては別途ガイドが用意されています。 ドキュメント 完全なドキュメントはプロジェクトのウェブサイトにあり、導入、基本学習、コンポーネントとAPI、UIとインタラクション、ネイティブモジュール、デバッグ、アップグレード、およびアーキテクチャについてカバーしています。ドキュメントとウェブサイトのソースは、別のリポジトリである react/react-native-website でホストされています。 コミュニティと貢献 このリポジトリの主な目的はReact Nativeコアを進化させ続けることであり、バグ修正や改善の貢献が歓迎されています。プロジェクトはMetaが採用した行動規範(Code of Conduct)を公開しており、開発プロセスや変更のビルド・テスト方法を記述した貢献ガイド(Contributing Guide)を提供しています。より大規模な議論や提案は react-native-community/discussions-and-proposals リポジトリで行われ、リリースに関する議論は reactwg/react-native-releases で行われます。サポート情報はリポジトリのSUPPORTファイルで確認できます。 ライセンス React Nativeは、リポジトリのLICENSEファイルに記載されている通り、MITライセンスの下でリリースされています。