28

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

 4 years ago
source link: http://www.phodal.com/blog/8-articles-about-development-in-future/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

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

future-development.png

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

低代码编程

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

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

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

云研发

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

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

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

微架构

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

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

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

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

Serverless

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

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

微害架构

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

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

整洁架构

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

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

万物代码化

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

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

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

研发的未来

你觉得会是怎样的?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK