クイックスターターズ

iOSのバックエンドの構築方法は?

38min

イントロダクション

このチュートリアルでは、 iOSのバックエンドを構築する方法を学びます。 Back4App.

データベース管理、クラウド機能、RESTおよびGraphQL API、ユーザー認証、ファイルストレージ、リアルタイムクエリ(ライブクエリ)など、Back4Appの重要な機能を統合する方法を説明し、iOSアプリケーションのための安全でスケーラブルで堅牢なバックエンドを作成します。

Back4Appの バックエンド・アズ・ア・サービスの提供により、 サーバーサイドのインフラストラクチャを設定する複雑さを軽減し、開発を加速することができます。

データを柔軟なNoSQLデータベーススタイルの形式で保存し、ユーザーアカウントを管理し、 プッシュ通知を追加し、カスタムソリューションを構築するのにかかる時間の一部で高度なアクセス制御を適用できます。

これにより、サーバーのメンテナンスやプロビジョニングを心配することなく、 ユーザーエクスペリエンスの向上やコア機能の実装に集中できます。

このチュートリアルの終わりまでには、実際のシナリオに適応でき、トラフィックの増加に対応でき、より複雑なロジックや サードパーティサービスを追加できる準備が整ったバックエンドを持つことができます。

iOSアプリのための信頼性の高いバックエンドを提供し、 開発プロセスを加速し、全体的な ユーザーインターフェースをより少ない労力で向上させることができます。

前提条件

このチュートリアルを完了するには、次のものが必要です:

  • Back4Appアカウントと新しいBack4Appプロジェクト Back4appの始め方。 アカウントを持っていない場合は、無料で作成できます。上記のガイドに従ってプロジェクトを準備してください。
  • 基本的なiOS開発環境 Xcode(バージョン13.0以上)で開発できます。 Xcodeをインストールします。
  • Swift Package Manager またはCocoaPodsを使用してParse Swiftを追加します インストールの詳細については、Parse Swift GitHubの指示を参照してください。
  • SwiftとiOSの概念に対する理解 AppleのSwiftドキュメント。 SwiftやiOSに不慣れな場合は、開始する前に公式ドキュメントや基本的なiOSチュートリアルを確認してください。

Xcodeを使用した機能するiOS環境と無料のBack4Appアカウントを持っていると、スムーズに進めることができます。

ステップ1 – Back4Appで新しいプロジェクトを作成し、接続する

新しいプロジェクトを作成する理由は?

新しいBack4Appプロジェクトは、あなたのバックエンド開発の基盤を形成します。データベース、API、認証、クラウド機能など、迅速かつ安全にバックエンドを構築するために必要なすべてのツールを提供します。

手順

  1. Back4Appアカウントにログインします。
  2. 「新しいアプリ」をクリックして新しいアプリを作成します。
  3. アプリに名前を付けます(例:「iOS-Backend-Demo」)。
Document image


作成されると、新しいプロジェクトがBack4Appダッシュボードに表示されます。

Parse Swift SDKのインストールとキーの設定

Back4Appは、内部でParseプラットフォームに依存しています。iOSの場合、Parse Swift SDKを使用します:

1. Parseキーを取得する Back4Appダッシュボードで、「アプリ設定」または「セキュリティとキー」に移動して、次のものを見つけます:

  • アプリケーションID
  • クライアントキー(該当する場合はSwiftキー)
  • サーバーURL(通常は https://parseapi.back4app.com
Document image


2. Parse Swift SDKを追加するSwift Package Manager」を使用している場合:

Swift


使用している場合は CocoaPods, あなたの Podfile:

Ruby


次に実行します:

Bash


3. Parseを初期化する あなたの AppDelegate.swift (またはメインのSwiftUIアプリファイル) の中で、 ParseSwift.initialize(...) をあなたの資格情報で呼び出します:

Swift


おめでとうございます!あなたのiOSアプリはBack4Appに接続され、すべてのリクエストやデータトランザクションはParse Swiftを通じて自動的に行われます。

ステップ2 – データベースの設定

1. データモデルの作成

Back4Appは、各クラス/テーブルをダッシュボードから管理できるschemaアプローチを使用しています。例えば、Todoクラスを作成したいとします:

  1. 「データベース」に移動し、Back4Appコンソールで。
  2. 「新しいクラスを作成」をクリックし、名前をTodoにして、title(String)やisCompleted(Boolean)などのカラムを追加します。

2. AIエージェントを使ったデータモデルの作成

Back4AppのAIエージェントは、スキーマ設計を加速できます:

  1. ダッシュボードでAIエージェントを開く
  2. あなたのデータモデルを平易な言葉で説明する(例:「タイトルとisCompletedフィールドを持つ新しいToDoクラスを作成」)。
  3. AIにスキーマを自動的に構築させる。
Document image


3. Swift SDKを使用したデータの読み書き

Parse Swift」を使用して、コード内でデータ構造を定義します。例えば:

Swift


4. REST APIを使用したデータの読み書き

また、REST呼び出しを使用することもできます。例えば、Todoを作成するには:

Bash


5. GraphQL APIを使用したデータの読み取りと書き込み

Back4AppはGraphQLサポートも含まれています。こちらがミューテーションの例です:

GraphQL


6. ライブクエリを使用する(オプション)

Back4Appはリアルタイムの更新をライブクエリを通じてサポートしています。Swiftの場合:

Swift


ステップ3 – ACLとCLPを使用したセキュリティの適用

1. 概要

アクセス制御リスト (ACL)はオブジェクトごとの権限を制御し、クラスレベルの権限 (CLP)はクラス全体のデフォルトを設定します。

2. 手順

  • クラスレベルの権限: Back4Appダッシュボードでクラス(例: Todo)を開き、「セキュリティ」タブをクリックします。読み取り/書き込みを認証されたユーザーまたはロールのみに制限できます。
  • コード内のACL: ParseObjectを保存する際に、ACLを割り当てることができます:

これらを調整して、データが正しいユーザーによってのみアクセスされるようにします。

ステップ4 – クラウドコード関数の作成

1. なぜクラウドコード?

クラウドコードは、iOSアプリにサーバーサイドのロジックを追加するための最良の友です。機密性の高いロジックやバリデーションをクライアントから遠ざけ、外部APIを統合し、サーバー上でバックグラウンドタスクを実行できます。

2. 例の関数

ローカル(またはオンラインエディタ)で main.js ファイルを作成し、次の関数を定義します:

JS


3. デプロイメント

次のいずれかを使用します: Back4App CLI またはダッシュボード内の Cloud Code > Functions エディタ。

  1. CLIをインストールします:
  2. アカウントキーを設定します:
  3. デプロイ:

4. iOSからのCloud Codeの呼び出し

Swift


5. NPMモジュールの使用

あなたの package.json(Cloud Code内)で、依存関係をリストします。次に main.js:

JS


ステップ5 – 認証の設定

1. ユーザー認証を有効にする

あなたのBack4Appダッシュボードでは、 _User クラスがすでに提供されています。メール確認、パスワードリセットなどを設定できます。

2. iOSコードサンプル

  • サインアップ:
  • ログイン:

3. ソーシャルログイン

Parse Swiftでソーシャルログイン(Google、Apple、Facebook)を統合できます。詳細な手順については、ソーシャルログインドキュメントを参照してください。

ステップ6 – ファイルストレージの取り扱い

1. ファイルストレージの設定

Parseを通じて画像やドキュメントなどのファイルをアップロードおよび取得します。Swiftの場合:

Swift


2. ファイルの取得

Swift


3. セキュリティの考慮事項

ファイルの権限は、Back4Appの設定またはアプリの parse-config ファイルで構成できます。たとえば、誰がファイルをアップロードまたは削除できるかを制限します。

ステップ7 – メール確認とパスワードリセット

1. なぜ確認が必要なのか?

メール確認は、ユーザーが提供したメールアドレスを所有していることを保証します。パスワードリセットのフローは、ユーザーが安全にアカウントを回復できるようにします。

2. Back4Appでの設定

  1. に行くアプリ設定 > ユーザーメール設定.
  2. メール認証を有効にする.
  3. を設定する送信者メール, メールテンプレート、およびオプションのカスタムドメイン。

3. 実装

Swift


ステップ 8 – クラウドジョブによるタスクのスケジューリング

1. 概要

を使用してクラウドジョブを使用して、古いレコードの削除や毎日の通知の送信などのタスクを自動化します。これらはサーバーサイドで実行され、クライアントによって直接トリガーされることはありません。

2. 例

JS


このジョブをBack4Appダッシュボードの サーバー設定 > バックグラウンドジョブ にスケジュールして定期的に実行します。

ステップ9 – ウェブフックの統合

1. 定義

ウェブフックは、特定のイベントが発生したときにアプリが外部サービスにデータを送信できるようにします。例えば、Todoが作成されたときにSlackチャンネルに通知します。

2. 設定

  • ダッシュボード: もっと > ウェブフックに移動し、「ウェブフックを追加」を選択します。
  • エンドポイントを設定: 例 https://my-server.com/webhook-endpoint.
  • イベントトリガー: 例 「クラスTodoの新しいレコード。」
Document image


3. コード例

JS


ステップ10 – Back4App管理パネルの探索

1. どこで見つけるか

あなたの 管理パネル は、Back4Appダッシュボードの「その他」>「管理アプリ」からアクセスできます。管理ユーザーを作成し、簡単にアクセスできるサブドメインを選択してください。

2. 機能

  • データブラウジング: ユーザーフレンドリーな形式でクラスを表示および編集します。
  • ログ: サーバーログとCloud Codeログを確認します。
  • 分析: 使用状況、プッシュ通知などを監視します。
Document image


結論

このチュートリアルでは、iOSのバックエンドを構築する方法を学びました。

スケーラブルなデータベースを統合し、ACLとCLPを使用してセキュリティを実装し、Cloud Code関数を作成し、ユーザー認証を設定し、ファイルストレージを管理し、さらにはバックグラウンドタスクをスケジュールしました。

これらの基本的な機能が整ったことで、iOSモバイルアプリケーションのために信頼性の高いバックエンドを提供し、ユーザーエクスペリエンスやユニークな機能に集中することができます。

次のステップ:

  • 高度な役割やマルチレベルのセキュリティのためのカスタムアクセスコントロールを探求してください。
  • プッシュ通知、ジオクエリ、または外部データソースのような高度な機能を統合してください。
  • パフォーマンスのヒント、ログ分析、またはリアルタイム分析のためにBack4Appの公式ドキュメントを確認してください。
  • チャットアプリケーション、IoT統合、またはeコマース拡張に関する追加のチュートリアルを試してみてください。

Back4Appを活用することで、オープンソースに基づくプラットフォームを手に入れ、複雑さを軽減し、データを簡単に保存し、リアルタイム機能をiOSアプリに組み込むことができます。これらのステップを実装することで、デザイン、ユーザーフロー、またはビジネスロジックに取り組む時間が生まれ、あっという間にiOSアプリのための堅牢なバックエンドを作成できます。