PostgREST 2014 年前后提出并验证了“PostgreSQL 直接作为 Backend、自动生成 REST API”这条路线。
2016 年,pREST 作者认为 Haskell 在他们的团队环境中招聘和维护成本较高,因此选择 Go 来重新实现。
二者定位高度重合,核心共同点都是把 PostgreSQL 数据库直接转换成 REST API,减少传统 Backend 中 Controller、CRUD Repository 等代码。
没有深入使用,暂时不了解两者在技术栈、扩展能力和设计理念的细致差别。
-
pREST
官网:https://www.prestd.com/
文档:https://docs.prestd.com/
GitHub:https://github.com/prest/prest
-
PostgREST
官网:https://postgrest.org
GitHub:https://github.com/PostgREST/postgrest
-
Supabase
值得介绍的是,PostgREST 是开源的 Backend-as-a-Service 平台 Supabase 的核心组件之一。
PS:Supabase 主要开发语言是 TypeScript。https://github.com/supabase/supabase
Supabase 在 PostgREST 这类 PostgreSQL API 层之上进一步提供了认证、实时通信、对象存储、Serverless Functions 等完整 Backend 能力,还自带完整的 Web 管理控制台(Supabase Studio),可以让开发者基于 PostgreSQL 快速搭建 Web 和移动应用。
项目 Slogan 就是:Build in a weekend. Scale to millions.PS:Supabase 自带的 Web 管理控制台主要用于管理数据库、认证、Storage、API 等基础设施,并不是面向最终业务人员的业务后台,业务系统的管理后台仍然需要自己开发。