大家好,我卡颂。
近几年,前端畛域呈现了很多新框架,比方Svelte
、 Solid.js
、Astro
、Qwik
等。
随同他们呈现的,还有很多高大上的新概念 —— 运行时/编译时框架、Islands架构、Selective Hydration……
这些概念的实质,就是通过各种形式,让页面更快。
这里的快次要包含两方面:
- 让
HTML
加载更快(一众和SSR
相干的概念与此有关,比方Islands架构) - 更快响应交互(一众采纳细粒度更新的框架与此有关,比方
Vue
、Solid.js
)
然而,快就是评估Web
将来倒退方向的唯一标准么?
一位有32年开发教训的老程序员在他的博文get-in-zoomer-we-re-saving-react中提出了不同的观点。
本文是对该博文的局部解读。
欢送退出人类高质量前端框架群,带飞
对利用来说,什么才是重要的?
下面提到,当初前端框架的新个性,是通过各种形式,让页面更快。
这里的主语是页面而不是利用。
事实上,尽管开发者常常议论Web App
,但大部分开发者开发的,只能称为页面。
页面与利用的一大差异,就是交互体验的差别。
如果一个页面中某些交互相似IOS
原生利用,咱们会说这个页面交互做的很棒。
所以,尽管速度快是交互体验中重要的一环,但绝不是全副,还有大量细节值得思考。
以业界用户体验的标杆Mac OS
举例:
- 在
Mac OS
中,关上利用的状态栏时,按住command + option之类的快捷键可能开启进阶性能:
- 撤回(command + z)操作的后果对各种操作指标都是合乎预期的(不论指标是文本还是文件等)
- 富文本内容的复制、粘贴与富文本内容通过拖拽的体现统一
做过富文本编辑器的同学应该能感触到上述性能的难度
上述这些合乎预期的细节背地,是一套响应式零碎。
响应式零碎
Mac OS X
是第一款宣称本人为响应式的操作系统。在此之前,业界的效仿对象是Windows
操作系统。
在Windows
中,数据是非响应式的。除非开发者手动刷新或者轮询更新,否则获取的数据不会自动更新。
这种底层模式对下层利用的操作会有直观的影响。
比方,上面是Windows 95
中扭转桌面外观的配置项,用户扭转配置后,只有在点击OK或Apply后,能力看到扭转配置后的成果。
这一状况,有些相似前端框架遍及前,开发者手动操作DOM
的状况。
相比于Windows
,Mac OS X
则采纳响应式更新,在Mac OS
中的很多配置项扭转后用户可能立即看到成果。
这一状况,相似开发者应用前端框架后,状态变动可能主动触发视图更新。
操作系统的演进,对前端框架倒退是有借鉴意义的。
前面的故事正如下面所说,Mac OS X
的倒退方向是为了更好的用户体验,打磨各种细节,而前端框架的倒退方向是更快。
前端框架走歪了么?
React 并发个性应该是往年前端畛域比拟热门的话题了。
然而,从社区对于并发个性的文章看,相比于应用并发个性并从中获益,更多文章是对于并发个性的科普,以及解释他造成的影响。
从这个角度看,并发个性仿佛叫好不叫座。
如果从更广的范畴思考用户体验,React
可不可以有其余倒退方向呢?
比方,以后间断事件(Continuous Events
,指间断触发的事件,比方鼠标事件、滚动事件)触发的频率、速度通常比 React
从新渲染的速度要快,容易造成不好的用户体验。
通常的解决方案是应用ref
。换句话说,就是降级到手动操作DOM
。这里是不是有很大优化空间呢?
除了React
外,其余框架是不是也能从这个角度思考倒退方向呢?
你认为前端框架的倒退方向走歪了么?
发表回复