不得不说现在的前端应用越来越卡,越来越臃肿了

2018-12-10 16:57:37 +08:00
 nohup

公司最近招了个前端,我是写 Python 后台的,他主要负责前端,主要就是做企业工具类的,放在外网给合作伙伴的业务人员用。
几个月下来开发过程中也没什么问题,那个前端最后开发倒是开发出来了,但是就是体积有点爆炸,6MB+的体积,经过 nginx 压缩也只能 5MB 的样子。我很纳闷不就几个页面吗?登录页、图表、表格,功能页也就二十来个,讲道理应该也没什么东西吧,他用的好像是 raect,吹的还很牛 B,什么单页面应用,函数式编程,组件化模块化。
然而每次打开页面都要等个半分钟,我们外网的小水管支撑不了这么多 4MB+的一次性请求,有时候用户用着不爽了干脆就投诉到我们老总了,搞得我每次都很尴尬。他们的投诉理由是服务器响应慢、当机了。。老总也天天问我怎么回事,能不能搞定,我说这是前端的问题他不信。。。
所以不得不感叹,现在的前端发展路线是不是走歪了?我记得以前我写个 login.html 效果贼漂亮,2s 就加载进来了,我该如何和前端沟通?是不是技术选型上这个 raect 不太合适呢?

7866 次点击
所在节点    前端开发
65 条回复
yhxx
2018-12-10 17:49:38 +08:00
“我们外网的小水管支撑不了这么多 4MB+的一次性请求”

这么大的文件居然没有 CDN ?运维是不是也要分点锅(手动滑稽
duan602728596
2018-12-10 18:05:13 +08:00
水不是问题,问题是俩人居然都不好好找找问题
gamexg
2018-12-10 18:07:32 +08:00
后端,临时学习 vue 写了个后台,带图表,整个也 2M,压缩只有 1M 多。
wanghao2018
2018-12-10 18:08:19 +08:00
用浏览器打开 network 看看哪一块体积大,分析分析啊 , 哪有 6 兆的网站...
xichengh
2018-12-10 18:13:43 +08:00
只能说你们的前端菜。。。
Biwood
2018-12-10 18:20:52 +08:00
五线小厂,九流程序员的日常
v2chou
2018-12-10 18:26:00 +08:00
让他优化 还有 gizp 压缩后怎么还有这么大
VDimos
2018-12-10 18:29:15 +08:00
这事儿 react 不背锅,世界上那么多大型网站都运行在 react 上,从你们的程序员身上找问题
bestkayle
2018-12-10 18:31:08 +08:00
比我们这个好多了,我司前端不会写网络请求…… js 一律不会,招人又不让我给面试
Heavytiger
2018-12-10 18:31:19 +08:00
我移动端,也做过 react。页面打开很快,就是请求 API 要慢点。感觉应该是后端 API 的问题。因为页面要等 api 返回数据,你半天不返回,你怪前端,这就不应该了。我就遇到过这个问题。上家公司,就找我,我把 api 请求时间发过去,10 几秒,立马就不找我了。
no1xsyzy
2018-12-10 18:33:35 +08:00
SPA 的话 6M 一般大小,主要还是
1. 按需加载(由 Webpack 提供,楼上几位说 Vue 只是因为 Vue 特地说了这点(难道说 Vue 写出来经常比 React 大所以……));
2. 分发机制( CDN,现在家用 20Mbps 打底吧…… 6/(20/8)= 2.4 两秒内没有任何问题)。
其中技术含量(难度) 1>2,体验优化 2>1。不过 1 能给 2 省钱。
但还有……没有设计渐进体验吗?—— NoScript 用户感

@yhxx 因为打包出来的 dist 6M 是已经混淆过的,函数命名都是单字母,信息量并不高,主要压缩掉的都是 `function(){` 和 `","`。说不定是因为假的函数式编程,所以 `function(){` 少了,能压缩的就不多了。
sammo
2018-12-10 18:35:59 +08:00
古典软件工程,追求的是 高性能、节省内存、节省硬盘空间、软件体积小。典型的就是 CHKenPlayer,一个不到 100KB 的软件 可以播放各种音频还有流媒体。

—— 内存不就是拿来用的?
—— 硬盘加钱
—— 上 SSD 阿
—— 摩尔定律阿 旧机器就是要淘汰的
—— 升级你的系统阿

这是你会听到的。当然 他们早就被看透了,也是不可能摧毁到对于古典软件工程真正有追求的人的,但是他们会稀释掉这个 “盘子” ,稀释的结果就是 改变人们对于 “古典软件工程” 的看法。当然 对于古典软件工程真正有追求的人 是不在意的,因为他们知道这是怎么回事。 —— 但是,在软件使用领域,一股 “消费、购买、系统升级” 的风气,逐渐弥漫开来 ——就像 当一群起哄的人坐在整个教室里的座位上,那么只能迎来更多乐于起哄的老师。当然,对于古典软件工程真正有追求的人 是不会被 劣币驱逐良币的,但 当那些人成为了 “老师” 的时候 ( 甚至所谓了借助开源的噱头 ) ,那么 在软件使用领域,可想而知,发展方向会如何
sammo
2018-12-10 18:39:58 +08:00
甚至所谓了借助开源的噱头 -> 甚至借助了所谓的‘开源’的噱头
ayase252
2018-12-10 18:52:03 +08:00
性能优化这方面要具体问题具体分析吧。像从减少体积方面就有代码分离和模块懒加载可以搞事情。
feverzsj
2018-12-10 18:53:07 +08:00
还有比阿里系更卡的前端吗?
RqPS6rhmP3Nyn3Tm
2018-12-10 18:58:58 +08:00
程序员水平肯定是越来越下降的啊,毕竟程序员的时间比电脑贵。上古时代的程序员我是真的敬佩,那帮做 8bit 游戏的,都是魔鬼吧
ccbikai
2018-12-10 19:03:32 +08:00
是你同事技术不行
moocean
2018-12-10 19:10:19 +08:00
我打包之后 20 兆,按需加载也很快啊,我们后台不会 gzip,哎
wly19960911
2018-12-10 19:20:09 +08:00
@BXIA #36 8bit 游戏的的确牛逼,还一个是 8bit 音乐的,因为他们不仅要会音乐,而且还要会汇编......
yhxx
2018-12-10 19:22:24 +08:00
@no1xsyzy 我说的是 nginx 层面的压缩
打包后 6M 大的 js 文件,到用户这里看到的正常情况下应该是在 2M 以内的


话说被投诉这么多,没什么改进措施?

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

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

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

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

© 2021 V2EX