Blog

Blog

PHODAL

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

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

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

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

微害架构

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

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

整洁架构

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

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

万物代码化

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

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

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

研发的未来

你觉得会是怎样的?


或许您还需要下面的文章:

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《全栈应用开发:精益实践》

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签