クイックスターターズ

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

24min

はじめに

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

私たちは、データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリ(ライブクエリ)など、Back4appの重要な機能をDartベースのプロジェクトに統合することに焦点を当てます。

Dartは多用途なプログラミング言語であるため、シンプルなウェブサーバーからフルスケールのアプリケーションまで、さまざまなバックエンドプロジェクトに使用できます。

Back4appの直感的な環境を活用することで、重いサーバーメンテナンスなしで、迅速に堅牢で安全なバックエンドフレームワークをセットアップできます。

ACL、CLP、バックグラウンドタスクのスケジューリング、Cloud Codeを使用したカスタムロジックの作成などの機能が、サーバーサイドの操作をどのように効率化するかを確認します。

このチュートリアルを完了した後、Dartバックエンドをスケールアップする準備が整うか、より高度な統合を追加することができます。

前提条件

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

  • Back4appアカウントと新しいBack4appプロジェクト Back4appの始め方. アカウントをお持ちでない場合は、無料で作成できます。
  • 基本的なDart開発環境 Dart SDKとお好みのエディタをインストールすることで設定できます。詳細については、 Dart SDKの取得.
  • Dart 2.0以上 環境が最新であることを確認し、最近のDart機能やパッケージシェルフ、その他のサーバーサイドライブラリを活用できるようにします。
  • Dartとバックエンドの概念に対する理解 Dartが初めての場合は、 Dart公式ドキュメント.を確認して基本的な流暢さを身につけてください。

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

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

  1. なぜ新しいBack4appプロジェクトを作成するのか? 新しいBack4appプロジェクトは、データベース、セキュリティ、API、ファイルストレージなどを管理するバックエンドの基盤を形成します。Dartベースのサーバーサイドロジックを構築するための整理された構造を提供します。
  2. Back4appプロジェクトの作成
    • Back4appアカウントにログインします。
    • Back4appダッシュボードで「新しいアプリ」をクリックします。
    • アプリに説明的な名前を付けます(例:「Dart-Backend-Tutorial」)。
Document image


作成されると、プロジェクトはBack4appダッシュボードに表示されます。このプロジェクトは、Dartアプリケーションのすべてのバックエンド設定を構成する場所です。

  1. Parse SDKをインストールして接続する Dartには公式のParse SDKはありませんが、Back4app統合を可能にするコミュニティが維持するライブラリがあります。例えば、parse_server_sdkをDartプロジェクトの次の依存関係に追加できます。pubspec.yaml:
YAML


次に実行します:

Bash


Parseを初期化 あなたのDartコード内で(例: main.dart ファイルで):

Dart


あなたの アプリケーションID, JavaScriptキー, および ParseサーバーURL をBack4appダッシュボードから取得します(「アプリ設定」>「セキュリティとキー」の下)。このステップで、あなたのDartアプリケーションはBack4appバックエンドフレームワークと安全に対話できます。

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

  1. データモデルの作成 Back4appダッシュボードで、「データベース」セクションに移動し、新しいクラス(例:「Todo」)を作成します。フィールドのための列を追加します。例えば、 title(String)と isCompleted(Boolean)。
  2. AIエージェントを使用したデータモデルの作成
    • アプリダッシュボードでAIエージェントを開きます。
    • 希望するスキーマを説明します(例:「タイトルとisCompletedフィールドを持つToDoクラスを作成してください。」)。
    • AIエージェントにスキーマを最終決定させます。
スキーマ作成のためのAIエージェント
スキーマ作成のためのAIエージェント

  1. SDKを使用したデータの読み取りと書き込み parse_server_sdkライブラリを使用すると、Dartコードからデータを保存およびクエリできます。例えば:
Dart

  1. REST APIを使用したデータの読み取りと書き込み
Bash

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

  1. ライブクエリを使用する(オプション) リアルタイムの更新を有効にするには、Back4appダッシュボード(サーバー設定)でライブクエリをオンにします。その後、Dartから購読できますが、特別なライブラリが必要な場合があります。parse_server_sdkライブラリは部分的なライブクエリサポートを持っているかもしれません。詳細についてはそのドキュメントを確認してください。

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

  1. 概要
    • ACL(アクセス制御リスト): オブジェクトレベルでの読み取り/書き込みを制限します。
    • CLP(クラスレベルの権限): クラスレベルでの読み取り/書き込みを制限します。
  2. ステップバイステップ
    • クラスレベルの権限: Back4appダッシュボードで、データベースセクションを開き、クラスを選択し、「セキュリティ」の下でCLPを設定します。
    • コード内のACL(parse_server_sdkを使用):
Dart


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

  1. なぜクラウドコードが必要か クラウドコードは、サーバー側でカスタムビジネスロジックを作成するために不可欠です。自分自身のインフラを管理する必要がなく、コードを安全かつスケーラブルに保つことができます。
  2. 例の関数とトリガー あなたの main.js(クラウドコード用):
JS

  1. デプロイメント
    • Back4app CLIを使用する:
    • ダッシュボードを使用する:
      1. Cloud Code > Functions」に移動します。
      2. コードを「 main.js」に貼り付けます。
      3. デプロイ」をクリックします。
  2. NPMとCloud Code Cloud Codeに追加のNPMモジュールが必要な場合は、プロジェクトの「 package.json」に指定してください。これにより、外部APIや高度な操作をサーバーサイドコードから直接統合できます。

ステップ5 – 認証の設定

  1. ユーザー認証を有効にする Back4appダッシュボードで、メール確認を有効にしたり、ソーシャルログインを設定したりできます。デフォルトでは、Parse Userクラスはパスワードを安全に保存します。
  2. コードサンプル(Dartでparse_server_sdkを使用):
Dart

  1. ソーシャルログイン
    • バック4アプリダッシュボード内で Google, Apple, または Facebook のようなプロバイダーを設定します。
    • 該当するparse_server_sdkプラグインまたは利用可能なカスタムOAuthフローを実装します。

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

  1. ファイルストレージの設定 バック4アプリは、Parse APIを介してアップロードしたファイルを自動的にホストします。画像、文書、または任意のファイルタイプを保存できます。
  2. 例 (Dart)
  3. セキュリティの考慮事項 バック4アプリダッシュボードでCLPやユーザーロールを調整することで、誰がファイルをアップロードまたは取得できるかを制御できます。

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

  1. 概要 メール確認は、ユーザーが登録したメールを所有していることを確認し、パスワードリセットリンクは、失われた資格情報を管理するための安全な方法を提供します。
  2. Back4App ダッシュボードの設定
    • 次に進む アプリ設定 > メール.
    • ユーザーのメールを確認」と「パスワードリセット」を有効にします。
    • 必要に応じてメールテンプレートをカスタマイズします。
  3. 実装 ユーザーが有効なメールを使用してサインアップすると、メール確認リンクが送信されます。パスワードリセットの場合は、ParseUserのrequestPasswordResetメソッド(parse_server_sdkで利用可能な場合)またはRESTエンドポイントを呼び出します。

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

  1. クラウドジョブの機能 クラウドジョブを使用すると、古いレコードのクリーンアップや定期的なレポートの送信など、設定した間隔でタスクをスケジュールできます。これらはバックグラウンドで動作し、ユーザーのトリガーアクションとは独立しています。
  2. main.js」に追加します:
JS

  1. スケジューリング
    • に移動します アプリ設定 > サーバー設定 > バックグラウンドジョブ.
    • cleanupOldTodos 」をスケジュールして、毎日または選択した間隔で実行します。

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

  1. 定義 ウェブフックを使用すると、Back4appアプリが特定のイベントで外部サービスにHTTPリクエストを送信できます。これは、SlackやStripeなどのサードパーティサービスとの統合に役立ちます。
  2. 設定
    • に移動します その他 > ウェブフック あなたのBack4appダッシュボードで。
    • Webhookを追加をクリックし、エンドポイントを提供します(例: https://your-external-service.com/webhook-endpoint)。
    • トリガーイベントを指定します(例:Todoが作成された後)。
Webhookの追加
Webhookの追加

  1. Slack Webhook URLを持っている場合、新しいTodoが挿入されるたびに通知を受け取るように設定できます。このDartバックエンドと外部ツールとのシームレスな接続は、自動化を促進します。

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

  1. どこで見つけるか Back4appコンソールで、More > Admin Appを開いてパネルを有効にします。
  2. 機能
    • データベースレコードを簡単に管理します。
    • ログ、バックグラウンドジョブ、分析をレビューします。
    • ユーザーアクセスと役割を制御します。
管理者アプリを有効にする
管理者アプリを有効にする


結論

これらの手順に従うことで、あなたは:

  • Dartのための安全なバックエンドを構築しました Back4app上で。
  • データベースを管理しました Parseクラスとフィールドを通じて。
  • カスタムCloud Codeを作成しました サーバーサイドのロジックを処理するために。
  • データを保護しました ACL、CLP、およびユーザー認証を使用して。
  • バックグラウンドタスクをスケジュールしました Cloud Jobsを使用して。
  • 外部サービスを統合しました Webhooksを使用して。
  • 管理パネルを探索しました 簡単なデータ管理のために。

この堅固な基盤は、フルスケールのウェブサーバー、マイクロサービス、または専門的なアプリケーションを構築しているかどうかにかかわらず、Dartプロジェクトを効率的に展開する準備を整えます。ここから、バックエンドフレームワークをスケールアップし、より複雑なロジックを追加したり、プッシュ通知や高度な分析などの高度な機能を統合したりできます。

次のステップ

  • 生産準備状況を探る: キャッシング戦略を使用し、同時実行を処理し、高トラフィック向けにパフォーマンスを最適化します。
  • 高度な機能を統合する: ロールベースのアクセス制御、より多くのソーシャルログイン、またはリアルタイムコラボレーションツールなど。
  • 公式のBack4appドキュメントをチェックする ログ、セキュリティ、パフォーマンスチューニングについての深い洞察を得るために。
  • 実験する package shelfのような追加パッケージを使用して、Parseベースのデータレイヤーとともにカスタムウェブサーバーを作成し、Dartの柔軟なプログラミング言語としての能力を活用します。

Dartのバックエンドを構築する方法についてのこの知識を持っていることで、データを処理し、サーバーサイドプロセスを保護し、アプリのワークフローを自動化するための強力な方法を持っています—すべて大規模なインフラストラクチャのオーバーヘッドなしで。