Atlas Device SDK for Swift
Atlas Device SDK for Swift を使用して、Swift と Objective-C で iOS、macOS、watchOS、vOS アプリを開発できます。
Swift SDK を使い始める
SDK を使用したアプリの開発
SDK のオープンソース データベース(Realm)をデバイス上のオブジェクト ストアとして使用します。 Device Sync を使用して、MongoDB Atlas クラスターや他のクライアントとデータを同期します。
Swift SDK のインストール
Swift パッケージ マネージャー、 CocoaPods 、または カーネル を使用して、プロジェクトに iOS、macOS、vOS、watchOS 用の SDK をインストールします。
プロジェクト ファイルに RealmSwift
をインポートして開始します。
オブジェクト スキーマの定義
Swift を使用して、オブジェクト スキーマを慣用的に定義します。
データベースを開きます
SDK のデータベース - Realm - はデバイス上のファイルにオブジェクトを保存します。 または、ファイルを作成しないインメモリ データベースを開くこともできます。 データベースを構成して開き、データベース ファイルのオプションを指定します。
Reactに対応する
ライブ オブジェクトとは、データが常に最新であることを意味します。 通知ハンドラーを登録して変更を監視し、UI の更新などのロジックを実行できます。 または SwiftUI では、データが変更されたときに Swift プロパティ ラッパーを使用してビューを更新します。
Atlas App Services アプリへの接続
App Services App で Device Sync を構成します。 データ アクセス ルール を定義します。 開発モードを使用して、Swift または Objective-C データモデルからスキーマを推論します。
次に、クライアントからバックエンドに接続します。
ユーザーの認証
認証プロバイダの 1 つを使用して、 ユーザー を認証します。 App Services は、Apple、Google、Facebook などの一般的な認証プロバイダへのアクセスを提供します。 組み込みのメール/パスワードプロバイダーを使用して、サードパーティなしでユーザーを管理するか、カスタムJSON web token認証を使用して他の認証プロバイダと統合します。 匿名認証により、ログインやユーザー データの永続化を必要とせずにアクセスできます。
同期されたデータベースを開く
同期されたデータベース を構成して開きます。 同期されたデータベースが読み書きできるデータを判断するには、 クエリにサブスクライブします。
Swift SDK は、SwiftUI の操作を容易にするために設計されたプロパティ ラッパーと便利機能を提供しています。 たとえば、一般的な SwiftUI パターンを示すコードの表示については、 SwiftUI ドキュメント を参照してください。
struct SearchableDogsView: View { Dog.self) var dogs ( private var searchFilter = "" var body: some View { NavigationView { // The list shows the dogs in the realm. List { ForEach(dogs) { dog in DogRow(dog: dog) } } .searchable(text: $searchFilter, collection: $dogs, keyPath: \.name) { ForEach(dogs) { dogsFiltered in Text(dogsFiltered.name).searchCompletion(dogsFiltered.name) } } } } }
サーバーレス関数の呼び出し
App Services バックエンドで実行されるクライアント アプリケーションからサーバーレス関数を呼び出すことができます。
MongoDB Atlas のクエリ
ユーザーの認証
組み込み認証プロバイダーとサードパーティ認証プロバイダーを使用してユーザーを認証します。 認証されたユーザーを使用して App Services にアクセスします。
推奨読み取り
プロジェクト例
エンジニアリング プロジェクトと専門家が提供するサンプルプロジェクトを探索して、Swift SDK を使用するベストプラクティスと一般的な開発パターンを学びます。 その他のサンプル アプリについては、「 サンプルプロジェクト」ページをご覧ください。