网站首页 > 技术文章 正文
全文共2160字,预计学习时长7分钟
在一个一切都在加速的世界里,你需要快速迭代以避免被抛弃。
技术有很多,但你不可能掌握每一项。你可能会问自己:“我怎么能在不了解后端代码的情况下构建应用程序呢?”
· 你需要快速、安全地进行迭代
· 不太了解后端代码、主机或DevOps
· 专注于已经很复杂的前端开发工作
那么,在没有任何后端代码的情况下,你能开发出一个可以工作的应用程序吗?
小芯告诉你:可以的。
下面我们就来一一介绍:
后端作为服务(BaaS)进行救援
作为服务的后端是一个远程工具箱,不需要一行代码,它就可以帮助你快速构建通用的应用程序功能,比如自动验证、数据库持久性、搜索和统计信息。
有很多工具提供了这样的工具。
· Firebase可能是最知名的,它是由谷歌和谷歌云平台支持的。它非常高效和酷,是作为一个云黑盒工具托管的。
如果你需要本地工具,你可以使用自己的主机查看一些解决方案,比如
· Kuzzle,一个基于NodeJS、弹性搜索和Redis的特别强大的物联网和高性能/流量应用服务(BaaS)。
· FeatherJS,一个有各种连接器的NodeJS服务器,可用于MySQL, Postgres或MongoDB。
· Strapi,一个帮助你快速建立CMS的NodeJS服务器。
当使用Baas时,你需要稍微改变主意。
与调用将根据自定义逻辑更改数据的自己的端点不同,与根据自定义逻辑调用端点来更改数据不同,你通常会直接使用前端的格式化数据查询与数据库交互的服务端点,因为这些数据必须出现在数据库中。
因此,前端代码被认为是安全的,惟一要做的就是在后端应用一些验证策略来保证某些场景中的数据完整性。
请记住,当谈到“backendless”时,实际上它有一个正在运行的后端,只是你不需要为此编写任何(或只编写很少)代码。几乎一切都已为你准备好了。
把后端作为服务的一个小例子
假设你需要创建一个博客帖子,如果没有BaaS,你可能会调用一个名为post/blog/create的端点,并且可能会传递这样的对象
{
"title": "My newpost",
"content":"<h1>Some HTML…"
}
然后在后端,你将添加一个postID、一个带有创建日期的服务器时间戳,可能还添加了一个字段,作者使用的是使用会话令牌找到的当前用户。
使用BaaS,你可以像使用SDK这样直接在集合上进行调用(我将在下面向你展示一个FirebaseFirestore示例,在其他工具中类似)。
constarticleReference = db.collection("blog_posts").add({
"title": "My newpost",
"content":"<h1>Some HTML…",
"owner":"<user_unique_id>"
"creation_date": 1578855978
})
.then(success => console.log(success))
.catch(error => console.warn(error));
并且在后端添加一些限制策略,例如通过验证作者。
match/blog_posts/{postId} {
allow read if true,
allow create, update: ifrequest.auth.uid == resource.data.owner;
}
这样,可以更快地编写代码,而且为安全策略定义自动化测试套件也比后端代码更容易。默认情况下,所有东西都是禁用的,可以一点一点地启用它们。
这也可以定义一些后端函数来“挂钩”某些事件,如文档创建、编辑或删除。这样就可以定义一些副作用或额外验证。
使用后端作为服务能创建什么?
这就是问题所在……你可以构建的东西是没有限制的,如果遇到了限制,可以用其他工具甚至自定义后端来扩展这些工具。
大多数情况下,在基于云的解决方案上有合理的免费层,所以开始构建时没有问题,当应用成功时你就要开始支付少量费用了。
那很昂贵吗?
记住,任何帮助你更快、更安全的事情通常都有不利的一面。在使用内部包时,成本是关于开发人员支持和协助许可的。
但是当使用云BaaS时,当它们扩展到一个非常大的数据集时,通常就很昂贵了,你还需要设计应用程序来大规模地使用它们,但是工程师最大的问题是花时间优化一些根本不应该存在的东西。
使用BaaS进行快速迭代,如果你的产品获得了一些成功,请考虑稍后对其进行优化的方法,有可能的话切换到另一种技术。
BaaS很酷的一点是,你可以很容易地迁移到其他工具。
现在轮到你了,快来试试吧。
留言点赞关注
我们一起分享AI学习与发展的干货
如转载,请后台留言,遵守转载规范
猜你喜欢
- 2024-12-26 最新CRMEB商城多商户java版源码v1.6版本+前端uniapp
- 2024-12-26 React NextJS App Router 实时获取API
- 2024-12-26 六、uni-app + vue3 + ts + vite 响应式原理
- 2024-12-26 一个人生活必须要知道的几款App,告别空虚寂寞冷
- 2024-12-26 看看汽车充电app界面的设计,是不是一场创意盛宴
- 2024-12-26 印度欧美APP商城前端源码下载/多店铺PHP商城源码下载
- 2024-12-26 基于vue.js+uniapp后台管理系统uni-uadmin
- 2024-12-26 基于 vue.js 可视化拖拽低代码VisualDrag
- 2024-12-26 想积累实战经验吗?前端教程_ReactNative项目之美食App不容错过
- 2024-12-26 一、Uni-app + Vue3 + TS +Vite 创建项目步骤
你 发表评论:
欢迎- 494℃几个Oracle空值处理函数 oracle处理null值的函数
- 489℃Oracle分析函数之Lag和Lead()使用
- 488℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 475℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 469℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 464℃【数据统计分析】详解Oracle分组函数之CUBE
- 448℃Oracle有哪些常见的函数? oracle中常用的函数
- 442℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Spring Boot跨域难题终结者:3种方案,从此告别CORS噩梦!
- 京东大佬问我,SpringBoot为什么会出现跨域问题?如何解决?
- 在 Spring Boot3 中轻松解决接口跨域访问问题
- 最常见五种跨域解决方案(常见跨域及其解决方案)
- Java Web开发中优雅应对跨域问题(java跨域问题解决办法)
- Spring Boot解决跨域最全指南:从入门到放弃?不,到根治!
- Spring Boot跨域问题终极解决方案:3种方案彻底告别CORS错误
- Spring Cloud 轻松解决跨域,别再乱用了
- Github 太狠了,居然把 "master" 干掉了
- IntelliJ IDEA 调试 Java 8,实在太香了
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)