作者m2380880 (半半居)
看板Ajax
标题Re: [心得] 都2017年了 学学用原生JS来操作DOM吧
时间Fri Apr 21 03:20:34 2017
先说结论,我是支持使用jq的,不管是angular、vue或是react
敝人虽然写前端的资历不深,但也经历了jq被广泛使用,直到angular出现之後开始有人
提倡抛弃jq的时期
对於这个问题,我有过很多次的思考,也写过一些原生js来比较有无jq的差异,直到最近
才得到一个自己的解答
观察一下生活周遭的事情,会发现一个奇怪的现象:一件事情发展到极致之後,就会有人
开始提倡旧的比较好,简单来说就是贵古贱今
举例来说,在精致美食发展到极致之後,就会有人跳出来提倡应该要吃生菜生肉
原因大概是我们只需要一些必要的营养素,为什麽要吃被调味过的料理,或古人就是因为
吃生食才比较不会生病,所以现代人也要吃生食等等
有没有看出跟vanilla js论点的相似之处?
我们只需要一些功能,为什麽要载入这麽多的js,或vanilla js的效能比较好,所以现代
工程师也要用vanilla js
我们可以从几个角度去评估该不该用jq:
1. jq真的有大到会造成载入负担吗?
最新版min jq的大小是90几k,但随便一个framework就破百了,所以我们是不是不该用fr
amework?
2. vanilla的效能比jq好
这我不能否认,但前提是你写出来的程式码品质比jq好,而且你可能要花几倍的时间去处
理浏览器差异,却承担更大的稳定度风险
况且现在的硬体效能越来越高的状况,真的感受得出vanilla js带来的些微差异吗?在这
点上我是非常乐观的,就像vanilla支持者乐观的相信浏览器标准有一天会统一一样
举另一个例子,各位工程师大大们是否有听过有人说「用vim的才是顶尖工程师」这样的
论点呢?或许其中也可以找到一些相似之处
最後做个总结吧,我认为jq短期内是不会消失的,我也会一直支持并使用jq,毕竟吃过好
吃的炭烧牛排之後,谁还会想吃生牛肉呢?
※ 引述《fshfsh (鱼~*)》之铭言:
: 想请问一下,我们不使用jquery而直接用js的原因是什麽呢?
: 因为少了简短的语法和兼容性
: 换来的好处是什麽呢?
: 我的想法是使用者不需要再透过cdn去下载jquery函式库 加快载入速度
: 除此以外还有什麽好处吗?
: -----
: Sent from JPTT on my Xiaomi Redmi Note 4.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.247.136.114
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1492716037.A.4D0.html
※ 编辑: m2380880 (27.247.136.114), 04/21/2017 03:22:03
1F:→ jmlntw: 学 vanilla js 并不是贬低 jq 的价值,而是清楚知道什麽情 04/21 08:07
2F:→ jmlntw: 况适合用什麽,更不是一定要选边站的问题。04/21 08:07
是的,不同食材有不同料理方式,就像生鱼片还是生的好吃
3F:推 swallowcc: 本来就不是选边站的问题,不过有些人是不给你选边,直 04/21 09:42
4F:→ swallowcc: 接把jq派打成不求上进04/21 09:42
我也是对这点感到不解,甚至某些场合或讲习听到这样批评jq我就觉得有刻意强调优越的
嫌疑了
5F:→ rarex: 大小的问题是还好 传输透过gzip压缩以後大概会再小个70%04/21 09:50
6F:→ johnny94: 同意2楼,现在有一种用jquery 就是废的诡异风气在 04/21 09:54
7F:→ xdraculax: soho 无所谓,上班族会新的就是屌就钱多04/21 09:57
8F:推 eight0: angular 那是另一回事吧,该写成 directive 的在04/21 10:50
9F:→ eight0: controller 内用 jq 做04/21 10:50
10F:推 yuxds: 应该只是说简单料理 没要求吃生菜生肉吧04/21 10:58
11F:→ Kenqr: 工具没有绝对的好坏 要看情况选择正确的工具04/21 11:15
12F:→ Kenqr: 有的情况用vanilla好 有的情况jq好 有的情况framework好04/21 11:16
13F:→ Kenqr: 但是不管什麽library或是framework 都可以搭配vanilla使用04/21 11:16
14F:→ Kenqr: 所以学好vanillla是绝对不会吃亏的04/21 11:16
15F:→ Kenqr: 只会用某个library或framework 遇到要切换时可能就吃屎了04/21 11:17
K大所言甚是,的确在爽爽用library的过程也不能停止学习这些基础,感觉前端现在最重
要的技能是以不变应万变
※ 编辑: m2380880 (27.247.136.114), 04/21/2017 12:29:20
16F:推 ghmsxtwo: 我只是要简单show data, 为什麽不让我用jq就好QQ 04/23 00:47
17F:→ y3k: 随便一张稍微像样一点的图大小都打爆JQ 这点真的是可以考量的 04/24 00:05
18F:→ y3k: 问题吗... 04/24 00:05
19F:推 Sunal: 拨接上网56k 可能很需要 04/24 07:58
20F:推 visa9527: 可以不用 framework,我肯定不会用 04/25 10:37
21F:→ vencil: 我也是可以不用就不会用 04/30 23:01