React框架终于成熟React,通常被称为MVC中的“V”,既受益于固执己见的框架,也遭受着缺乏固执己见的框架的困扰。多年过去了,我们还没有看到整个行业在一个堆栈、架构或工具链上团结起来。虽然这种灵活性无疑有助于它的流行,但2021年可能是我们最终看到此类框架成熟的一年。在过去的一年里,Vercel公司继续主导React领域,完善其框架Next.js和他们自己的服务套件,同时推出电子商务入门工具包和分析工具:https://nextjs.org/commercehttps://nextjs.org/analytics并举办了他们迄今为止最大的虚拟会议。Next虽然由来已久,造轮子也练了很久,但是功能丰富全面的做法并不适合所有人(译者注,原装batteries-included,这个词出自Python语言,是指CPython的正式发布版本自带了一个比较完整的软件库,可以直接用来写程序,一般不需要安装额外的库,类似于买一个电动玩具,带一个内置电池,拆卸后可以轻松组装(可用),但去年终于发布的v10出奇的稳定,终于采用了子路径路由:https://www.nextjs.cn/docs/advanced-features/i18n-routingVercel公司正试图通过他们最新的主题演讲来宣传产品,包括“drops”。https://nextjs.org/blog/next-10今年,新的闭源React框架Remix悄然推出了“backerpreview”。Remix是由Jackson和Florence这两位社区大牛创建的。他们在ReactRouter中成名,并采取了与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结合了CSSmin/max/clamp和JSResiveObserver等API,提供了一种更好的方式来“伪装”。在过去的几个月里,这些类型的实施已经增长(甚至可能是危险的?),并且很难想象这种趋势明年会停止。译者注,ResiveObserver是一个实验性的特性,类似于document.onresize,ResiveObserver可以监听Element的内容区域或者SVGElement的boundingbox的变化。避免在自己的回调中调整大小,触发无限回调和循环依赖。这只能通过在后续帧中处理DOM中更深的元素来实现。请参阅:https://developer.mozilla.org/zh-CN/docs/Web/API/ResizeObserver我希望我们能看到更智能的方法来处理容器优先设计,例如Mathias的Raven和Heydon的WatchedBox。WASMExplosionWebAssembly发展缓慢,很大程度上是因为它过于专业化(“如果你需要它,你就会知道”)。然而,到2021年,我们可能会看到这种转变。随着前端开发人员的角色走向“全栈”领域,我们开始看到越来越多的工程师采用较低级别的系统语言,例如Rust,目前正在大肆宣传:https://twitter.com/nadavrot/status/1319003839018614784因此,我们看到Yew和Seed.rs等基于WASM的解决方案进入前端框架。得益于Rust提供的性能和安全性,2021年可能是WASM大规模繁荣的一年。https://wingolog.org/archives/2020/10/15/on-binary-security-of-webassembly我们距离这些大公司的热点还有很长的路要走,但我相信2021年将会看到采用率的激增.几乎达成共识(译者注,原来monolith,giantstone,一个单一的庞大组织,这里是前端采用的技术栈可以达成共识)业界对分布式服务和细心划分职责的热爱仍在继续,并且已经超越了后端端(如微服务https://www.browserlondon.com/blog/2019/07/01/do-you-need-microservices),并在2019年达到顶峰,推出了微前端(也是被诟病又被喜爱).Unix哲学的架构方法仍然是有限的,至少在技术报告和媒体文章领域是这样。在过去的几年中,微服务的广泛使用需要诸如前端后端之类的模式,它在每??个客户端和为其提供服务的API之间引入了一个中介。-BFF充当“粘合剂”,是客户的单一联系点。这允许使用该服务的客户变得一致(并且很合适)。这在2021年尤为重要,鉴于当前对JAMStack的兴趣,JAMStack是一个新兴的技术概念,与以前的服务器端渲染不同,它使用JS脚本、API服务接口和标记模板。直接使用CDN分发静态页面,完全不渲染页面,最大程度保证网站的扩展性和稳定性。)是最复杂的,受服务依赖性影响:https://www.browserlondon.com/blog/2020/04/20/issues-with-jamstack-you-might-need-backendhttps://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-citadelDHHofBasecamp毫无疑问,这个“Majestic”Monolith(他最近推出了嘿,另一个传统网络应用程序)最强大的支持者之一将领导该操作。总结有趣的是,前端最大的发展方向不太可能是平时的重点。早在我们2019年的预测中,我们就注意到前端开发人员的角色正在越来越多地向“全栈”转变,事实证明这是真的。随着我们越来越关注数据获取、并发性、安全性和可扩展性,甚至我们框架和工具的发展也表明了这一点。这是一个自然的交集,前端工程师面临着越来越多的“后端”问题,而工具和服务也变得足够复杂以降低进入门槛。这是一场完美风暴,我希望它能持续到2021年。
