前端框架的性能什么的真的有意义吗?

2018-06-11 09:54:56 +08:00
 vevlins

各种轮子都喜欢放自己的各种性能指标,但是实际工作中有真的遇到性能瓶颈吗?

长列表会遇到?

3004 次点击
所在节点    前端开发
22 条回复
Mrun
2018-06-11 10:13:06 +08:00
前端对性能要求的场景在实际项目中,见的少。但是代码不就追求这样么
chairuosen
2018-06-11 10:16:31 +08:00
那是你没写过复杂项目。。。
murmur
2018-06-11 10:17:50 +08:00
自从各种 mvvm 开始用性能就已经扔一边去了
正常的前端应用还主要在渲染上 少刷新 dom 少放东西就是王道
包括大数据图表都可以通过抽点解决问题 大列表也可以假拖动
真的出性能问题 游戏的话都上引擎做 app 了 可能视频类带特效弹幕是最容易出性能问题吧
vevlins
2018-06-11 13:29:38 +08:00
@chairuosen 所以复杂到有性能瓶颈的项目都是什么样的
dorentus
2018-06-11 13:32:09 +08:00
话说 Google 为了解决 Gmail 的性能瓶颈,搞出了 v8 …
xmadi
2018-06-11 13:35:27 +08:00
遇不到
feverzsj
2018-06-11 13:42:42 +08:00
追求性能的不会用框架,特别是 mvvm,完全和性能背道而驰的设计理念
geelaw
2018-06-11 13:49:17 +08:00
@dorentus #5 这个说法的根据是啥?从逻辑思考这个想法不是很站得住脚,即使 Google 自己的 JavaScript 引擎解决了 Gmail 的性能问题,如果 Gmail 自己不改善代码,它在其他的浏览器上的性能也没有保障——但是 Gmail 网页版本来就是要让所有的人都能轻松访问 Gmail,如果限制在 Google 的浏览器上,何不推出 Google 自己的客户端来访问(反正,都是 Google 的软件,不差这一个)?
luoway
2018-06-11 14:03:20 +08:00
@feverzsj mvvm 和性能背道而驰是因为频繁操作 DOM,很多 mvvm 框架都优化过其操作 DOM 的频次和范围,并不是主要的性能问题。

图表数据可视化方面的需求是性能重灾区,而图表本身的复杂度也导致许多中小公司开发人员依赖前端框架,那么框架性能问题就有意义了。
LeungJZ
2018-06-11 14:18:45 +08:00
当遇上超大数据量的滚动 table,左滚右滚的那种。
当遇上大数据量的图表展示,还特么的五彩斑斓还会动的那种。


当遇上
$(xxx).css();
$(xxx).html();
$(xxx).data(xx, yyyy);
$(xxx).on(click, func1);
$(xxx).on(click, func2);
打死不缓存系列这种。
murmur
2018-06-11 14:29:39 +08:00
@luoway batch insert 了解下 模板渲染插入一气呵成,但是 mvvm 你每个节点都要绑定又蜕化成一个一个插入的年代
whypool
2018-06-11 15:37:32 +08:00
除了吹没什么卵用

还有说操作 DOM 是浪费渲染时间开销大什么的,来来来,你说一个不操作 DOM 的办法

还有说 JQ 操作 DOM 性能差,那也只能呵呵了,性能差换电脑啊

还有说渲染大数据列表慢,这个慢相对于服务器响应和网络传输,基本忽略不计,是微服务查询发送 10w 条数据慢还是渲染 10w 个 dom 慢心里没点 B 数么

还有说用 mvvm 操作数据绑定 dom 快,什么虚拟 dom 缓存什么的,缓存确实可以提高一下效率,但是,你把 JS 执行的时间和消耗的内存算上去,和原生操作 dom 对比一下,谁快谁慢还不一定呢

前端谈性能是没啥意义的,因为可以从设计层面规避性能问题,比如渲染 1000w 列表,而且很多东西都不能控制,比如 dom 的渲染层级,浏览器的缓存等,虽然很多大佬甚至各种框架都在谈渲染效率,但那也只是作为一个参数看看就行,不止前端,包括所有客户端的执行效率都是和配置相关,代码提升效率只是次要的,虽然有黑科技提高效率,但是依然不能把 1FPS 的吃鸡提升到 60FPS
luoway
2018-06-11 15:43:13 +08:00
@whypool
> 包括所有客户端的执行效率都是和配置相关
那你觉得安卓淘宝、支付宝那么卡,是因为接口慢吗?
murmur
2018-06-11 15:45:04 +08:00
@luoway 那是因为你启动的不是淘宝或者支付宝,是阿里的全家桶以及所有能跟支付宝沾边的东西
Foolt
2018-06-11 15:45:38 +08:00
框架渲染效率提高,最大的受益者不是用户,而是前端开发,渲染效率提高了意味着你那坨屎一样的代码不用专门优化速度也不会太慢。
autoxbc
2018-06-11 15:52:55 +08:00
其实大家说来说去都不是重点,我来说点关键的:浪费的是用户的电和时间,所以开发者和公司不在乎
yhxx
2018-06-11 15:57:44 +08:00
@whypool 操作 DOM 说的是频繁操作会有性能问题

列表那里,是大量数据会导致卡,不是慢
luoway
2018-06-11 16:05:20 +08:00
@murmur 原来如此。这说明客户端是可以做到性能负优化的。
371657110
2018-06-11 16:09:58 +08:00
卡就换电脑啊
learnshare
2018-06-11 16:24:28 +08:00
对实现需求和开发效率的要求比性能高太多了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/462058

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX