搜索插件、代码仓与 APP 分类

插件详情v2.18.3

supabase_flutter

Supabase 的 Flutter 集成。此包使开发人员能够轻松构建安全且可扩展的产品。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
131万
喜欢数
990
Pub 分数
150

安装插件

flutter pub add supabase_flutter

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Supabase Flutter 是一个全面的包,可将 Supabase 的后端服务集成到 Flutter 应用程序中。它使开发者能够轻松实现认证、实时数据库操作和云存储,且设置简单。该包专为安全性和可扩展性设计,支持多种平台,包括 Android、iOS、Web、macOS、Windows 和 Linux。该包简化了对 Supabase 的 PostgreSQL 数据库、用户管理和文件存储的访问,帮助开发者快速构建功能完整的全栈应用程序。

适合场景

  • 移动应用中的用户身份验证
  • 实时数据同步
  • 基于云的文件存储
  • 安全的API集成
  • 构建可扩展的Web和移动应用
  • 离线优先的应用开发

主要特点

  • 内置的电子邮件/密码和社交提供商身份验证
  • 实时数据库订阅
  • 通过云存储进行安全的文件上传和下载
  • 跨平台支持
  • 易于使用的 SDK,提供 Flutter 友好的 API
  • 自动模式迁移和行级安全

适合对象

  • Flutter 开发人员构建全栈应用程序
  • 需要安全、可扩展后端的团队
  • 初创公司快速原型设计,后端工作量最小
  • 需要实时数据更新的应用程序
  • 使用 PostgreSQL 作为其数据库的开发人员
  • 针对多个平台的项目

使用建议

  • 需要设置 Supabase 项目
  • 实时功能的网络依赖
  • 高级安全规则的学习曲线
  • 没有后端知识的有限自定义
  • 取决于 Supabase 服务的可用性
  • 离线场景下的潜在延迟

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。


Supabase Logo

Supabase Flutter

Flutter client library for Supabase.

Guides · Reference Docs · Migration Guides

Build Package License: MIT

Run locally

This repo is a monorepo powered by Melos containing supabase_flutter and its sub-libraries. All packages are located in the packages directory.

To install on a locally developed app:

  • Clone this repo
  • Install Melos globally if you haven't already: dart pub global activate melos
  • Run melos bootstrap or melos bs at the root of the cloned directory to install dependencies
  • Add the target package to your pubspec.yaml file specifying the path.
    supabase_flutter:
      path: <your-path-to-the-local-supabase-flutter-repo>/packages/supabase_flutter
    

Testing your app

The helpers the test suites of these packages run on are published in package:supabase_test, so your tests can build on the same primitives: mock HTTP clients, JWT builders, auth session fixtures and realtime frames. Add the package as a dev dependency:

dev_dependencies:
  supabase_test: ^0.1.0

Then stub the endpoints the code under test talks to and run it against a real SupabaseClient, with no running stack required:

final httpClient = MockSupabaseHttpClient()
  ..stubTable('todos', rows: [
    {'id': 1, 'task': 'Ship it', 'status': false},
  ]);
final supabase = testSupabaseClient(httpClient: httpClient);
addTearDown(supabase.dispose);

final todos = await supabase.from('todos').select();
expect(todos, hasLength(1));

See the supabase_test README for the full guide: stubbing database, rpc, edge function and auth endpoints, asserting on recorded requests, running tests as a signed-in user, and wiring Supabase.initialize in Flutter widget tests.

Testing this repo

The tests for the packages postgrest, supabase_auth, supabase_realtime and supabase_storage run against a local Supabase stack. To run these tests locally you need docker and the Supabase CLI installed.

The single configuration for the stack lives in the supabase directory at the repository root. Start it with:

supabase start

Run the Dart tests within the package directory in packages/<package> with the following command. The -j 1 flag runs the tests not concurrently, which works better since the tests run against the same services.

dart test -j 1

To stop the stack run the following command from the repository root:

supabase stop

Contributing

  • Fork the repo on GitHub
  • Clone the project to your own machine
  • Commit changes to your own branch
  • Push your work back up to your fork
  • Submit a Pull request so that we can review your changes and merge

License

This repo is licensed under MIT.

Resources

所属分类

依赖

依赖清单 11 项

源码仓库

使用此插件的项目