Kotlinのバックエンドを構築する方法は?
このチュートリアルでは、Back4Appを使用してKotlinで書かれたAndroidアプリケーションの完全なバックエンドを構築する方法を学びます。
データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリ(ライブクエリ)など、Back4Appの重要な機能を統合する方法を説明し、Androidアプリとシームレスに通信する安全でスケーラブル、かつ堅牢なバックエンドを作成します。
また、Back4Appの迅速なセットアップと直感的な環境が、サーバーやデータベースを手動で構成するのに比べて、時間と労力を大幅に削減できることを確認します。
その過程で、Cloud Jobsを使用したタスクのスケジューリングや、外部統合のためのWebhookの設定など、主要な機能に関する実践的な経験を得ることができます。
このチュートリアルの終わりまでには、この基本的なセットアップを本番環境に適したアプリケーションに拡張する準備が整い、必要に応じてカスタムロジックやサードパーティAPIを簡単に組み込むことができるようになります。
このチュートリアルを完了するには、次のものが必要です:
- 基本的なAndroid/Kotlin開発環境 マシンにAndroid Studioがインストールされていることを確認してください。まだ設定していない場合は、Android Studioの公式セットアップドキュメントを参照してください。
- アプリのGradle設定でAndroid 4.0以上の最小バージョン 通常、これはモジュールのminSdkVersionを設定する場所です。モジュールのbuild.gradleで設定します。
- Kotlinと基本的なAndroidの概念に関する知識 Android開発者ドキュメント。 AndroidやKotlinが初めての場合は、開始する前に公式ドキュメントや初心者向けのチュートリアルを確認してください。
始める前に、これらの前提条件がすべて整っていることを確認してください。Back4appプロジェクトを設定し、ローカルのAndroid環境を準備しておくと、より簡単に進めることができます。
Back4appでAndroidバックエンドを構築する最初のステップは、新しいプロジェクトを作成することです。まだ作成していない場合は、次の手順に従ってください:
- Back4appアカウントにログインする.
- Back4appダッシュボードの「新しいアプリ」ボタンをクリックする.
- アプリに名前を付ける(例:「Android-Kotlin-Backend-Tutorial」)。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
プロジェクトが作成されると、Back4appダッシュボードにリスト表示されます。このプロジェクトは、このチュートリアルで説明するすべてのバックエンド設定の基盤となります。
Back4Appは、データを管理し、リアルタイム機能を提供し、ユーザー認証を処理するためにParseプラットフォームに依存しています。AndroidアプリをBack4Appに統合するには、GradleファイルにParse Android SDKの依存関係を追加し、Back4Appダッシュボードからの資格情報で初期化する必要があります。
Parseキーを取得する: Back4Appダッシュボードで、アプリの「アプリ設定」または「セキュリティとキー」セクションに移動して、あなたの アプリケーションID と クライアントキー を見つけてください。 ParseサーバーURL も見つかります(通常は https://parseapi.back4app.com の形式です)。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Parse SDKを追加する あなたの build.gradle ファイルに:
ルートの build.gradle (プロジェクトレベル):
モジュールレベルの build.gradle (通常は app/build.gradle):
AndroidアプリケーションでParseを初期化する:
カスタム Application クラスを作成します(例:App.kt) まだ持っていない場合は:
次に、あなたの AndroidManifest.xml を開き、カスタム Application クラスを登録します:
このステップを完了することで、Android(Kotlin)フロントエンドとBack4Appバックエンドの間に安全な接続が確立されました。すべてのリクエストとデータトランザクションは、このSDKを通じて安全にルーティングされ、手動のRESTまたはGraphQL呼び出しの複雑さが軽減されます(必要に応じてそれらを使用することもできます)。
Back4Appプロジェクトが設定され、Parse SDKがAndroidアプリに統合されたので、データの保存と取得を開始できます。以下は、Kotlinを使用してデータを作成および取得する例です。
また、Back4AppのREST APIエンドポイントを使用することもできます:
Back4appはGraphQLインターフェースも提供しています:
これらの多様なオプションにより、Parse 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は、データモデルの設計を手助けするAIエージェントを提供しています:
- AIエージェントを開きます アプリダッシュボードまたはメニューから。
- データモデルを説明します 簡単な言葉で(例:「Back4appで完全なクラススキーマを持つ新しいToDoアプリを作成してください。」)。
- AIエージェントにスキーマを作成させます。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
AIエージェントを使用することで、データアーキテクチャの設定にかかる時間を節約し、アプリケーション全体での一貫性を確保できます。
リレーショナルデータがある場合—例えば、複数の Category オブジェクトが Todo アイテムを指している場合—Parseで Pointers または Relations を使用できます。例えば、Category へのポインタを追加すること:
クエリを実行する際、ポインタデータも含めることができます:
この include("category") 呼び出しは、各Todoとともにカテゴリの詳細を取得し、リレーショナルデータをシームレスにアクセス可能にします。
リアルタイムの更新のために、Back4appは Live Queries を提供します。Androidアプリから特定のクラスの変更にサブスクライブできます:
- Back4Appダッシュボードのアプリの Server Settings で Live Queries を有効にします。
- コード内で Live Query Subscription を初期化します:
新しいTodoが作成、更新、または削除されるたびに、クライアントはリアルタイムでコールバックを受け取ります—共同作業や動的なアプリに最適です。
Back4appは、アクセス制御リスト(ACL)とクラスレベルの権限(CLP)を提供することで、セキュリティを真剣に考えています。これらの機能により、オブジェクトまたはクラスごとにデータの読み取りや書き込みを制限でき、認可されたユーザーのみがデータを変更できるようになります。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
「ACL」は、個々のオブジェクトに適用され、どのユーザー、役割、または一般の人々が読み取り/書き込み操作を行えるかを決定します。例えば:
CLPは、クラス全体のデフォルトの権限を管理します。たとえば、クラスが公開されているかどうか、読み取りまたは書き込みが可能かどうかです。
- Back4appダッシュボードに移動, アプリを選択し、 データベース セクションを開きます。
- クラスを選択 (例: “Todo”)。
- クラスレベルの権限 タブを開きます。
- デフォルトを設定します。たとえば、読み取りまたは書き込みのための「認証が必要」や、一般公開のための「アクセス不可」などです。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
クラウドコードを使用すると、Parse Server上でカスタムKotlin風のJavaScriptコードを実行できます(.jsファイルとしてアップロードされます)。サーバーインフラを管理する必要がなく、ビジネスロジック、バリデーション、トリガー、外部API呼び出しに最適です。
通常、JavaScript関数、トリガー、および必要なnpmモジュールを main.js ファイルに配置します。このファイルはBack4Appプロジェクトにデプロイされ、Parse Server環境で実行されます。
- ビジネスロジック
- データ検証
- トリガー (例えば beforeSave, afterSave)
- セキュリティの強化
- 統合 サードパーティAPIとの
以下はシンプルなCloud Code関数です:
デプロイは、Back4App CLI:
次に、設定してデプロイします:
Parse SDKを介してAndroid(Kotlin)コードから:
RESTまたはGraphQLを介しても同様に呼び出すことができます。
Back4Appは、Parse Userクラスを使用して認証を行います。Parseは、安全なパスワードハッシュ、セッショントークンなどを標準で処理します。
Kotlinでは、新しいユーザーを作成できます:
既存のユーザーでログインします:
Google、Facebook、Appleなどのソーシャルログインも統合できます。詳細については、ソーシャルログインのドキュメントを確認してください。
Parseは自動的にセッショントークンを管理します。現在のユーザーにアクセスできます:
そしてログアウトします:
Parseにはファイルアップロードを扱うための ParseFile クラスが含まれています:
Parseにはファイルアップロードを扱うための ParseFile クラスが含まれています:
ACLやCLPを調整するか、parse-serverの設定でファイル固有の設定を使用することで、誰がファイルをアップロードまたはダウンロードできるかを制御できます。
- メール確認を有効にする あなたのBack4Appダッシュボードの設定で。
- 送信元アドレス、メールテンプレート、または必要に応じてカスタムドメインを 設定します。
- 次のコマンドを使用します: ParseUser.requestPasswordResetInBackground(email, callback) アプリ内でパスワードリセットフローをトリガーします。
クラウドジョブ を使用すると、データのクリーンアップや定期的な通知の送信など、ルーチンタスクを自動化できます。
ダッシュボードの「サーバー設定 > バックグラウンドジョブ」でジョブをスケジュールします。
Webhookは、特定のイベントが発生するたびに、Back4Appアプリが外部サービスにHTTPリクエストを送信できるようにします。
- Webhookを追加するには、Back4Appダッシュボードの More > Webhooksを選択します。
- トリガーを設定します(例:新しいオブジェクトを保存した後)。
- URLエンドポイントを追加します(SlackやStripeのWebhookのような)。
![Webhookの追加 Webhookの追加](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Back4App管理アプリは、非技術的なユーザーがデータを管理するための使いやすいウェブベースのインターフェースです。
- それを有効にするには、 アプリダッシュボード > More > 管理アプリを選択します。
- 最初の管理ユーザーを作成します。
- サブドメインを選択して、管理パネルにアクセスします。
- ログインして、データベースのレコードを簡単に表示、編集、または削除します。
![管理アプリの有効化 管理アプリの有効化](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
この包括的なチュートリアルに従うことで、あなたは:
- 安全なバックエンドをBack4App上のAndroidアプリのために作成しました。
- データベースを構成しました クラススキーマ、データ型、関係を使用して。
- リアルタイムクエリを統合しました (ライブクエリ)で即時データ更新を実現しました。
- セキュリティ対策を適用しました ACLとCLPを使用してデータアクセスを保護し管理しました。
- Cloud Codeを実装しました サーバー側でカスタムビジネスロジックを実行するための関数。
- ユーザー認証を設定しました メール確認とパスワードリセットをサポートしています。
- ファイルのアップロードを管理しました オプションのファイルセキュリティコントロール付きで。
- Cloud Jobsをスケジュールしました 自動化されたバックグラウンドタスクのために。
- Webhookを使用しました 外部サービスと統合するために。
- Back4App管理パネルを探求しました データ管理のために。
堅牢なBack4Appバックエンドと堅固なAndroid(Kotlin)フロントエンドを持つことで、機能豊富でスケーラブルかつ安全なアプリケーションを開発するための準備が整いました。さらに高度な機能を探求し、ビジネスロジックを統合し、Back4Appの力を活用してサーバーとデータベースの管理にかかる無数の時間を節約してください。コーディングを楽しんでください!
- 生産準備が整ったAndroidアプリを構築する このバックエンドを拡張して、より複雑なデータモデル、キャッシング戦略、パフォーマンス最適化を処理します。
- 高度な機能を統合する 特化した認証フロー、役割ベースのアクセス制御、または外部API(支払いゲートウェイなど)を含みます。
- Back4appの公式ドキュメントを確認する 高度なセキュリティ、パフォーマンス調整、ログ分析についての詳細な情報を得るために。
- 他のチュートリアルを探る リアルタイムチャットアプリケーション、IoTダッシュボード、または位置情報サービスに関するもの。ここで学んだ技術をサードパーティのAPIと組み合わせて、複雑な実世界のアプリケーションを作成できます。
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)