前后端一体化:前后端分离将死?( 二 )


引子 5:领域模型编译到 WASM

前后端一体化:前后端分离将死?

文章插图
考虑到并非所有的语言都能支持to  , 一种颇为有效的方式就是使用 WASM 。
或称 wasm 是一个实验性的低端编程语言 , 应用于浏览器内的客户端 。将让开发者能运用自己熟悉的编程语言编译 , 再藉虚拟机引擎在浏览器内运行 。——维基百科
我尝试将使用 Go 编写的 Coca 编译成 WASM , 但是遇到一系列的问题(我已经忘了) , 体积似乎是个问题 , 所以我尝试使用 Rust 去构建另外一种可能性 。Rust 官方提供了 Rust , 因此我可以将其集成到我现有的前端应用中 。只是呢 , 似乎还没有人会使用 Rust 去编写后端应用 。
但是 WASM 提供了一种更友好的方式 , 即我们不需要重写现有的代码 , 而是只需要添加一些代码 , 便可以将现有的后端模型代码提到给前端使用 。并且 , 与混淆后的相比 , 它看上去更加安全 —— 学习成本更高一些 。
引子 6:
前后端一体化:前后端分离将死?

文章插图
在研究和微前端的期间 , 我突然有了一点想法 , 我对于客户端领域的式架构有了一些基本的构想 , 叫: 。尽管有了一些基础的理念 , 但是还缺乏一个真实可用的 Demo , 所以我并没有定义出什么是。
起先 , 我以为无代码编程是一个方向 , 但是一研究发现并不是 。无代码编程倾向于可视化编程 , 而倾向于使用 DSL 编程 。就这一点来说 , 我便偏向于使用 Web+ WAM 技术来构建新的前端架构 。
从单体应用转向微服务架构的一大特质是 , 组件(非单指 UI 组件 , 可以视为服务)由函数调用转向了 HTTP 调用 。而进一步地将微服务的服务级别 HTTP 调用 , 细化为函数级别的 HTTP 调用 。
前后端一体化:前后端分离将死?

文章插图
对于前端领域来说 , 也是如此 。微前端将单体应用拆分一个个的独立运行前端应用 , 我们可以随意地组合这些应用 。进一步地 , 结合诸如于 Web这样的组件级方案 , 便可以将拆分细分为到 UI 组件的粒度 。我们可以使用 (HTML已遗弃) 标签从远程导入:

因此 , 在未来 , 不论是前端开发人员 , 还是开发人员 , 都可以通过集成组件的方式来开发应用 。也就是说 , 我们只需要关注于编写核心业务代码即可 , 剩下的部分可以通过一些特殊的方式来实现 。
DSL 抽象化代码
+是代码即基础设施开始的一个标志 。当代码开始作为基础设施的一部分时 , 代码便需要以某种方式才能组合到一起 。在中 , 开发人员通过配置接入服务端所使用的基础信息 。而 YAML 配置本身也是 DSL 的一种 , 缺乏灵活度 , 但是使用非常简单 。
事实上 , 这是两个选择:
但是 , 无论如何我还是如何 DSL , 它听上去有着更丰富的 KPI 。至于如何抽象化基础设计代码 , 可以参考《云研发:研发即代码》一文 。
模型复用
不论是还是  , 它们都是由函数、UI 组件变为一个独立可运行的单元 。为了与别人交互 , 它需要包含输入和输出 。而输入和输出本身是需要一个数据模型作为支撑的 , 以此才能完成整个系统的稳定性 。