クイックスターターズ

Kotlinのバックエンドを構築する方法は?

35min

はじめに

このチュートリアルでは、Back4Appを使用してKotlinで書かれたAndroidアプリケーションの完全なバックエンドを構築する方法を学びます。

データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリ(ライブクエリ)など、Back4Appの重要な機能を統合する方法を説明し、Androidアプリとシームレスに通信する安全でスケーラブル、かつ堅牢なバックエンドを作成します。

また、Back4Appの迅速なセットアップと直感的な環境が、サーバーやデータベースを手動で構成するのに比べて、時間と労力を大幅に削減できることを確認します。

その過程で、Cloud Jobsを使用したタスクのスケジューリングや、外部統合のためのWebhookの設定など、主要な機能に関する実践的な経験を得ることができます。

このチュートリアルの終わりまでには、この基本的なセットアップを本番環境に適したアプリケーションに拡張する準備が整い、必要に応じてカスタムロジックやサードパーティAPIを簡単に組み込むことができるようになります。

前提条件

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

  • Back4Appアカウントと新しいBack4Appプロジェクト Back4Appの始め方。 アカウントを持っていない場合は、無料で作成できます。上記のガイドに従ってプロジェクトを準備してください。
  • 基本的なAndroid/Kotlin開発環境 マシンにAndroid Studioがインストールされていることを確認してください。まだ設定していない場合は、Android Studioの公式セットアップドキュメントを参照してください。
  • アプリのGradle設定でAndroid 4.0以上の最小バージョン 通常、これはモジュールのminSdkVersionを設定する場所です。モジュールのbuild.gradleで設定します。
  • Kotlinと基本的なAndroidの概念に関する知識 Android開発者ドキュメント。 AndroidやKotlinが初めての場合は、開始する前に公式ドキュメントや初心者向けのチュートリアルを確認してください。

始める前に、これらの前提条件がすべて整っていることを確認してください。Back4appプロジェクトを設定し、ローカルのAndroid環境を準備しておくと、より簡単に進めることができます。

ステップ1 – Back4appプロジェクトの設定

新しいプロジェクトを作成する

Back4appでAndroidバックエンドを構築する最初のステップは、新しいプロジェクトを作成することです。まだ作成していない場合は、次の手順に従ってください:

  1. Back4appアカウントにログインする.
  2. Back4appダッシュボードの「新しいアプリ」ボタンをクリックする.
  3. アプリに名前を付ける(例:「Android-Kotlin-Backend-Tutorial」)。
Document image


プロジェクトが作成されると、Back4appダッシュボードにリスト表示されます。このプロジェクトは、このチュートリアルで説明するすべてのバックエンド設定の基盤となります。

Parse SDKを接続する

Back4Appは、データを管理し、リアルタイム機能を提供し、ユーザー認証を処理するためにParseプラットフォームに依存しています。AndroidアプリをBack4Appに統合するには、GradleファイルにParse Android SDKの依存関係を追加し、Back4Appダッシュボードからの資格情報で初期化する必要があります。

Parseキーを取得する: Back4Appダッシュボードで、アプリの「アプリ設定」または「セキュリティとキー」セクションに移動して、あなたの アプリケーションIDクライアントキー を見つけてください。 ParseサーバーURL も見つかります(通常は https://parseapi.back4app.com の形式です)。

Document image


Parse SDKを追加する あなたの build.gradle ファイルに:

ルートの build.gradle (プロジェクトレベル):

Text


モジュールレベルの build.gradle (通常は app/build.gradle):

Text


AndroidアプリケーションでParseを初期化する:

カスタム Application クラスを作成します(例:App.kt) まだ持っていない場合は:

Kotlin


次に、あなたの AndroidManifest.xml を開き、カスタム Application クラスを登録します:

XML


このステップを完了することで、Android(Kotlin)フロントエンドとBack4Appバックエンドの間に安全な接続が確立されました。すべてのリクエストとデータトランザクションは、このSDKを通じて安全にルーティングされ、手動のRESTまたはGraphQL呼び出しの複雑さが軽減されます(必要に応じてそれらを使用することもできます)。

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

データの保存とクエリ

Back4Appプロジェクトが設定され、Parse SDKがAndroidアプリに統合されたので、データの保存と取得を開始できます。以下は、Kotlinを使用してデータを作成および取得する例です。

Kotlin


また、Back4AppのREST APIエンドポイントを使用することもできます:

Bash


Back4appはGraphQLインターフェースも提供しています:

GraphQL


これらの多様なオプションにより、Parse SDK、REST、またはGraphQLを通じて、開発プロセスに最も適した方法でデータ操作を統合できます。

スキーマ設計とデータ型

デフォルトでは、Parseは スキーマを動的に作成することを許可します, しかし、より多くの制御のためにBack4appダッシュボードでクラスとデータ型を定義することもできます。

  1. Back4appダッシュボードの「データベース」セクションに移動します
  2. 新しいクラスを作成します(例:「Todo」)およびタイトル(String)やisCompleted(Boolean)などの関連するカラムを追加します。
新しいクラスを作成
新しいクラスを作成


Back4appは、データモデルの設計を手助けするAIエージェントを提供しています:

  1. AIエージェントを開きます アプリダッシュボードまたはメニューから。
  2. データモデルを説明します 簡単な言葉で(例:「Back4appで完全なクラススキーマを持つ新しいToDoアプリを作成してください。」)。
  3. AIエージェントにスキーマを作成させます
Document image


AIエージェントを使用することで、データアーキテクチャの設定にかかる時間を節約し、アプリケーション全体での一貫性を確保できます。

リレーショナルデータ

リレーショナルデータがある場合—例えば、複数の Category オブジェクトが Todo アイテムを指している場合—Parseで Pointers または Relations を使用できます。例えば、Category へのポインタを追加すること:

Kotlin


クエリを実行する際、ポインタデータも含めることができます:

Kotlin


この include("category") 呼び出しは、各Todoとともにカテゴリの詳細を取得し、リレーショナルデータをシームレスにアクセス可能にします。

ライブクエリ

リアルタイムの更新のために、Back4appは Live Queries を提供します。Androidアプリから特定のクラスの変更にサブスクライブできます:

  1. Back4Appダッシュボードのアプリの Server SettingsLive Queries を有効にします。
  2. コード内で Live Query Subscription を初期化します:
Kotlin


新しいTodoが作成、更新、または削除されるたびに、クライアントはリアルタイムでコールバックを受け取ります—共同作業や動的なアプリに最適です。

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

Back4appのセキュリティメカニズム

Back4appは、アクセス制御リスト(ACL)クラスレベルの権限(CLP)を提供することで、セキュリティを真剣に考えています。これらの機能により、オブジェクトまたはクラスごとにデータの読み取りや書き込みを制限でき、認可されたユーザーのみがデータを変更できるようになります。

Document image


アクセス制御リスト(ACL)

ACL」は、個々のオブジェクトに適用され、どのユーザー、役割、または一般の人々が読み取り/書き込み操作を行えるかを決定します。例えば:

Kotlin


クラスレベルの権限 (CLP)

CLPは、クラス全体のデフォルトの権限を管理します。たとえば、クラスが公開されているかどうか、読み取りまたは書き込みが可能かどうかです。

  1. Back4appダッシュボードに移動, アプリを選択し、 データベース セクションを開きます。
  2. クラスを選択 (例: “Todo”)。
  3. クラスレベルの権限 タブを開きます。
  4. デフォルトを設定します。たとえば、読み取りまたは書き込みのための「認証が必要」や、一般公開のための「アクセス不可」などです。
Document image


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

クラウドコードを使用すると、Parse Server上でカスタムKotlin風のJavaScriptコードを実行できます(.jsファイルとしてアップロードされます)。サーバーインフラを管理する必要がなく、ビジネスロジック、バリデーション、トリガー、外部API呼び出しに最適です。

仕組み

通常、JavaScript関数、トリガー、および必要なnpmモジュールを main.js ファイルに配置します。このファイルはBack4Appプロジェクトにデプロイされ、Parse Server環境で実行されます。

典型的な使用例

  • ビジネスロジック
  • データ検証
  • トリガー (例えば beforeSave, afterSave)
  • セキュリティの強化
  • 統合 サードパーティAPIとの

関数をデプロイする

以下はシンプルなCloud Code関数です:

main.js


デプロイは、Back4App CLI:

Bash


次に、設定してデプロイします:

Bash


関数を呼び出す

Parse SDKを介してAndroid(Kotlin)コードから:

Kotlin


RESTまたはGraphQLを介しても同様に呼び出すことができます。

ステップ5 – 認証の設定

Back4Appにおけるユーザー認証

Back4Appは、Parse Userクラスを使用して認証を行います。Parseは、安全なパスワードハッシュ、セッショントークンなどを標準で処理します。

ユーザー認証の設定

Kotlinでは、新しいユーザーを作成できます:

Kotlin


既存のユーザーでログインします:

Kotlin


Google、Facebook、Appleなどのソーシャルログインも統合できます。詳細については、ソーシャルログインのドキュメントを確認してください。

セッション管理

Parseは自動的にセッショントークンを管理します。現在のユーザーにアクセスできます:

Kotlin


そしてログアウトします:

Kotlin


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

ファイルのアップロードと取得

Parseにはファイルアップロードを扱うための ParseFile クラスが含まれています:

Kotlin


Parseにはファイルアップロードを扱うための ParseFile クラスが含まれています:

ファイルセキュリティ

ACLやCLPを調整するか、parse-serverの設定でファイル固有の設定を使用することで、誰がファイルをアップロードまたはダウンロードできるかを制御できます。

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

  1. メール確認を有効にする あなたのBack4Appダッシュボードの設定で。
  2. 送信元アドレス、メールテンプレート、または必要に応じてカスタムドメインを 設定します。
  3. 次のコマンドを使用します: ParseUser.requestPasswordResetInBackground(email, callback) アプリ内でパスワードリセットフローをトリガーします。

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

クラウドジョブ を使用すると、データのクリーンアップや定期的な通知の送信など、ルーチンタスクを自動化できます。

JS


ダッシュボードの「サーバー設定 > バックグラウンドジョブ」でジョブをスケジュールします。

ステップ 9 – Webhookの統合

Webhookは、特定のイベントが発生するたびに、Back4Appアプリが外部サービスにHTTPリクエストを送信できるようにします。

  1. Webhookを追加するには、Back4Appダッシュボードの More > Webhooksを選択します。
  2. トリガーを設定します(例:新しいオブジェクトを保存した後)。
  3. URLエンドポイントを追加します(SlackやStripeのWebhookのような)。
Webhookの追加
Webhookの追加


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

Back4App管理アプリは、非技術的なユーザーがデータを管理するための使いやすいウェブベースのインターフェースです。

  1. それを有効にするには、 アプリダッシュボード > More > 管理アプリを選択します。
  2. 最初の管理ユーザーを作成します。
  3. サブドメインを選択して、管理パネルにアクセスします。
  4. ログインして、データベースのレコードを簡単に表示、編集、または削除します。
管理アプリの有効化
管理アプリの有効化


結論

この包括的なチュートリアルに従うことで、あなたは:

  • 安全なバックエンドをBack4App上のAndroidアプリのために作成しました。
  • データベースを構成しました クラススキーマ、データ型、関係を使用して。
  • リアルタイムクエリを統合しました (ライブクエリ)で即時データ更新を実現しました。
  • セキュリティ対策を適用しました ACLとCLPを使用してデータアクセスを保護し管理しました。
  • Cloud Codeを実装しました サーバー側でカスタムビジネスロジックを実行するための関数。
  • ユーザー認証を設定しました メール確認とパスワードリセットをサポートしています。
  • ファイルのアップロードを管理しました オプションのファイルセキュリティコントロール付きで。
  • Cloud Jobsをスケジュールしました 自動化されたバックグラウンドタスクのために。
  • Webhookを使用しました 外部サービスと統合するために。
  • Back4App管理パネルを探求しました データ管理のために。

堅牢なBack4Appバックエンドと堅固なAndroid(Kotlin)フロントエンドを持つことで、機能豊富でスケーラブルかつ安全なアプリケーションを開発するための準備が整いました。さらに高度な機能を探求し、ビジネスロジックを統合し、Back4Appの力を活用してサーバーとデータベースの管理にかかる無数の時間を節約してください。コーディングを楽しんでください!

次のステップ

  • 生産準備が整ったAndroidアプリを構築する このバックエンドを拡張して、より複雑なデータモデル、キャッシング戦略、パフォーマンス最適化を処理します。
  • 高度な機能を統合する 特化した認証フロー、役割ベースのアクセス制御、または外部API(支払いゲートウェイなど)を含みます。
  • Back4appの公式ドキュメントを確認する 高度なセキュリティ、パフォーマンス調整、ログ分析についての詳細な情報を得るために。
  • 他のチュートリアルを探る リアルタイムチャットアプリケーション、IoTダッシュボード、または位置情報サービスに関するもの。ここで学んだ技術をサードパーティのAPIと組み合わせて、複雑な実世界のアプリケーションを作成できます。