Serverless 越来越火,无代码编程也提上了议程,还有云开发也在风口浪尖。那么,未来会是怎样的呢?
最近,可能因为 Ledge、可能因为我写的文章,我和各种各样的人交流起了未来的软件开发,有腾讯云的,有阿里云的,有华为云的,还有各种各样的公司相关的项目,所以我整理了我关于未来软件的一些思考。
因为我懒得画,所以就用我最近画的一张图:
让我们先从低代码开始——最近特别火的一个技术。
无代码/低代码是一种创建应用的方法,它可以让开发人员使用最少的编码知识,来快速开发应用程序。它可以在图形界面中,使用可视化建模的方式,来组装和配置应用程序。开发人员可以直接跳过所有的基础架构,只关注于使用代码来实现业务逻辑。
而为了支撑起低代码编程,我们需要一系列的基础设施:微前端、微服务、APP 插件化、Serverless 等等。从这个目标,倒推我们需要这么一系列的技术。
所以,你可以从我一年多前写的文章来了解要怎么去实现,GitHub: https://github.com/phodal/lowcode
云研发,是一种生于云上的闭环 + 代码化的软件开发方式。它可以让业务人员、开发人员、运营人员等在同一个云端共同协作、透明化地完成整个软件的生命周期(需求、设计、编码、构建、部署、运营),而非相互隔离,又或者是借助于多个软件才能完成工作。
在现在的各种云厂商里,如腾讯、阿里等,都是叫『云开发』,从开发视角来看待的。而我个人偏向于从全局来优先整个流程。于是我写了《云研发:研发即代码》:
GitHub: https://github.com/phodal/cloud-dev
微服务已经相当流行了,而为了支撑起云研发这种在云端的开发模式。开发人员需要一种更友好的浏览器端集成,这种模式就是『微前端』。
微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。
除了看我在 GitHub 上写得长长的『微前端的那些事儿』: https://github.com/phodal/microfrontends
还可以看看那篇:『 微前端如何落地 』
三年前,我开始玩了 Serverless,对这个轻量级的后端架构颇为感兴趣,只需要在本地敲入几个字符,即可完成部署。
为此,三年前我写了一个相关的指南(考虑到这是一个电子书的长度,我建议你收藏一下。),见: http://serverless.ink/ ,这里大家可以去看看。
“微” 害架构,即微架构以不合理的方式运行着,其表现形式不适当地采用 “微架构”(微服务、APP 插件化、微前端等)技术拆分臃肿的单体应用,导致软件架构进一步复杂化、难以维护,使得原本具有优势的微架构微微出现一些问题。
随着微架构的流行,现在、哪至未来,会有更多的微架构应用开发得相关的不合理,这里就附上我两年前写的:『"微" 害架构』。
对于那些想治理后端服务架构的混乱问题,我们建议大家可以考虑使用 Robert C. Martin 提出的整洁架构。
对于后端开发人员来说,可以考虑《架构整洁之道》。前端开发人员则可以参考我写的『整洁前端架构』: https://github.com/phodal/clean-frontend
让我们在回到云研发的那个问题上,未来的云研发必然需要一系列的代码化。所以,我开始研究如何进行『万物即代码』。在这一个系统中,我已经写了相关的实践,如何对代码进行建模等。
GitHub 持续更新中: https://github.com/phodal/ascode.ink
最近的一篇文章是『文档代码化』。
你觉得会是怎样的?