2021年前端发展预测

开发 前端
早在我们2019年的预测中,我们就注意到,前端开发人员的角色正日益向“全栈”转变,已证明这是事实。接下来,我们一起来看2021年前端发展预测。

React 框架终于成熟了

React 在 MVC 中经常被称为“V”,它既受益又受困于缺乏固执己见的框架。多年过去了,我们还没有看到这个行业在一个堆栈、体系结构或工具链上联合起来。尽管这种灵活性无疑有助于其普及,但 2021 年可能是我们最终看到此类框架走向成熟的一年。

[[380726]]

在过去的一年里,Vercel 公司继续在 React 领域占据主导地位,不断完善其框架,Next.js 以及他们自成一套的服务,同时推出了一个电子商务初学者工具包和一个分析工具:

  • https://nextjs.org/commerce
  • https://nextjs.org/analytics

并举办了他们最大的虚拟会议。虽然 Next 已经出现了很长一段时间,造好轮子并经过了很久的实践,但功能大而全的方式并不适用于所有人(译者注,原文 batteries-included,这个词语源自 Python 语言,指官方发行版 CPython 自带了相当齐全的软件库,拿来就可以直接写程序,一般不需要再去安装额外的库,类似买一个电动玩具里面自带了电池一样,拆开后简单装配即可使用),但是去年最终发布的 v10,稳定性出人意料,最终采用了子路径路由:

https://www.nextjs.cn/docs/advanced-features/i18n-routing

[[380727]]

Vercel 公司正努力通过他们最新的主题演讲来宣传产品,包括“drops”。

https://nextjs.org/blog/next-10

今年,新的闭源 React 框架 Remix 悄无声息地推出了“支持者预览版”。Remix 由社区中的两位大牛 Jackson 和 Florence 创建,他们成名于 React Router,采取了不同于 Next 的方法——既有商业模式(每年收取一笔不多的许可费)也有体系概念(Remix 是一个产品,而不是一个平台)。Remix 承诺将利用更传统的技术,比如积极的 Http 缓存,重新关注基本网页,而不是倾向于静态页面生成。

https://remix.run/features

现在还为时过早——Remix 要到明年才能正式推出——而且不太可能实现像 Ember 这样的一体化工具。尽管如此,在这个长期停滞不前的领域看到事态发展还是让人耳目一新。

DOM 容器查询

(译者注,这里的容器是页面 DOM 容器,不是另一个完全不相干的 docker 容器)对容器查询的需求已经达到了狂热的程度。随着谷歌最终宣布他们的原型计划,2021 年可能是我们第一次看到。

https://groups.google.com/a/chromium.org/g/blink-dev/c/u1AKdrXhPGI/m/wrJb-unhAgAJ?pli=1

与此同时,越来越多地采用固有的网页设计:

https://www.browserlondon.com/blog/2019/08/19/should-we-still-be-selling-responsive-web-design

结合 CSS 的 min/max/clamp 和 JS 的 ResiveObserver 等 API,提供了更好的“伪装”方法。这类实现越来越多(甚至可能是危险的?)在过去的几个月里,很难想象这种趋势会在明年停止。

译者注,ResiveObserver 是一个试验特性,类似 document.onresize,ResiveObserver 可以监听到 Element 的内容区域或 SVGElement 的边界框改变。避免了在自身回调中调整大小,从而触发无限回调和循环依赖。仅通过在后续帧中处理 DOM 中更深层次的元素来实现这一点。详见:

https://developer.mozilla.org/zh-CN/docs/Web/API/ResizeObserver

我希望我们能看到更聪明的方法来接近容器的第一个设计,如 Mathias 的 Raven 和 Heydon 的 Watched Box。

WASM 爆炸

WebAssembly 的发展很缓慢,这在很大程度上是因为它太专业了(“如果需要它,你会知道的”)。然而,到 2021 年,我们可能会看到这种转变。

随着前端开发人员的角色逐渐向“全栈”领域发展,我们开始看到更多的工程师采用较低级别的系统语言,比如 Rust,尽管 Mozilla 裁员后出现了最初的不确定性,但 Rust 目前正受到空前的热捧:

https://twitter.com/nadavrot/status/1319003839018614784

因此,我们看到了基于 WASM 的解决方案,如 Yew 和 Seed.rs 进入前端框架。得益于 Rust 提供的性能和安全性,2021 年很可能是 WASM 出现大规模繁荣的一年。

https://wingolog.org/archives/2020/10/15/on-binary-security-of-webassembly

我们离这些大公司关注的热点还有很长一段路,但我相信 2021 年采用率会激增。

快要达成一致了

(译者注,原文 monolith,巨石,单一庞大的组织,这里是前端采用的技术栈可以达成一致)业界对分布式服务和精心划分责任的热爱仍在继续,已经超越了后端(比如微服务 https://www.browserlondon.com/blog/2019/07/01/do-you-need-microservices),并在 2019 年达到了顶峰,推出了微前端(同样受到诟病和喜爱的)。Unix 哲学的体系结构方法继续受到限制,至少在技术报告和媒体文章领域是如此。

在过去的几年中,微服务的广泛使用使得诸如 Backend For Frontend 之类的模式成为必要,它在每个客户机和为其提供服务的 API 之间引入了一个中介。

-BFF 充当“粘合剂”,是客户端的单一联系点。这允许使用该服务的客户端变得一致(并且非常适合)。

考虑到目前对 JAMStack 的兴趣,这一点在 2021 年尤为重要,JAMStack(译者注,JAMStack 是新兴的技术概念,区别于以往服务器端渲染,而是采用 JS 脚本、API 服务接口、Markup 模版,通常直接使用 CDN 分发静态的页面,完全不需要渲染页面,网站的伸缩性、稳定性可以得到最大的保障。)最为复杂,受到服务依赖的影响:

  • https://www.browserlondon.com/blog/2020/04/20/issues-with-jamstack-you-might-need-backend
  • https://www.browserlondon.com/blog/2020/09/02/dependency-hell-how-to-avoid-it

有趣的问题,“如何组装我的 API”的答案是:构建一个。

2021 年会看到使用 BFF 技术的有所增加,但如果运气好的话,我们也可能会看到它逐渐回归到巨石阵,或者至少会以更大的“宏观服务”:

https://twitter.com/GergelyOrosz/status/1247132806041546754

或诸如城堡之类的妥协形式缓慢撤退:

https://m.signalvnoise.com/the-majestic-monolith-can-become-the-citadel

毫无疑问,Basecamp 的 DHH,这位“雄伟”巨石最有力的支持者(他最近推出了另一款传统的网络应用 Hey)将领导这次行动。

总结

有趣的是,前端最大的发展方向不太可能是通常的关注点。早在我们 2019 年的预测中,我们就注意到,前端开发人员的角色正日益向“全栈”转变,已证明这是事实。甚至我们的框架和工具的发展也表明了这一点,我们越来越关注数据获取、并发性、安全性和可伸缩性。

这是一个自然的交汇点,前端工程师面临着越来越多的“后端”问题,而工具和服务正变得足够复杂,以降低进入壁垒。这是一场完美的风暴,我希望它能持续到 2021 年。

 

责任编辑:赵宁宁 来源: 前端之巅
相关推荐

2021-06-27 17:34:57

前端编程语言

2019-12-24 08:33:08

前端开发语言

2021-05-14 05:26:25

前端架构开发

2021-05-08 23:24:21

前端工具Web

2021-01-15 23:25:01

5G网络基站

2020-12-15 09:00:00

Kubernetes容器开发

2020-12-21 10:50:27

云计算公共云

2020-11-25 12:58:15

网络安全权限攻击

2019-07-18 15:20:22

前端技术PWA

2020-03-25 13:59:22

前端开发编程

2023-11-29 09:01:28

2020-12-31 09:56:01

5G5G网络5G终端

2019-01-07 14:46:16

前端开发调查报告

2021-09-10 10:47:58

前端开发JavaScript

2023-12-05 08:31:47

2016-01-08 14:45:40

前端技术发展方向

2017-05-08 16:17:54

前端开发工具

2020-11-19 07:07:42

前端开发代码

2020-09-02 09:00:16

CRM人工智能数据

2021-04-01 14:05:42

人工智能技术物联网
点赞
收藏

51CTO技术栈公众号