每周一将在宁皓网(ninghao.net)更新 SurrealDB 应用实践系列课程,每周三将在训练营网站(ninghao.co)更新 Web 界面实践系列训练视频。
开发者利器:SurrealDB
SurrealDB 可以存储多模型的数据,比如数据表(table)、文档(document)、图形关系(graph)。你可以在内存里存储数据,也可以存储在磁盘上,还可以把数据分布在服务器集群里。SurrealDB 适用于开发无服务器应用,Jamstack 应用,客户端应用与服务端应用。它可以让我们快速开发与构建应用,是开发者的一件利器。
SurrealDB 是由兄弟俩一起做的数据库开源项目。二人拥有多年开发基于云的 SasS 系统的经验,2015 年计划开发一个新的数据库系统,能让开发者更快速方便地构建与扩展应用。他们参考了很多不同类型的数据库,比如 MySQL,OrientDB,CouchDB,InfluxDB,DynamoDB,MongoDB,RethinkDB,CockroachDB,Neo4j 还有 Firebase。于是在 2016 年选择使用 Golang 语言开始开发 SurrealDB,2021 年决定开源以后,他们又用 Rust 进行了重写。
我第一次看到关于 SurrealDB 介绍的时候特别兴奋,因为实在是太好了,这正是我想要的数据库。不过冷静下来以后,我就想这会不会是个骗局,因为好的有点不太真实。接下来一段时间我就开始持续关注这个项目,在宣布 beta 版以后,SurrealDB 立即成为了 Github 有史以来增长最快的开源项目,最近也拿到了种子轮 600 万的融资,团队也不断地壮大,社区也十分活跃,最终我认为这是一个靠谱的项目,在未来我们会用它做些东西。
快速构建
对于初创项目来说,SurrealDB 是一个非常好的选择。它真的可以让我们快速构建应用,我们不再需要提前定义数据结构(Schema),只需要直接写声明(SurrealQL)交给 SureralDB 执行,它就会存储你给它的数据。它可以把数据存储在内存里,这个特点也可以提高前期实践与开发的效率,因为每次重启服务,就可以清空所有数据。通过宁皓网的 SurrealDB 系列课程,你可以快速理解与使用这个数据库系统。
服务接口
启动 SurrealDB 服务以后,它会提供一些服务接口,通过这些接口可以执行声明,登录与注册等。我们可以使用 HTTP 客户端请求使用这些接口,比如请求它的 sql 接口,可以直接执行查询声明来处理数据。在宁皓网将要发布的 SurrealDB 课程中,我们会用 SurrealDB 重新表达在 Node.js 应用开发课程里实现的一些接口,简单程度会让你感到意外。
复杂关系
如果你是关系型数据库的用户,各种数据表的拼接(join),处理复杂关系的时候一定会让你头痛到炸裂。在 SurrealDB 这里,我们可以完全忘记数据表拼接,这只需要说明一下需要载入的关系即可。另外 SurrealDB 可以让我们在数据之间建立复杂的图形关系(graph),可以解决更为复杂的应用需求,比如获取到所有关注用户所发布的内容列表。在我们的 SurrealDB 课程里会介绍如何建立与使用复杂的数据关系。
权限控制
SurrealDB 内置了一套权限控制系统,可能配置用户在不同层级的权限,这个层级包括:系统、命名空间、数据库、数据表与字段,这也就意味着你可以定义一个用户对于某个数据字段的权限。这套权限控制系统,再加上 SurrealDB 的服务接口,可以让我们在前端、移动端应用里直接请求使用 SurrealDB 提供的数据服务。我们会在 SurrealDB 的课程里介绍这套权限控制系统,比如定义权限、用户的注册与登录,验证三方服务的令牌等等。
总结
SurrealDB 让我们重新思考后端应用,因为很多事情不再需要我们自己单独定义后端服务接口了, 可以直接交给 SurrealDB 来处理。现在订阅宁皓网,即可立即在线学习使用 SurrealDB 快速构建应用,这个系列课程将在每周一更新,掌握这套数据库就值回今年的票价了 :)
Web 应用界面实践(训练营)
我们在全栈训练营手写了一个前端应用项目,没有使用任何样式与组件库,可以让大伙更好地理解应用界面的构成,减小对三方库的依赖,解决更复杂的需要。有同学反应这部分内容很好,但就是有时候不知道自己写的样式是什么意思,所以经常需要查看宁皓网或其它平台的相关资料。
今年我们为训练营的同学重制了一套 Web 界面实践系列的视频(下周三开始发布),可以帮大家从最基本的地方开始练习。比如怎么写标签,如何在界面上使用样式,样式的写法与规则,如何布局界面,理解如何使用浏览器提供的文档接口处理界面,如何使用 Web 接口等等。今年刚刚参加训练营的同学,推荐可以跟随这个系列做训练,这会辅助您理解在后面我们要用的 Web 前端应用框架(Vue、React、Nuxt、Next ... )。
总结
Web 应用开发是最值得学习与掌握的一项技术。Web 应用是必需品,尤其是在专业领域,比如企业、银行、政府部门内部的系统,一些服务于专业人士的软件工具等等,这都离不开 Web 应用。Web 应用界面实践这个系列的训练,可以辅助您打好基础,理解一些关键的概念,掌握基础工具与方法等等。
订阅与报名
订阅宁皓网,现在就开始学习使用强大的 SurrealDB ,快速且方便地构建软件应用。报名参加独立开发者训练营,清晰且系统地掌握应用开发知识框架与能力,得到人工辅助,加速启动您的软件事业。