商汇粹外网资源平台

搜索
查看: 1511|回复: 5

你们或你们的团队为什么抛弃了jQuery,转向了angularJS等框架? ...

[复制链接]

该用户从未签到

1

主题

6

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2022-10-6 12:15:08 | 显示全部楼层 |阅读模式
如题。

jQuery的性能是不是仅次于原生JS ,优于其他框架?
回复

使用道具 举报

该用户从未签到

10

主题

128

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 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 - 掘金
了解更多关于前端框架的内容:
前端框架 - 掘金
回复

使用道具 举报

该用户从未签到

4

主题

29

帖子

104

积分

注册会员

Rank: 2

积分
104
发表于 2022-10-6 12:51:48 | 显示全部楼层
没有用angular 用的是Vue
没有完全弃用 勉强所说看法
---------------
Vue 是数据驱动的MVVM 框架
我的逻辑,操作数据就好了,View(DOM)会随着数据变化而变化,操作数据,维护数据多简单,DOM操作,好像没用到
ajax 用fetch 就好了
能用ES6的地方用ES6。 ES6 不够 鲁大师(lodash)来凑 。
---------------
没有完全弃用是因为,1 高密度操作DOM的还是得Jquery  绚丽轮播图什么的  2 虽然一直灌输数据驱动,但是团队小伙伴水平不一 还是Jquery 手顺。做为领头人还不能把小伙伴掰弯,怪我。。。

稀土团队是禁用插件的,我来邀请明明,嘉文吧
回复

使用道具 举报

该用户从未签到

5

主题

41

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2022-10-6 13:10:08 | 显示全部楼层
泻药
私以为软件工程的发展如果不是为了解决开发效率的问题,那都是在玩概念瞎忽悠
前端自不例外
新框架新技术无非就是为了更好更快的解决问题,即提高开发效率
开发效率包括后期维护成本、多人协作成本、系统拓展成本等,不只是你敲键盘的时间
“xxx我用的熟切到xxx只会降低我的开发效率”的言论就不要出现了
当时我司选择切到angular自然也是出于提升开发效率的考虑
至于性能,除非移动端,你在js层写出性能问题其实也蛮不容易的,相信我即便出现了也通常不是angular的锅。当然你说angular在out of box这一点上做的不够好这我也是同意的
以上
回复

使用道具 举报

该用户从未签到

4

主题

29

帖子

104

积分

注册会员

Rank: 2

积分
104
发表于 2022-10-6 13:28:28 | 显示全部楼层
jQuery不是框架只是个库而已啊……所以不存在抛不抛弃的问题。ˊ_>ˋ
回复

使用道具 举报

该用户从未签到

2

主题

7

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2022-10-6 13:46:48 | 显示全部楼层
先说说自己为什么要放弃使用jQuery吧,随着标准的日益统一和设备的性能提升,从技术场景的实现来看,Web应用正变得越来越复杂。jQuery是有一定历史意义的,而且现在它的发展生态也比较完善。唯一的缺点,是它的的结构并不是太合理,它的生态参差不齐,实现的方式各有不同。而且,它所提供的功能,在某种程度上来看,都出现了更好的替代品。
$符号来筛选获取元素对象,而现在大部分浏览器都支持了querySelector。它的工具函数库,也有了lodash来代替。它的动画处理,有animate.css。它的网络请求,也出现了fetch Api。当我们发现随着应用的日益复杂,满屏的$符号,特别是各式各样灵活的写法,是极其难以维护的。于是,有了框架。框架,在一定的层面上,通过编程风格,生命周期的方式来统一了写法,提高了健壮和维护的可能性。
当你开始使用框架时,你发现这些框架都存在着帮助你处理DOM,事件的API,这时候jQuery最大的优势反而有些鸡肋。因为你再也用到$符号来获取DOM对象,on来监听事件。于是,你满满转身,离开了jQuery的怀抱。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表