MacOS用のバックエンドの構築方法は?
このチュートリアルでは、MacOSのバックエンドを構築する方法を学びます。
データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリ(ライブクエリ)など、Back4appの重要な機能を統合する方法を説明し、あなたのMacOSアプリケーションとシームレスに通信する安全でスケーラブル、かつ堅牢なバックエンドを作成します。
また、Back4appの迅速なセットアップと直感的な環境が、サーバーやデータベースを手動で構成するのに比べて、時間と労力を大幅に削減できることを確認します。
その過程で、Cloud Jobsを使用したタスクのスケジューリングや、外部統合のためのWebhookの設定など、主要な機能に関する実践的な経験を得ることができます。
このチュートリアルの終わりまでに、あなたはこの基礎的なセットアップを本番環境に適したmacOSアプリケーションに拡張する準備が整い、必要に応じてカスタムロジックやサードパーティAPIを簡単に組み込むことができるようになります。
このアプローチをマスターすることで、あなたはワークフローを効率化し、MacOSのバックエンドを構築する方法を迅速かつ効率的に学ぶことができます。
このチュートリアルを完了するには、次のものが必要です:
始める前に、これらの前提条件がすべて整っていることを確認してください。Back4appプロジェクトを設定し、ローカルのmacOS開発環境を準備しておくことで、より簡単に進めることができます。
Back4app で macOS バックエンドを構築する最初のステップは、新しいプロジェクトを作成することです。まだ作成していない場合は、次の手順に従ってください:
- Back4app アカウントにログインする.
- Back4app ダッシュボードの “新しいアプリ” ボタンをクリックする.
- アプリに名前を付ける (例: “macOS-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
プロジェクトが作成されると、Back4app ダッシュボードにリスト表示されます。このプロジェクトは、このチュートリアルで説明するすべてのバックエンド設定の基盤となります。
Back4app は、データを管理し、リアルタイム機能を提供し、ユーザー認証を処理するために Parse プラットフォームに依存しています。macOS アプリケーションを Back4app に接続するには、Parse Swift SDK をインストールし、Back4app ダッシュボードの資格情報で初期化する必要があります。
Parse キーを取得する: Back4app ダッシュボードで、アプリの “アプリ設定” または “セキュリティ & キー” セクションに移動して、アプリケーション ID と クライアントキー (または clientKey) を見つけます。Parse サーバー URL (通常は https://parseapi.back4app.com) も見つかります。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
macOSプロジェクトに Parse Swift SDKをインストールします:
使用する場合は Swift Package Manager:
使用する場合は CocoaPods, これをあなたの Podfile:
macOSアプリケーションでParseを初期化します(例えば、AppKitを使用している場合は AppDelegate.swift、またはSwiftUIアプリを構築している場合は @main構造体で):
このステップを完了することで、macOSフロントエンド(UI)とBack4appバックエンドの間に安全な接続が確立されました。すべてのリクエストとデータトランザクションは、このSDKを通じて安全にルーティングされ、手動のRESTまたはGraphQL呼び出しの複雑さが軽減されます(必要に応じてそれらを使用することもできます)。
Back4appプロジェクトが設定され、Parse Swift SDKがmacOSアプリに統合されたので、データの保存と取得を開始できます。オブジェクトを作成する最も簡単な方法は、ParseObjectに準拠した構造体を定義し、次にsave()を呼び出すことです。
また、Back4appのRESTまたはGraphQL APIを使用することもできます:
Back4appはGraphQLインターフェースも提供しています:
これらの多様なオプションにより、Parse Swift SDK、REST、またはGraphQLを通じて、開発プロセスに最も適した方法でデータ操作を統合できます。
デフォルトでは、Parseは スキーマを動的に作成することを許可します, しかし、より多くの制御のためにBack4appダッシュボードでクラスとデータ型を定義することもできます。
- 「データベース」セクションに移動します あなたのBack4appダッシュボードで。
- 新しいクラスを作成します(例:「Todo」)およびタイトル(String)やisCompleted(Boolean)などの関連するカラムを追加します。
![新しいクラスを作成 新しいクラスを作成](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4appはさまざまなデータ型をサポートしています: String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, そして Polygon. 各フィールドに適切な型を選択することができます。または、macOSアプリからオブジェクトを最初に保存するときにParseが自動的にこれらのカラムを作成することを許可することもできます。
![カラムを作成 カラムを作成](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
Back4appはあなたのデータモデルを設計するのを助ける AIエージェント を提供しています:
- AIエージェントを開きます あなたのアプリダッシュボードまたはメニューから。
- あなたのデータモデルを説明します 簡単な言葉で(例:「新しいToDoアプリをBack4appで完全なクラススキーマで作成してください。」)。
- AIエージェントにスキーマを作成させます。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
リレーショナルデータがある場合—例えば、複数のCategoryオブジェクトが複数のTodoアイテムを指している場合—Parse SwiftでPointersまたはRelationsを使用できます:
リアルタイムの更新のために、Back4appはLive Queriesを提供しています。Back4appダッシュボードでライブクエリを有効にすることで、macOSアプリから特定のクラスの変更にサブスクライブできます。
- Back4appダッシュボードでライブクエリを有効にする、アプリのサーバー設定の下で。
- コードでライブクエリを初期化する(Swiftライブクエリクライアントはまだ流動的ですが、コミュニティ主導のアプローチを使用するか、公式のParse Swiftの更新を待つことができます)。
サブスクライブすると、新しいTodoが作成、更新、または削除されるたびに通知を受け取ります。これは、複数のユーザーやプロセスが最新のデータを即座に確認する必要があるコラボレーションまたは非常にインタラクティブなデスクトップアプリにとって特に価値があります。
Back4appは、セキュリティを真剣に考え、Access Control Lists (ACLs)とClass-Level Permissions (CLPs)を提供しています。これらの機能により、オブジェクトまたはクラスごとにデータの読み取りや書き込みを制限でき、認可されたユーザーのみがデータを変更できるようになります。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
ACLは、個々のオブジェクトに適用され、どのユーザー、役割、または一般の人々が読み取り/書き込み操作を行えるかを決定します。たとえば、macOSアプリに現在ログインしているユーザーのための「プライベートタスク」の概念がある場合:
オブジェクトを保存すると、それには指定されたユーザー以外の誰も読み取りまたは変更できないACLが設定されます。
![ACLを編集 ACLを編集](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/3YNfxEcv7CKdLC6ca8my6_image.png?format=webp)
CLPsは、クラス全体のデフォルトの権限を管理し、クラスが一般に読み取り可能または書き込み可能か、または特定の役割のみがアクセスできるかどうかを決定します。
- Back4appダッシュボードに移動, アプリを選択し、データベースセクションを開きます。
- クラスを選択(例:「Todo」)。
- クラスレベルの権限タブを開きます。
- 「認証が必要」などのデフォルトを設定します。読み取りまたは書き込み用、または「公開にアクセス不可」。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
Cloud Codeは、Parse Server環境の機能で、サーバー側でカスタムJavaScriptコードを実行できるようにします。自分のサーバーやインフラを管理する必要はありません。Cloud Codeを書くことで、Back4appバックエンドを追加のビジネスロジック、検証、トリガー、外部APIとの統合で拡張し、Parse Server上で安全かつ効率的に実行できます。
Cloud Codeを書くとき、通常はJavaScript関数、トリガー、および必要なNPMモジュールをmain.jsファイルに配置します。このファイルをBack4appプロジェクトにデプロイすると、Parse Server環境で実行されます。これにより、機密のロジックをサーバー側に保持できます。
典型的な使用例:
- ビジネスロジック: データを保存する前の計算または変換
- データ検証: 特定のフィールドが基準を満たしていることを確認
- トリガー: データが変更されたときにアクションを実行
- 統合: 外部API(例:支払い、通知)との接続
- CLIをインストールする:
- アカウントキーを設定する:
- クラウドコードをデプロイする:
macOSを使用してSwiftから:
他のフレームワークと同様に、RESTまたはGraphQLを介して呼び出すこともできます。
Back4appは、ParseUserクラスを認証の基盤として活用しています。デフォルトでは、Parseはパスワードのハッシュ化、セッショントークン、セキュアストレージを処理するため、複雑なセキュリティフローを手動で設定する必要はありません。
macOSアプリケーションでは、次のように新しいユーザーを作成できます。
RESTを介して、ログインは次のようになります:
ログインに成功すると、Parseは セッショントークン. 現在ログインしているユーザーにアクセスできます:
ログアウト:
Google、Apple、Facebookなどの人気プロバイダーを authData を設定することで統合できます。詳細な手順は異なるため、 ソーシャルログインのドキュメント。
メール認証とパスワードリセットを有効にするには:
- バック4アプリのダッシュボードでメール設定に移動します。
- メール認証を有効にする.
- 送信元アドレスを設定する, メールテンプレート、および必要に応じてカスタムドメインを設定します。
これにより、ユーザーのメールを検証し、パスワード回復方法を提供することでアカウントのセキュリティが向上します。
Parseには、ファイルのアップロードを処理するための ParseFile クラスが含まれており、Back4appが安全に保存します:
オブジェクトに添付します:
Parse Serverの設定でファイルアップロードのセキュリティを構成できます。たとえば、どのユーザーがファイルをアップロードまたは削除できるかを制御します。ファイルのURLを共有すると、そのURLを持っている人は誰でもアクセスできることに注意してください。厳格なサーバーサイドのルールを設定していない限り。
メール確認とパスワードリセットは、安全なユーザー管理にとって重要です。すでにステップ5の下で触れましたが、念のため:
- Back4appダッシュボード(メール設定)でこれらの機能を有効にします。
- 「メール確認を有効にする」と「パスワードリセット」メールテンプレートを構成します。
- macOSアプリからフローをテストします。
クラウドジョブを使用すると、バックエンドで定期的なタスクをスケジュールして実行できます。たとえば、定期的なメールの送信やデータのクリーンアップなどです。
- クラウドコードをデプロイする 新しいジョブで。
- Back4appダッシュボードに移動する > アプリ設定 > サーバー設定 > バックグラウンドジョブ.
- ジョブをスケジュールする (例:毎日)。
![クラウドジョブのスケジューリング クラウドジョブのスケジューリング](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
ウェブフックは、特定のイベントが発生するたびに、Back4appアプリが外部サービスにHTTPリクエストを送信できるようにします。これは、決済ゲートウェイ、メールマーケティングツール、または分析プラットフォームなどのサードパーティシステムとの統合に強力です。
- ウェブフック設定に移動する Back4appダッシュボードで > もっと見る > ウェブフック.
- エンドポイントを設定する (例: https://your-external-service.com/webhook-endpoint)。
- トリガーを設定する どのイベントがBack4appのクラスやクラウドコード関数でウェブフックを発火させるかを指定します。
![ウェブフックの追加 ウェブフックの追加](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
例えば、新しいTodoが作成されるたびにSlackに通知したい場合:
- 受信ウェブフックを受け入れるSlackアプリを作成する。
- SlackのウェブフックURLをコピーする。
- Back4appダッシュボードで、「Todoクラスの新しいレコード」というイベントのためにそのSlack URLをエンドポイントとして設定する。
この Back4app Admin App は、非技術的なユーザーがCRUD操作を行い、コードを書くことなく日常的なデータタスクを処理するために設計されたウェブベースの管理インターフェースです。これは、データベース管理、カスタムデータ管理、およびエンタープライズレベルの操作を効率化する モデル中心, ユーザーフレンドリーなインターフェースを提供します。
有効にするには、 アプリダッシュボード > その他 > 管理アプリ に移動し、「管理アプリを有効にする」をクリックします。
![管理アプリを有効にする 管理アプリを有効にする](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
最初の管理ユーザーを作成する, これにより新しい役割(B4aAdminUser)と関連するクラスがアプリのスキーマに自動的に生成されます。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/u-pU1yBJJxa9KEM2psjXS_image.png?format=webp)
管理インターフェースにアクセスするためのサブドメインを選択し、セットアップを完了します。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/_2b71RLDTlQW468017saY_image.png?format=webp)
管理者資格情報を使用してログインし、新しい管理アプリダッシュボードにアクセスします。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
有効にすると、Back4app管理アプリを使用すると、Parse Dashboardやバックエンドコードを直接使用することなく、データベースのレコードを簡単に表示、編集、または削除できます。
この包括的なチュートリアルに従うことで、あなたは:
- 安全なバックエンドを作成しました Back4app上のmacOSアプリ用。
- データベースを構成しました クラススキーマ、データ型、関係を使用して。
- リアルタイムクエリを統合しました (ライブクエリ)で即時データ更新。
- セキュリティ対策を適用しました ACLとCLPを使用してデータアクセスを保護および管理。
- Cloud Codeを実装しました サーバー側でカスタムビジネスロジックを実行するための関数。
- ユーザー認証を設定しました メール確認とパスワードリセットをサポート。
- ファイルのアップロードを管理しました オプションのファイルセキュリティコントロール付き。
- Cloud Jobsをスケジュールしました 自動化されたバックグラウンドタスクのために。
- Webhooksを使用しました 外部サービスと統合するために。
- Back4app管理パネルを探索しました データ管理のために。
堅牢なmacOSフロントエンドと強力なBack4appバックエンドを備え、機能豊富でスケーラブルかつ安全なデスクトップアプリケーションを開発する準備が整いました。より高度な機能を探求し、ビジネスロジックを統合し、Back4appの力を活用して、サーバーとデータベースの管理にかかる無数の時間を節約してください。
- 本番環境に適したmacOSアプリを構築する このバックエンドを拡張して、より複雑なデータモデル、キャッシング戦略、パフォーマンス最適化を処理します。
- 高度な機能を統合する 専門的な認証フロー、役割ベースのアクセス制御、または外部API(支払いゲートウェイなど)を含みます。
- Back4appの公式ドキュメントを確認する 高度なセキュリティ、パフォーマンス調整、ログ分析についての詳細を学ぶために。
- 他のチュートリアルを探る リアルタイム通信、IoTダッシュボード、または位置情報サービスに関するもの。ここで学んだ技術をサードパーティのAPIと組み合わせて、複雑な実世界のアプリケーションを作成します。