这 8 篇文章告诉你:未来的软件研发是怎样的?

Serverless 越来越火,无代码编程也提上了议程,还有云开发也在风口浪尖。那么,未来会是怎样的呢?

最近,可能因为 Ledge、可能因为我写的文章,我和各种各样的人交流起了未来的软件开发,有腾讯云的,有阿里云的,有华为云的,还有各种各样的公司相关的项目,所以我整理了我关于未来软件的一些思考。

因为我懒得画,所以就用我最近画的一张图:

这 8 篇文章告诉你:未来的软件研发是怎样的?

让我们先从低代码开始——最近特别火的一个技术。

低代码编程

无代码/低代码是一种创建应用的方法,它可以让开发人员使用最少的编码知识,来快速开发应用程序。它可以在图形界面中,使用可视化建模的方式,来组装和配置应用程序。开发人员可以直接跳过所有的基础架构,只关注于使用代码来实现业务逻辑。

而为了支撑起低代码编程,我们需要一系列的基础设施:微前端、微服务、APP 插件化、Serverless 等等。从这个目标,倒推我们需要这么一系列的技术。

所以,你可以从我一年多前写的文章来了解要怎么去实现,GitHub:https://github.com/phodal/lowcode

微信内链接:《无代码编程》

云研发

云研发,是一种生于云上的闭环 + 代码化的软件开发方式。它可以让业务人员、开发人员、运营人员等在同一个云端共同协作、透明化地完成整个软件的生命周期(需求、设计、编码、构建、部署、运营),而非相互隔离,又或者是借助于多个软件才能完成工作。

在现在的各种云厂商里,如腾讯、阿里等,都是叫『云开发』,从开发视角来看待的。而我个人偏向于从全局来优先整个流程。于是我写了《云研发:研发即代码》:

GitHub:https://github.com/phodal/cloud-dev

微信内链接:《云开发:未来的软件开发方式》

微架构

微服务已经相当流行了,而为了支撑起云研发这种在云端的开发模式。开发人员需要一种更友好的浏览器端集成,这种模式就是『微前端』。

微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。

除了看我在 GitHub 上写得长长的『微前端的那些事儿』:https://github.com/phodal/microfrontends

还可以看看那篇:『微前端如何落地』

微信内链接:《微前端如何落地?》

Serverless

三年前,我开始玩了 Serverless,对这个轻量级的后端架构颇为感兴趣,只需要在本地敲入几个字符,即可完成部署。

为此,三年前我写了一个相关的指南(考虑到这是一个电子书的长度,我建议你收藏一下。)见:https://serverless.ink/ ,这里大家可以去看看。

微害架构

“微” 害架构,即微架构以不合理的方式运行着,其表现形式不适当地采用 “微架构”(微服务、APP 插件化、微前端等)技术拆分臃肿的单体应用,导致软件架构进一步复杂化、难以维护,使得原本具有优势的微架构微微出现一些问题。

随着微架构的流行,现在、哪至未来,会有更多的微架构应用开发得相关的不合理,这里就附上我两年前写的:『”微” 害架构』。

微信内链接:《”微” 害架构》

整洁架构

对于那些想治理后端服务架构的混乱问题,我们建议大家可以考虑使用 Robert C. Martin 提出的整洁架构。

对于后端开发人员来说,可以考虑《架构整洁之道》。前端开发人员则可以参考我写的『整洁前端架构』:https://github.com/phodal/clean-frontend

微信内链接:《整洁前端》、《整洁前端架构实施指南》

万物代码化

让我们在回到云研发的那个问题上,未来的云研发必然需要一系列的代码化。所以,我开始研究如何进行『万物即代码』。在这一个系统中,我已经写了相关的实践,如何对代码进行建模等。

GitHub 持续更新中:https://github.com/phodal/ascode.ink

最近的一篇文章是『文档代码化』。

微信内链接:《文档代码化:重塑软件开发的文档系统》

未来的软件研发是怎样的?

你觉得会是怎样的?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据