您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

四个优秀的开源后端服务系统,腾出手来开发应用逻辑

时间:2023-11-07 13:36:25  来源:微信公众号  作者:andflow

在当前快节奏和十分内卷的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来集成AndroidIOSJAVAScript等应用程序。

系统架构如下图所示:

四个优秀的开源后端服务系统,腾出手来开发应用逻辑



Tags:后端   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
网站开发中的前端和后端开发有什么区别
前端开发和后端开发都是干什么的?有哪些区别?通俗地讲,前端干的工作是用户可以直接看得见的,而后端开发的工作主要在服务端,用户不太能直接看到。虽然前端开发和后端开发的工作有...【详细内容】
2024-02-21  Search: 后端  点击:(31)  评论:(0)  加入收藏
网站程序开发中的前后端分离技术
随着互联网的快速发展和技术的不断创新,传统的网站开发模式已经难以满足日益增长的业务需求。为了提高开发效率、增强系统的可维护性和可扩展性,前后端分离技术逐渐成为了网站...【详细内容】
2024-01-31  Search: 后端  点击:(23)  评论:(0)  加入收藏
一段微信小程序前端与后端连接的代码,带注解
微信小程序的前端和后端连接通常涉及到使用微信小程序提供的网络请求API与后端服务器进行通信。以下是一个简单的示例,展示如何使用微信小程序的前端代码向后端发送请求并处...【详细内容】
2024-01-24  Search: 后端  点击:(55)  评论:(0)  加入收藏
Java后端+Java大数据+前端
web前端开发主要涉及创建网页或网站的用户界面,包括布局、样式、动画、交互等。web前端开发需要掌握HTML、CSS、JavaScript等基础语言,以及各种框架和库,如React、Vue、Bootstr...【详细内容】
2023-12-28  Search: 后端  点击:(95)  评论:(0)  加入收藏
前端请求到后端API的中间件流程解析
在前端请求到后端API的典型流程中,经过一系列中间件的处理,确保请求的顺利处理和安全性。以下是中间件的详细解析:1. 前端请求用户在前端发起请求,包括请求的URL、参数、以及其...【详细内容】
2023-12-06  Search: 后端  点击:(122)  评论:(0)  加入收藏
运动规划之搜索算法:前端规划、后端轨迹生成到状态求解
背景:16-18年做过一阵子无人驾驶,那时候痴迷于移动规划;然而当时可学习的资料非常少,网上的论文也不算太多。基本就是Darpa的几十篇无人越野几次比赛的文章,基本没有成系统的文章...【详细内容】
2023-11-30  Search: 后端  点击:(116)  评论:(0)  加入收藏
Java后端开发需要学什么?这篇干货送给你
在现如今的互联网时代,掌握了编程技术,机遇就会变多,Java作为应用广泛的编程语言,在编程届有着很高的名气,如果你想学习Java,就先要了解Java后端开发需要学习什么!Java后端开发需要...【详细内容】
2023-11-24  Search: 后端  点击:(231)  评论:(0)  加入收藏
2024年不容错过的后端与网页开发新动态
在数字创新不断变化的领域中,作为开发者,你可能会感到自己处于一场永无止境的竞赛之中,面临着挑战和机遇的旋风。开发产品的压力、保持竞争力、跟上用户期望的演变,这些都可能让...【详细内容】
2023-11-24  Search: 后端  点击:(216)  评论:(0)  加入收藏
为什么Go是后端开发的未来
近年来,Go 编程语言的流行度迅速增加。Go 最初由 Google 开发,迅速成为后端开发中最受欢迎的语言之一,特别是在分布式系统和微服务的开发中。本文将讨论为什么 Go 是后端开发的...【详细内容】
2023-11-21  Search: 后端  点击:(203)  评论:(0)  加入收藏
Spring Boot + Vue3 前后端分离 实战wiki知识库系统
下栽の地止:https://www.itwangzi.cn/2508.html Spring Boot + Vue3 前后端分离 实战wiki知识库系统在当今的Web应用开发中,前后端分离已经成为了一种主流的开发模式。Spring...【详细内容】
2023-11-18  Search: 后端  点击:(143)  评论:(0)  加入收藏
▌简易百科推荐
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(5)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(12)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(8)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(10)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(8)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
Kubernetes 究竟有没有 LTS?
从一个有趣的问题引出很多人都在关注的 Kubernetes LTS 的问题。有趣的问题2019 年,一个名为 apiserver LoopbackClient Server cert expired after 1 year[1] 的 issue 中提...【详细内容】
2024-03-15  云原生散修  微信公众号  Tags:Kubernetes   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条