前端 react 生态,前后端 API 接口以及程序设计

生生的拼凑出一个标题,用以概括今天学到的一些新知识,尤其是一些新理念。

作为一名刚入门的后端,总是有学习前端的想法,所以今天正儿八经的了解了一番 react 生态下的一些前端概念:

总的来说,前端这些工具的目标都在于更高效、有序的实现复杂单页面应用的开发。其中最核心的思想到最后竟然落到了函数式编程思想上:数据不可变与函数无副作用。

借此机会,也了解到一种新的 API 通讯协议:GraphQL。看着名字猜测,也是和查询有关。目前前后端分离的主流 API 通讯协议是 REST 风格,虽然是以资源为核心,但依旧有着浓厚的 WEB1.0 时代的思想痕迹:严重依赖于 HTTP 动词。GraphQL 的出现,标志着 API 通讯协议也开始朝着前后端分离的方向演进:直接将具体的查询和增改删方式用一种简单的语言明确的写在 URL 中。这不就是相当于把一部分服务端的 API 实现前置到前端吗?

说白了,REST 风格的 URL 虽然是以资源为核心,但是资源具体的呈现方式还是完全由后端决定,前端只能通过接口文档来事先得知某个 API 返回的具体数据结构。

也许,GraphQL 真是未来,至少很有可能。

最后,在复习 SICP 一书时,获知了一个重要认知:

在控制系统复杂性时,除了过程抽象,数据抽象,以及模块化之外,建立一种新的语言,也是一种方法,而且是最强有力的方法。

由此看来,在本质上,每一种框架,都是一种新语言。只不过不够基本,是面向特定问题的特定语言。因此,学习框架时,最为重要的是框架背后所蕴含的解决问题的设计方法与原则,立于方法和原则之上,再结合框架所要解决的具体问题场景,方能以最快速,也最扎实的方式掌握其根本,并有能力主动趋利避害。

在这一点上,近几年的前端框架演化之路,充分证明了这一点。


不知是该恭喜,还是该怎样,总之阅读到该文的,你是第 人。每一次刷新,都是不同的自己。