内容提要
Supabase Studio现已发布,支持本地开发和自托管。最初的仪表板提供基本功能,后续根据用户反馈逐步增加SQL编辑器和用户管理等功能。团队决定开源前端代码,以简化管理和提高开发效率。Studio使用Next.js等技术,主要用于数据库管理,未来将开放更多功能。
延伸解读
开源决策背后的权衡
Supabase团队曾尝试维护独立代码库和同步两个仓库,但发现这些方法导致生产时间变慢。最终选择开源全部前端代码,让平台和自托管共享同一代码库。这一决策基于“做更少的事”的理念,减少代码库数量以降低bug并加快发布。对于开发者而言,这意味着贡献的修复能同时惠及平台和自托管环境。
Studio的功能边界
Studio设计用于管理现有部署的数据库,包括表格和SQL编辑器、策略、角色、扩展、复制以及API文档。但它不负责项目的部署和管理,这些不在范围内。目前保存的查询功能尚不可用。未来团队会逐步在自托管仪表板中开放更多代码库功能,但本次发布仅涵盖数据库管理相关部分。
技术栈与贡献方式
Studio基于Next.js、Tailwind、Supabase UI、MobX等技术构建,并使用了Radix UI等库。团队在开源策略上参考了Sentry的共享代码库管理方法。用户可以在开源仓库中修复bug并快速发布到平台和自托管环境。贡献指南详见Studio的Readme。
Q&A
Supabase Studio的主要功能是什么?
Supabase Studio主要用于数据库管理,提供表格和SQL编辑器、数据库管理政策、角色、扩展和API文档等功能。
Supabase Studio支持哪些开发模式?
Supabase Studio支持本地开发和自托管。
为什么Supabase团队决定开源前端代码?
团队决定开源前端代码,以简化管理和提高开发效率,减少代码管理带来的错误。
Supabase Studio使用了哪些技术栈?
Supabase Studio使用了Next.js、Tailwind、Supabase UI和MobX等技术。
Supabase Studio未来会增加哪些功能?
未来Supabase Studio将开放更多功能,用户可以在开源仓库中修复bug并快速发布。
Supabase Studio的用户如何参与贡献?
用户可以通过访问Studio的Readme获取完整的贡献说明。