Quickstarters
CRUD Samples
FlutterでCRUDアプリを作成?
27 分
概要 このガイドでは、back4appをバックエンドサービスとして活用し、基本的なcrud操作(作成、読み取り、更新、削除)を処理するflutterアプリケーションを開発します。 back4appプロジェクトの設定、柔軟なデータスキーマの設計、flutterアプリをparse sdk for flutterを使用してバックエンドと統合する方法を説明します。 最初に、 basic crud app flutter という名前の新しいback4appプロジェクトを作成します。このプロジェクトは、モバイルアプリケーションのための信頼性の高いデータストレージソリューションを提供します。その後、コレクションとフィールドを手動で作成するか、back4appのaiエージェントの助けを借りてデータモデルを定義します。 次に、直感的なback4app管理アプリを使用してデータをシームレスに管理します。最後に、 parse server sdk flutter パッケージを使用してflutterアプリケーションをback4appに接続し、安全で効率的なcrud操作を可能にします。 このチュートリアルの終わりまでに、基本的なcrud機能と安全なユーザー認証およびデータ管理が可能な、商用利用に適したflutterアプリケーションを持つことができます。 重要な洞察 強力なバックエンドと連携するflutterアプリを構築します。 back4appでスケーラブルなバックエンドスキーマを設計する方法を学びます。 データ管理を簡単にするためにback4app管理アプリを利用します。 aclやユーザー認証を含む堅牢なセキュリティ対策を実装します。 前提条件 始める前に、次のものを用意してください アクティブなプロジェクトを持つback4appアカウント。 サポートが必要ですか? back4appの始め方 https //www back4app com/docs/get started/new parse app を訪れてください。 flutter開発環境。 flutterをインストールし、visual studio codeやandroid studioなどのideを選択します。 flutter、dart、およびrest apiの基本的な理解。 必要に応じて、 flutterドキュメント https //flutter dev/docs を確認してください。 ステップ 1 – プロジェクトの初期化 新しい back4app プロジェクトの作成 back4app アカウントにログインします。 ダッシュボードの「新しいアプリ」ボタンをクリックします。 プロジェクトに名前を付けます: basic crud app flutter そして、セットアップを完了するための指示に従います。 新しいプロジェクトを作成 プロジェクトが作成されると、ダッシュボードに表示され、バックエンドの設定ができるようになります。 ステップ 2 – データモデルの作成 データ構造の設定 この flutter アプリケーションでは、back4app プロジェクト内にいくつかのコレクションを作成します。以下は、crud 機能をサポートするために必要な主要なコレクションとフィールドの例です。 1\ 製品コレクション このコレクションは、個々の製品に関する詳細を保存します。 フィールド タイプ 説明 id オブジェクトid 自動的に割り当てられた一意の識別子。 名前 文字列 商品の名前。 詳細 文字列 製品の簡単な説明。 作成日時 日付 製品が追加されたタイムスタンプ。 更新日時 日付 製品が最後に更新された日時。 2\ ユーザーコレクション このコレクションはユーザーの資格情報と認証の詳細を管理します。 フィールド タイプ 説明 id オブジェクトid 自動生成された一意の識別子。 ユーザー名 文字列 ユーザーのためのユニークなユーザー名。 メール 文字列 ユーザーのユニークなメールアドレス。 パスワードハッシュ 文字列 安全な認証のための暗号化されたパスワード。 作成日時 日付 アカウントが作成された日時。 更新日時 日付 アカウントが最後に更新された日時。 back4appダッシュボードでこれらのコレクションを手動で作成できます。 新しいクラスを作成 フィールドを追加するには、データタイプを選択し、フィールド名を指定し、必要に応じてデフォルト値を設定し、必須としてマークします。 列を作成 back4appのaiエージェントを使用したスキーマ作成 back4appに統合されたaiエージェントは、あなたの説明に基づいてデータスキーマを自動的に生成し、セットアッププロセスを効率化します。 aiエージェントの使用方法 aiエージェントにアクセスする back4appダッシュボードを開き、プロジェクト設定でaiエージェントを見つけます。 スキーマを説明する 必要なコレクションとフィールドを詳しく説明するプロンプトを提供します。 レビューと確認 aiエージェントが入力を処理したら、提案されたスキーマを確認し、適用することを確認します。 サンプルプロンプト create the following collections in my back4app project 1\) collection products \ fields \ id objectid (auto generated) \ name string \ details string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) このアプローチは時間を節約し、データスキーマが一貫して最適化されていることを保証します。 ステップ3 – 管理アプリの有効化とcrud操作の管理 管理アプリの紹介 back4app管理アプリは、バックエンドデータを管理するためのノーコードインターフェースを提供します。そのドラッグアンドドロップ機能により、レコードの作成、読み取り、更新、削除などのcrud操作を簡単に実行できます。 管理アプリの有効化 「その他」メニューに移動する あなたのback4appダッシュボードで。 「管理アプリ」を選択する そしてクリックする 「管理アプリを有効にする。」 管理者資格情報を設定する 初期の管理者アカウントを作成することで、 b4aadminuser のような役割も設定されます。 管理アプリを有効にする 有効にした後、管理アプリにログインしてアプリケーションデータを管理します。 管理アプリダッシュボード crud操作の管理 管理アプリ内で、あなたは エントリを作成する コレクション(例:製品)内の「レコードを追加」オプションを使用して新しいデータを挿入します。 エントリを表示および編集する レコードをクリックして詳細を確認したり、フィールドを更新します。 エントリを削除する もはや必要のないレコードを削除します。 このユーザーフレンドリーなインターフェースは、バックエンドデータの管理プロセスを簡素化します。 ステップ4 – flutterアプリをback4appに接続する バックエンドが設定されたので、flutterアプリケーションをback4appと統合する時が来ました。 flutterのためのparse sdkの使用 依存関係を追加する あなたの pubspec yaml を開き、次の parse server sdk flutter パッケージを含めます dependencies flutter sdk flutter parse server sdk flutter ^3 1 0 アプリでparseを初期化する あなたの main dart , back4appの資格情報を使ってparseを初期化します import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk dart'; future\<void> main() async { widgetsflutterbinding ensureinitialized(); await parse() initialize( 'your application id', 'https //parseapi back4app com', clientkey 'your flutter key', debug true, ); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( title 'basic crud app', home homepage(), ); } } crud操作の実装: dartファイルを作成します(例: product service dart )crudアクションを処理するために: import 'package\ parse server sdk flutter/parse server sdk dart'; class productservice { future\<list\<parseobject>> fetchproducts() async { final query = querybuilder\<parseobject>(parseobject('products')); final response = await query query(); if (response success && response results != null) { return response results as list\<parseobject>; } return \[]; } future\<void> addproduct(string name, string details) async { final product = parseobject('products') set('name', name) set('details', details); final response = await product save(); if (response success) { print('product added successfully '); } else { print('error adding product ${response error? message}'); } } future\<void> updateproduct(string objectid, string newname, string newdetails) async { final query = querybuilder\<parseobject>(parseobject('products')); query whereequalto('objectid', objectid); final response = await query first(); if (response != null && response success) { final product = response results! first as parseobject; product set('name', newname) set('details', newdetails); final saveresponse = await product save(); if (saveresponse success) { print('product updated '); } } } future\<void> deleteproduct(string objectid) async { final query = querybuilder\<parseobject>(parseobject('products')); query whereequalto('objectid', objectid); final response = await query first(); if (response != null && response success) { final product = response results! first as parseobject; final deleteresponse = await product delete(); if (deleteresponse success) { print('product deleted '); } } } } このサービスファイルは、flutter uiがback4appバックエンドとスムーズに対話できるようにします。 代替案:flutterでのrest/graphqlの使用 parse sdkを使用しないことを選択した場合、 http のようなパッケージを使用してrest呼び出しを行うことができます。ただし、より統合された体験のためにparse sdkが推奨されます。 ステップ5 – バックエンドのセキュリティ アクセス制御リスト (acl) データを保護するために、オブジェクトのaclを設定します。たとえば、作成者のみが表示できる製品を作成します import 'package\ parse server sdk flutter/parse server sdk dart'; future\<void> addprivateproduct(string name, string details, parseuser owner) async { final product = parseobject('products') set('name', name) set('details', details); final acl = parseacl(owner) setpublicreadaccess(false) setpublicwriteaccess(false); product setacl(acl); final response = await product save(); if (response success) { print('private product created '); } else { print('error ${response error? message}'); } } クラスレベルの権限 (clp) back4appのダッシュボードで、clpを設定してデフォルトのセキュリティルールを強制し、認証されたユーザーのみが特定のコレクションにアクセスまたは変更できるようにします。 ステップ6 – ユーザー認証の実装 ユーザー登録とログインの設定 back4appは、認証を処理するためにparse userクラスを利用します。flutterアプリで、ユーザー登録とログインを次のように実装します import 'package\ parse server sdk flutter/parse server sdk dart'; class authservice { future\<void> registeruser(string username, string password, string email) async { final user = parseuser createuser(username, password, email); final response = await user signup(); if (response success) { print('user registered successfully!'); } else { print('registration failed ${response error? message}'); } } future\<void> loginuser(string username, string password) async { final user = await parseuser login(username, password); if (user success) { print('logged in as ${user result? username}'); } else { print('login error ${user error? message}'); } } } このセットアップは、ユーザー登録、ログイン、およびflutterアプリケーションの追加認証管理をカバーしています。 ステップ7 – 結論と今後の改善 おめでとうございます!あなたはback4appと統合されたflutterベースのcrudアプリケーションを正常に構築しました。 このチュートリアルでは、 basic crud app flutter という名前のプロジェクトを作成し、製品とユーザーのコレクションを定義し、admin appを使用してバックエンドを管理しました。 さらに、 parse server sdk flutter パッケージを使用してflutterアプリをback4appに接続し、堅牢なセキュリティとユーザー認証を実装しました。 次のステップ: アプリを拡張する: 高度な検索、詳細ビュー、またはリアルタイム更新などの機能を追加します。 バックエンド機能を強化する: クラウド機能、サードパーティapi統合、またはより詳細な役割ベースのアクセス制御を探ります。 学び続ける: back4appのドキュメント https //www back4app com/docs や追加のチュートリアルを見直して、アプリケーションをさらに最適化します。 コーディングを楽しんで、flutter開発の旅に幸運を祈ります!