Ionicのためのバックエンドを構築する方法は?
このチュートリアルでは、Back4Appを使用してIonicアプリの完全なバックエンドを構築する方法を学びます。
データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、ファイル処理などについて説明します。
私たちの目標は、Ionicのバックエンドを構築する方法を示すことです。それは安全で、スケーラブルで、メンテナンスが容易です。
Back4Appの直感的な環境を使用して、サーバーサイドのセットアップを簡素化し、手動でサーバーやデータベースを構成する手間を省きます。
Cloud Jobsを使用したタスクのスケジューリング、高度なセキュリティルールの適用、他のサービスとのWebhookの統合など、必須のツールを学びます。
最後には、この基盤となるバックエンドをIonicアプリの本番環境に適したシステムに拡張する準備が整います。
- JavaScript/TypeScriptおよびIonicの概念に精通していること Ionic公式ドキュメント. Ionicの構造、コンポーネント、およびライフサイクルフックをよく理解していることが役立ちます。
- Back4Appアカウントにログインする。
- 新しいアプリを作成する Back4Appダッシュボードの「新しいアプリ」ボタンを使用して。
- アプリに名前を付ける(例:「Ionic-Backend-Tutorial」)。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
このBack4Appプロジェクトは、バックエンドの基盤です。クライアントサイドのParse SDKを使用するのとは異なり、このチュートリアルでは、IonicアプリからRESTおよびGraphQLを介して呼び出しを行う方法を示します。
- Back4Appのダッシュボードで、アプリ設定またはセキュリティとキーに移動します。
- あなたのアプリケーションID, REST APIキー, およびGraphQLエンドポイント. これらは、Ionicアプリからリクエストを送信するために必要です。
適切に構造化されたデータベースは、すべてのアプリの基盤です。Back4Appのダッシュボードは、データモデルの設計と関係の管理を容易にします。
- Back4Appのダッシュボードのデータベースセクションに移動します。
- 新しいクラス(例えば、「Todo」)を作成し、カラムを追加します(例:titleをStringとして、isCompletedをBooleanとして)。
![新しいクラスを作成 新しいクラスを作成](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
- あなたの Back4App ダッシュボードから AI エージェント を開きます。
- 「タイトル(String)と isCompleted(Boolean)のフィールドを持つ Todo クラスを作成する」といった、希望するスキーマを説明します。
- AI エージェントがスキーマを自動的に生成します。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
あなたの Ionic コードから、HTTP リクエストを実行できます。例えば、Todoを作成するには:
すべての Todo を 取得するには:
これらの呼び出しを統合することができます fetch, Axios, またはあなたのIonicアプリのサービスやコンポーネントファイル内の任意のHTTPクライアントライブラリを使用して。
同様に、IonicアプリからGraphQLのミューテーションやクエリを送信できます。例えば、新しいTodoを作成するには:
例 RESTまたはGraphQLの呼び出しは、あなたのIonic構造のプロバイダー/サービスファイルに配置でき、そこからページで呼び出すことができます。
ライブクエリは、アプリのデータにリアルタイムの更新を提供しますが、Parse SDKまたは特別なサブスクリプションアプローチが必要です。リアルタイムデータが必要な場合は、Back4Appサーバーの設定からライブクエリを有効にできます。通常、クラスの変更を監視するためにWebSocket接続を使用します。ただし、標準のHTTPベースの呼び出しの場合は、定期的にRESTまたはGraphQLのエンドポイントをクエリできます。
ACL(アクセス制御リスト)を使用すると、個々のオブジェクトに対して読み取り/書き込みの権限を設定できます。 CLP(クラスレベルの権限)を使用すると、クラスレベルでの広範なアクセスを管理できます。これらの機能は、プライベートデータを保護し、認可されたユーザーのみが情報を変更できるようにするために重要です。
- Back4Appダッシュボードで、 データベース > クラスレベルの権限 に移動します。
- クラスのデフォルトを設定します(例:認証されたユーザーのみが新しいTodoを作成できる)。
レコードを作成または更新する際には、ACLフィールドをRESTを通じて渡すことができます:
詳細については、アプリセキュリティガイドラインをご覧ください。
クラウドコードを使用すると、データ検証、トリガー、または統合などのタスクのためにサーバーサイドJavaScriptを実行できます。ロジックを集中させるためにカスタムエンドポイントを作成でき、特にクライアントからコードを排除したい場合に便利です。
サーバー側のmain.jsに次のように記述できます:
これをBack4App CLIを介してデプロイするか、Cloud Codeダッシュボードのセクションで行います。
POSTリクエストを送信できます:
これをBack4App CLIを介してデプロイするか、Cloud Codeダッシュボードのセクションで行います。
POSTリクエストを送信できます:
返されたデータまたはエラーメッセージを含むJSONレスポンスが得られます。
サードパーティサービスを統合するために、Cloud Code環境に axios のようなパッケージをインストールできます。これらを main.js: に含めてください。
デプロイして、他のCloud Code関数と同じ方法で呼び出します。
ユーザーのサインアップとログインは、UserクラスへのREST呼び出しで行うことができます。例えば、サインアップするには:
成功すると、sessionTokenを受け取ります。それを安全に保管し、認証された操作のために今後のリクエストのヘッダーに含めてください。
Back4Appを通じてOAuthフローを設定するか、外部プロバイダーを使用して、GoogleやFacebookのようなソーシャルログインを構成できます。詳細な手順については、ソーシャルログインのドキュメントを参照してください。
Back4Appは安全なファイルストレージを提供します。オブジェクトにファイルを添付するか、独立して保存できます。例えば:
レスポンスには、クラスに保存できるファイルURLが含まれます:
Back4Appの サーバー設定 でファイルセキュリティルールを有効にして、認証を要求したり、特定の役割にファイルアップロードを制限したりできます。
メール確認はユーザーのメールの正当性を保証します。パスワードリセットは、失われた認証情報を回復するための安全な方法を提供します。これにより、Ionicアプリでの信頼と適切なユーザー管理が維持されます。
- 「アプリ設定 > メール設定」に移動します。
- 「メール確認」を有効にします。
- 確認およびパスワードリセットのメールテンプレートをカスタマイズします。
Cloud Jobs allow you to schedule recurring tasks like data cleanup or sending summary emails. You write them in your main.js:
After deployment:
- Go to App Settings > Server Settings > Background Jobs.
- Schedule cleanupOldTodos to run daily.
![Scheduling a Cloud Job Scheduling a Cloud Job](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Webhookを使用すると、Back4Appプロジェクト内で特定のイベントが発生したときに外部サービスにデータを送信できます。Ionicアプリが新しいレコードを作成した後にStripeやSlackでアクションをトリガーする必要がある場合、Webhookを使用してそれを自動化できます。
- 「もっと見る」に移動します > WebhookをBack4Appダッシュボードで選択します。
- 新しいWebhookを追加し、そのエンドポイントを設定します(例:https://your-service.com/webhook-endpoint)。
- 「イベント」を選択します(例:「保存後」Todoクラス)。
![Webhookの追加 Webhookの追加](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
標準のHTTPライブラリを使用して、main.js内のCloud Codeトリガーから外部リクエストを開始することもできます。
この Back4App Admin App は、非技術的な利害関係者のためのシンプルなインターフェースです。主要なParseダッシュボードに入ることなく、クラスに対してCRUD操作を簡単に行う方法を提供します。
- ダッシュボードで、 More > Admin App に移動します。
- 「 Enable Admin App 」をクリックして、管理ユーザーを作成します。
- 管理インターフェースにアクセスするためのサブドメインを選択します。
![管理アプリを有効化 管理アプリを有効化](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
このパネルは、クエリを書くことなくデータを管理するのに役立ち、グラフィカルインターフェースを好むクライアントやチームメンバーに最適です。
このガイドを完成させることで、あなたは Ionicのバックエンドを構築する方法を学びました:
- 安全なバックエンドを作成しました Back4App上で、堅牢なデータモデルと関係を持っています。
- RESTおよびGraphQL APIと統合しました Ionicアプリからデータを読み書きするために。
- セキュリティを実装しました ACLとCLPを使用して。
- カスタムロジックとトリガーのためにCloud Codeをデプロイしました。
- ユーザー認証とファイルストレージを設定しました。
- タスクをスケジュールするためにCloud Jobsを設定しました。
- 外部統合のためにwebhooksを活用しました。
- データ管理を簡素化するためにAdmin Panelを探索しました。
この基盤を持って、あなたの Ionicアプリは生産準備が整ったプラットフォームに進化できます。さらにロジックを追加したり、サードパーティAPIに接続したり、使用ケースに合わせてセキュリティルールを微調整したりしてください。
- キャッシング、ロールベースのアクセス、パフォーマンスモニタリングを実装することで 生産ビルドを強化してください。
- リアルタイムのライブクエリや多要素認証などの 高度な機能を統合してください。
- 分析、ログ、パフォーマンスチューニングの詳細な探索のために Back4Appの公式ドキュメントを参照してください。
- チャットアプリケーション、IoT統合、またはBack4Appの堅牢なバックエンドサービスと組み合わせた位置情報ベースの機能を示す 他のチュートリアルを探索してください。
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)