|
|
发表于 2022-10-6 12:33:28
|
显示全部楼层
泻药
我先说为什么放弃 jQuery 吧
- 原生 JavaScript 越来越强大
- 移动浏览器兼容性问题减少,使得 jQuery 兼容性方面的优势不再凸显
- 网站业务越来越复杂,人们需要更强大的框架来支撑业务,而 jQuery 及其衍生库都无法完成
- jQuery 的开源生态是一个一个的交互组件,但是结构性不强,代码质量不好
---
大家到底是怎么看待 jQuery 的呢?
- 85%:拿 DOM 的 $('___') 函数 + 事件绑定
- 10%:Utility 函数库,要啥有啥
- 4%:写一个有很多交互的前端页面所要用到的底层库
- 1%:一种编程语言
大多数几年前开始学习前端的人看待 jQuery 就像是一种 JS 在网页中开发的标配工具,它虽然没有 loadash / underscore 这么工具化,但是基本上就是被看成了 JS 扩展式的存在。
因此,太少人把它看做是一种写复杂业务逻辑的框架,它也并没有被设计来做这个事情。随着需求越来越丰富,我们在网页里可以看股票行情了、可以打游戏了、可以画画了、可以直播了,它的价值毫无疑问就被取代了。
---
最后给 jQuery 正名一下
- 它依旧是使用率最高的库
- 它就像是一个古老氏族的血脉,很多新的氏族(活跃的库)都有它的血缘,因此不会被快速抛弃
- 它在兼容性上的贡献,我们看不到,也不 care,却价值巨大
- jQuery 其实是我们这一批在学生时代自学前端的人的小回忆呢!
---
哦,刚看到
@寇云
邀请我是因为我禁止前端使用 jQuery,那我再补充一下原因:
- 大多数人用 jQuery 只用几个功能,而原生 JS、ES6 都可以把这几个功能实现好
- $('____') => document.querySelectorAll('____')
- each / map / reduce / ... => Array.prototype.____
- .click / .mouseenter => .addEventListener
- deferred => Promise
- $.ajax / $.post / $.get => 各种其他解决方案
- You-Dont-Need-jQuery: Examples of how to do query, style, dom, ajax, event etc like jQuery with plain javascript.
- 网站前端业务复杂,因此用了 Vue.js 实现,因此 DOM 数据渲染部分完全解决
- 我们不兼容 IE9 以下浏览器,✌️✌️✌️
- 用 jQuery 实现的插件代码质量一般都不好(包括 5000+ star 的),用 Vue 重写一遍不难
了解更多关于 jQuery 的内容:
jQuery - 掘金
了解更多关于前端框架的内容:
前端框架 - 掘金 |
|