阅读 9130

时代变了,来看看你用的那些前端技术已经过时了

首先技术过时是看你当前业务的场景的。比如说有些东西是需要用在 IE6 上的,那对于大部分人开发者来说它就是一个过时的技术,但是如果你的业务还需要服务到 IE6 的用户,那么这个技术对你就还是存在价值的。

今天我们聊得过时技术只针对于大部分人,先来聊聊性能优化中已经过时的东西。

网络请求相关

自从有了 HTTP2 以后,有读者就说终于不用对文件做优化了。

这句话有对也有错。先不说 HTTP2 对于国内大部分网站来说还是个新技术,即使你的网站已经用到了 HTTP2,也最好不要放弃合并打包文件。因为这样会造成你的项目一开始可能需要加载上百个文件,虽然 HTTP2 支持多路复用,基本上没有并发限制了,但是读取文件是需要句柄的,另外你还需要对几百个文件进行 parse,这同样也会带来大量的性能损耗,所以合并文件基本还是需要的。

但是对于某些技术,比如说雪碧图这些是真的被时代抛弃了,对于大部分业务来说几乎没有使用的必要了。

曾几何时 IconFont 很火热,但如今 SVG 有绝对的优势来替换掉它。虽然它和 SVG 都是矢量图形,但是浏览器会把前者当做字体来用,字体会存在抗锯齿的问题,有时候显示的样式和你预期的会有挺大出入,另外也不支持多色。但是 SVG 就不会有这种问题,所以能上 SVG 就上 SVG 吧。

然后聊下域名发散。首先域名这玩意是需要解析 IP 的,你域名越多那么解析的时间也花的多。之前域名发散也是为了解决请求并发问题而存在的,但是上了 HTTP2 就基本没啥必要了,当然对于 HTTP1.1 来说还是需要的。

最后说说跨域。每次聊到跨域很多人都能说出一堆的解决办法,但是其实真实开发过程中你八成没用过那些东西,除了代理和 CORS 是常用的,其它基本是没啥用武之地的,其中 jsonP 更是最过时的一块内容。

代码相关

挺多性能优化文章都会说到怎么怎么写 JS 代码会带来一些性能上的提升,其实大可不必。现在浏览器对 JS 优化的越来越好,之前那些有用的技巧可能反倒会带来负优化,所以正常写代码就行,不需要去考虑那些。

再来就是兼容问题了,IE 相关的没啥好说的,比如说 css hack。另外因为浏览器不同而需要加前缀的这些东西也有 post-css 帮我们实现了,再也不用手动加各种前缀了。Babel 让我们能用上各种新的语法而不需要考虑兼容问题,即使用些并不能转成 ES5的新语法,我们也可以通过 polyfill 的方式打补丁,就是要注意有些 polyfill 会带来文件体积的大幅增大。

为啥到这里结束了呢?因为大部分能想到的我觉得都写出来了,写多了还会挨喷,所以就结束了。

以上内容基于目前的大背景得出的结论,大家如果还有什么想到的内容也可以拿出来说一下。

文章分类
前端
文章标签