React Native用の Atlas Device SDK を使用すると、 JavaScriptと TypeScript 言語を使用して React Native アプリケーションを開発できます。 React Native、 Reactフレームワークを使用して、単一のコードベースで複数のプラットフォームにまたがってiOSと Android アプリを構築できます。
前提条件
開始する前に、開発環境が次の前提条件を満たしていることを確認してください。 これらは React Native SDK の最新バージョンに必要です。
公式の「React Native CLI クイック スタート 」手順に従って、環境を設定します。
React Native v0.71.4 以降。互換性チャートをチェックして、 React Nativeのどのバージョンが特定のReact Native SDKバージョンと互換性があるかを確認してください。
注意
Realm JavaScript v10.6.0 以降では Mac Catalyst をサポートしています
エクスポート で SDK を使用する
React Native SDK は、必要最低限の React Native アプリまたはエクスポートで使用できます。 このページと React Native SDK のドキュメントでは、通常、Export ではなく、最低限の React Native アプリを使用していることを前提としています。
Express と React Native SDK を使用する場合は、「 Express でブートストラップ」のページを確認してください。
必要最低限の React Native アプリに SDK をインストール
React Native バージョンに対応する以下のタブを選択します。 手順に従って、React Native プロジェクトを作成し、React Native SDK をそれに追加します。
Tip
Atlas Device SDK と Realm
SDKは、デバイス データの永続化に Realm Core データベースを使用します。 React Native SDK をインストールすると、パッケージ名には Realm の命名が反映されます。
Enable Hermes
注意
クエリを使用するには、アプリで Realm v11 以降と React Native 0.70.0 以降を使用する必要があります。
SDK は、React Native のモバイル最適化された JavaScript エンジン、 ヘルムをサポートしています。 デフォルトでは、React Native CLI を使用して作成された新しいアプリでは、ヘルパーはすでに有効になっています。
SDK では preserve を使用することをお勧めします。ただし、アプリで必要な場合は、SDK でJavaScriptCore(JSC)エンジンもサポートされています。
現在 JSC を使用している既存のアプリでは、 Android とiOSで個別に preserve を有効にできます。方法については、 React Nativeドキュメントの「クエリの使用 」ガイドを参照してください。
Typescriptを有効にする(推奨、ただし任意)
Typescript は、静的型チェックやその他の機能を追加し、アプリケーション規模の開発をより堅牢にするためのJavaScriptのスーパーセットです。 プロジェクトでTypescriptを使用する 場合は、 React Nativeチームの公式TypescriptとReact Nativeガイドに従ってください。SDK はTypescript をネイティブでサポートしており、 Typescriptプロジェクトに簡単に統合できます。
@realm/ Reactライブラリをインストールする
@ 邦土/ React は、クエリ、データベースへの書込み (write)、オブジェクト変更通知のリッスンなどの一般的な SDK 操作を効率化するnpmパッケージです。これにより、独自のリスナーの作成や状態マネジメントなど、単数形のコードが削減されます。
@realm/react
は、さまざまなフックを持つプロバイダーのセットを介して SDK へのアクセスを提供します。 フックは、データが変更されたときに React 状態を更新します。 つまり、これらのフックを使用するコンポーネントは、データベース内のデータに対するすべての変更を再レンダリングします。
注意
@realm/ ReactとRealm JavaScriptバージョン 11 以降を使用
Realm JavaScriptバージョン 11.0.0 以降を邦土/ Reactとともに使用するには、@realm/react
バージョン 0.4.0 を使用する必要があります以降に更新します。
React Native プロジェクト ディレクトリで、次のコマンドを使用してプロジェクトに@realm/react
を追加します。
npm install @realm/react
アプリを実行する
React Native では、同じ React コードベースを使用する iOS と Android アプリの両方の同時開発が可能になります。 アプリを開発するには、プロジェクト ディレクトリ内の.js
または.ts
のソースファイルを編集できます。
開発では、アプリは React ソースコードをローカル バンドル サーバーからバンドルとして読み取ります。 バンドル サーバーを実行するには、React Native プロジェクト ディレクトリで次のコマンドを使用します。
npm start
バンドル サーバーが実行中であれば、次のように Android アプリと iOS アプリを起動できるようになります。
Android アプリを実行するには、Android Studio を使用してプロジェクト ディレクトリ内の
android
ディレクトリを開き、 Runをクリックします。iOS アプリを実行するには、Xcode を使用して
ios
ディレクトリ内の.xcworkspace
ファイルを開きます。 セットアップ中に CocoaPods を使用しなかった場合は、代わりにios
ディレクトリ内の.xcodeproj
ファイルを開きます。 プロジェクトを開いてから、 Runをクリックします。
注意
@realm/ Reactバージョン要件
@ 邦土/ Reactライブラリには React ネイティブ バージョン >= 0.59
が必要です。React Nativeの古いバージョンを使用して開発している場合は、@realm/react
なしで SDK を使用できます。React Native SDKドキュメントでは @realm/react
パッケージが頻繁に使用されているため、Node.js SDKドキュメントを参照することをお勧めします。
リンク ステップの確認(Android)
Android 開発では、リンク ステップで SDK モジュールが Gradle 構成ファイルに正しく追加されたことを確認してください。 一部のバージョンでは、React Native が SDK を適切にリンクできないことが確認されています。 このような場合は、対応するファイルに以下の欠落行を追加することで、SDK を手動でリンクできます。
まず、 android/settings.gradle
ファイルに SDK が含まれていること、および SDK のプロジェクト ディレクトリが指定されていることを確認します。
rootProject.name = 'MyApp' include ':realm' project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android') apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app'
次に、 android/app/build.gradle
ファイルのdependencies
セクションで、SDK が依存関係として宣言されていることを確認します。
dependencies { implementation project(':realm') implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.facebook.react:react-native:+" // From node_modules // ... }
最後に、 MainApplication.java
ファイルがRealmReactPackage
をインポートし、パッケージ リストでインスタンス化することを確認します。
import io.realm.react.RealmReactPackage; // Add this import. public class MainApplication extends Application implements ReactApplication { protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new RealmReactPackage() // Add this line. ); } // ... }
Typescript有効にする(任意)
Typescript は、静的型チェックやその他の機能を追加し、アプリケーション規模の開発をより堅牢にするためのJavaScriptのスーパーセットです。 プロジェクトでTypescriptを使用する 場合は、 React Nativeチームの公式TypescriptとReact Nativeガイドに従ってください。SDK はTypescript をネイティブでサポートしており、 Typescriptプロジェクトに簡単に統合できます。
アプリを実行する
React Native では、同じ React コードベースを使用する iOS と Android アプリの両方の同時開発が可能になります。 アプリを開発するには、プロジェクト ディレクトリ内の.js
または.ts
のソースファイルを編集できます。
開発では、アプリは React ソースコードをローカル バンドル サーバーからバンドルとして読み取ります。 バンドル サーバーを実行するには、React Native プロジェクト ディレクトリで次のコマンドを使用します。
npm start
バンドル サーバーが実行中であれば、次のように Android アプリと iOS アプリを起動できるようになります。
Android アプリを実行するには、Android Studio
android
を使用してプロジェクト ディレクトリ内の ディレクトリを開き、Run をクリックします。iOS アプリを実行するには、Xcode を使用して
ios
ディレクトリ内の.xcworkspace
ファイルを開きます。 セットアップ中に CocoaPods を使用しなかった場合は、代わりにios
ディレクトリ内の.xcodeproj
ファイルを開きます。 プロジェクトを開いてから、 Runをクリックします。
SDK のインポート
SDK を使用するソースファイルの先頭に次の行を追加します。
import Realm from "realm";