四个优秀的开源后端服务系统,腾出手来开发应用逻辑
创始人
2025-07-05 21:10:38
0

在当前快节奏和十分内卷的IT行业中,后端服务(BaaS)是开发人员快速开发应用的利器。利用BaaS可以缩短产品研发周期,提高上线效率,节省项目资金。

本文主要简要介绍BaaS的概念,并推荐几个比较优秀的开源的BaaS项目。

什么是BaaS?

注意:在区块链领域许多人把区块链即服务称BaaS,而我们这里讨论的并非区块链,而是指后端即服务——Backend as a Service。

后端即服务 (BaaS) 是一种云服务模型,开发团队或者企业可以外包 Web 或移动应用程序的所有幕后内容,仅需自行编写和维护前端。BaaS 供应商为服务器上发生的活动提供预编写的服务,例如:用户身份验证、数据库管理、远程更新和推送通知(针对移动应用程序),以及云存储和托管等。

在Web和移动应用开发的早期阶段,开发主管必须协调后端和前端开发人员。如今,后端即服务作为一种云服务的模式,允许前端开发人员专注开发网站或应用程序的前端,无需担心后端方面的内容。通过 BaaS 平台提供的 API 和 SDK,他们可以集成所需的所有后端功能,而无需自行构建后端。他们也不必管理服务器、虚拟机或容器,即可实现一个可以执行的应用程序。因此,他们可以更快地构建和启动移动应用程序或者Web应用程序。简化了开发工作、提高了工作效率。

BaaS 和 Serverless 有什么区别?

BaaS和Serverless(无服务器)之间存在一些重叠,在这两者中,开发人员都只需要编写应用程序代码,而无需考虑后端。此外,许多 BaaS 提供商还提供无服务器计算服务。然而,使用 BaaS 构建的应用程序与使用真正的无服务器架构构建的应用程序之间存在显著的操作差异。

Serverless应用程序的后端分为多个函数,每个函数都响应事件并仅执行一个操作。而 BaaS 服务器端功能可以按提供商的意愿进行构建,并且开发人员不必担心除应用程序前端以外的任何事务。

Serverless架构是事件驱动的,每个函数仅在由某个事件触发时才运行,否则不会运行。BaaS 构建的应用程序通常不是事件驱动的。

Serverless函数可以从任何机器上的任何位置运行,使得将边缘计算整合到应用程序中成为可能。BaaS 并不一定是随时随地运行代码,取决于BaaS服务商。

在Serverless中,应用程序会随着使用量的增加而自动扩展。而BaaS,除非供应商也是基于Serverless,否则BaaS应用程序无法以这种方式进行扩展。

BaaS 和 PaaS的区别?

PaaS是通过云基础设施提供的一个“平台服务”。与无服务器计算和 BaaS 一样的地方是:消除了开发人员构建和管理应用程序后端的麻烦。但是,PaaS 不包括预先构建的服务器端应用程序业务逻辑,例如:推送通知和用户身份验证。PaaS 为开发人员提供了更大的灵活性,而 BaaS 则提供了更多的功能。

市面上有很多成功的BaaS供应商,他们能够提供各种服务器端功能,如:消息推送、用户身份验证、数据库管理、远程更新和云存储等。另外,BaaS公司还提供了一些自己的平台特定的功能。市面上有许多比较好的商业版BaaS,例如:Firebase、AWS Amplify、Back4App等。但这些项目在私有化部署、定制化开发以及成本控制等方面并不是最佳选择。

以下是一些优秀的开源后端服务系统,完全可以根据需要拿来改造。

1.Appwrite

  • https://appwrite.io/
  • https://github.com/appwrite/appwrite 

Appwrite是一个完整的后端即服务开源解决方案,几乎适用于任何web或移动的应用。并且它具有零依赖性、易于集成等特点。

Appwrite可以打包为一组Docker容器。可以在任何支持Docker CLI的操作系统中安装。这种跨平台功能允许我们在本地桌面或任何公有云服务上运行Appwrite。

Appwrite附带了一个集成面板,可以将应用程序作为项目进行管理。每个项目都可以直接与Web或移动的应用程序集成。

功能特性:

  • 简单
  • 优秀的文档
  • 跨平台
  • 零依赖(除Docker外)

2.Supabase

https://github.com/supabase/supabase

Supabase可以执行重复的CRUD功能,并让开发人员专注于产品。Supabase支持像Appwrite一样私有化部署。它提供了构建产品所需的所有后端服务,包括:Postgres数据库、认证、文件存储、自动生成API等。可以在几分钟内创建应用程序。Supabase系统本身带有仪表盘、表格编辑器(类似于电子表格)、内置的SQL编辑器和用户管理等功能。

3.Parse Platform

https://parseplatform.org/

https://github.com/parse-community/parse-server

Parse Platform是一个完整的应用程序服务栈。Parse Server是平台的一部分,它是一个可以部署在任何能够运行Node.js的基础设施中的系统。Parse Server支持使用MongoDB或Postgres作为数据库,并允许使用自己的基础设施来部署后端。

Parse Platform提供了一些开源SDK,支持与现有的Web或者移动应用集成。 

4.Nhost

  • https://nhost.io/
  • https://github.com/nhost/nhost

Nhost与Firebase类似,是一个开箱即用的开源后端服务系统,提供的服务内容包括:Postgres数据库、Hasura、GraphQL、身份验证和文件存储等。另外,它还提供了一组SDK来集成Android、iOS、JavaScript等应用程序。

系统架构如下图所示:

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...