首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  前端开发

是什么原因淘汰了 jQuery?

  •  
  •   wy1993 · 27 天前 · 5844 次点击

    作为初学者,对这个问题感到困惑

    66 回复  |  直到 2019-07-01 11:52:44 +08:00
        1
    binux   27 天前
    需求变复杂了
        2
    levon   27 天前 via iPhone
    移动端富客户端
        3
    rogwan   27 天前 via Android
    后端 API 化,前端 SPA 化,虚拟 DOM。jquery 依旧是那把锋利的刀,只是现在前端上来就是集成工具箱。
        4
    SuperMild   27 天前   ♥ 2
    以前的主流是整个页面跳转刷新,后端负责把渲染好的 html 发给前端,前端用 jQuery 之类的做一些简单处理。

    后来单页面应用兴起,后端只返回 json 给前端,而前端几乎包揽了一切工作(以前业务逻辑、路由在后端,现在都移到前端了)。

    你可以试试做一个稍复杂一点的单页面应用,就能明显感受到新型前端框架的好处。
        5
    kekxv   27 天前 via Android
    别问,问就是人变懒了
        6
    shintendo   27 天前   ♥ 1
    前端以前是表单页面,现在是客户端应用,工程复杂度提高了,jQuery 的命令式编程就很难 hold 住了,需要声明式的虚拟 DOM 框架。
    写简单的活动页面还是可以的。
        7
    shintendo   27 天前   ♥ 7
    “现在前端太浮躁了一年八个新框架刷存在感怀念 jQuery 一把梭的黄金年代”党还有 30 秒到达战场
        8
    peneazy   27 天前 via iPhone
    前端变复杂了,业务逻辑都往前端跑
        9
    DOLLOR   27 天前
    想钻研 web 底层的,直接用 DOM API,而不是 jQuery 这个经过二次封装的“库”;
    想专注业务逻辑的,不如用各种框架,而不是 jQuery 这个封装不够彻底的“框架”。

    而 jQuery 就在一个高不成低不就的尴尬位置,除了维护旧页面兼容 IE5 以外,已经想不到 jQuery 需要的场合了。
        10
    love   27 天前
    jquery 只是 dom api 的简单封装,你可以试试用 jquery 写个稍复杂交互的 web 页,会死,特别是数据直接绑定 dom 节点非常的不灵活和不直观,而上古的分离框架 backbone+jquery 组合也好不了太多,因为没有嵌套能力。

    react + redux 这类模式就能很好地梳理复杂逻辑,项目再大也很清淅。
        11
    codermagefox   27 天前
    尝试用 Jquery 撸一个简单的页面编辑器吧.
    你就懂了....
        12
    nisnaker   27 天前
    1、当年做前端写 js 需要兼容各种浏览器,这一点如果自己做及其恶心,jQuery 的出现相当于有了一个统一的 api,所以大火。成也风云败也风云,现在基本都是面向 chrome 开发,接口统一,jQuery 就没那么重要了。
    2、jQuery 的选择器功能强大,用起来很顺手,然而现在浏览器自带了 querySelector。
    3、jQuery 写动效也很方便,然而现在有了 css3。
    4、很早也用 jQuery 写过 SPA,毕竟 SPA 用户体验好,然而自己维护 state 很头疼,后来的解决方法跟现在的前端框架也差不多了,也就没必要再用 jQuery 了。

    我现在写一些简单的 landing page 还是会用,毕竟打开编辑器直接就能开干还是蛮爽的。
        13
    terranboy   27 天前   ♥ 1
    淘汰?应用场景不一样 各大门户网站哪个没有 JQuery
        14
    tonylau   27 天前 via Android
    同 3 楼
        15
    wesnow   27 天前 via Android
    互联网上的网站有几个不用 JQuery 的?
        16
    impl   27 天前 via Android
    达尔文说,物竞天择
        17
    wd   27 天前 via iPhone
    因为电脑配置变高了
        18
    YuTengjing   26 天前 via Android
    组件化发展趋势,声明式战胜了命令式
        19
    q8164305   26 天前 via Android
    交互多了,你试试页面交互多的时候用 jq 写个试试,难度极高
        20
    garlics   26 天前 via Android
    没有双向绑定?
        21
    Merlini   26 天前
    在数据驱动的今天,数据绑定的框架比 JQuery 用起来方便很多。JQuery 兼容性很高,但抽象度其实并没有那么高。它只是做了一些很简单的事,让你用起来很方便,从概念角度上来说跟原生 js 没有太大区别。
    当然在写一些简单的小工具的时候,JQuery 的优势就体现出来了,快糙猛,舒服的很。
        22
    iMusic   26 天前
    jQuery 最核心的特性是使 JS 操作 DOM 更简单,并且磨平浏览器之间的差异,现在随着浏览器发展,已经提供足够的 API 去方便的操作 DOM,各个浏览器也向着规范靠拢,简单的页面大多时候没必要引入 jQuery,浏览器提供的 API 已经够用,同理还有`lodash`。

    另外现代前端开发稍微复杂点的需求,还用原始的读写 DOM 不仅麻烦而且性能不高。前端开发说到底就是 state 和 UI 的同步,现在主流的框架有一个共同点,底层 DOM 的更新和优化交给框架来做,开发者主要关注 state 的变化。

    总结,一是浏览器自身的发展,二是现在复杂的开发需求。前者使前端开发减少了对 jQuery 的依赖,后者造成 jQuery 不太够用。
        23
    gamexg   26 天前
    双向绑定?
        24
    jin5354   26 天前
    都是什么鬼回复 原因就一行字:不再需要直接操作 DOM 了
        25
    Tink   26 天前 via iPhone
    现在前端动不动就是脚手架
        26
    limbo0   26 天前 via Android
    维护和编写,推荐拿 vue 试试
        27
    leafre   26 天前
    前后端分离方便,回归 js 本质
        28
    dobelee   26 天前 via Android
    说需求变复杂的站不住脚,一直以来哪有不复杂的需求,jQuery 一把梭当年也可一战。
        29
    cnzzz   26 天前
        30
    BlBana   26 天前 via Android
    那么有个问题,现在初学者入门前端还有必要深入学习一下 jQuery 么,还是说看完 JS 基础以后直接框架上手练习
        31
    askfilm   26 天前
    啊? jQuery 被淘汰了吗?
        32
    xrr2016   26 天前
    @BlBana 不用学,DOM api 基本满足操作 dom 的需求,直接学框架就好了
        33
    php01   26 天前
    先问是不是,再问为什么。
        34
    notreami   26 天前
    jquery 没法装 13,webpack 才能装 13
        35
    zlhsvc   26 天前
    现在前端都用啥框架了?我的记忆还在 JQ 年底
        36
    longbo666   26 天前
    没淘汰啊,做官网门户还要用的,做 webapp 可能用不到
        37
    winiex   26 天前
    尝试用 jQuery 和 react/vue 都写一个带关键词推荐的即时输入搜索框的小需求就懂了。
        38
    justin2018   26 天前
    Webpack 配置工程师 😁
        39
    KasuganoSoras   26 天前   ♥ 2

        40
    KuroNekoFan   26 天前 via iPhone
    面条代码不好维护
        41
    q397064399   26 天前
    这是 20 年前的网站

    这是 20 年后的网站

    20 年后的网站 无论是交互体验 还是实时动态化 ,从交互功能上来讲 碾压 20 年前的网站 100 倍
    我举的还是微博这种 社交网站,你要去用一些看板类的网站就明白了
        42
    kisshere   26 天前
    不管前端各种层出不穷的框架
    jQuery:你大爷永远是你大爷
        43
    TimPeake   26 天前
    @q397064399 微博的 pc 页面估计得有 10 年没大更新了
        44
    kevin1852   26 天前
    我觉得主要还是前端要搞面向对象,jq 不是面向对象的
        45
    bmy   26 天前
    我就经常 angular/Vue 和 jQuery 一起混用。。
        46
    xianxiaobo   26 天前
    现在大部分前端项目依然在用 jquery,但是 jquery 的地位变低了, 以前可以说整个项目依赖 jquery,现在是某个插件依赖 jquery
        47
    simo   26 天前
    jQuery 主要为了解决兼容而造出来的,并且试用的前端业务复杂度也比较低。
    当下的好多项目采用前后分离方案,前端工程化程度越来越高,jQuery 并不适用。
        48
    micean   26 天前
    ES5、ES6
        49
    ben1024   26 天前
    淘汰不存在,只是从主力变辅助
    v2 都没淘汰 JQuery
        50
    Bluecoda   26 天前
    要想用起来体验好,客户端就得有更多侧重,代码量肯定要变大
    单纯的 jquery 写的代码难写,难懂,难维护,所以后面就有 backbone+jquery
    但还是不够,所以就有了现在的框架,并且发现 jquery 不需要了
        51
    hyy1995   26 天前
    jquery 为什么不行?为什么被 vue、react、angular 等流行框架取代?一句话概括吧:前后端分离
        52
    o0   26 天前
    淘汰还是不至于的。
        53
    jimliang   26 天前
    @q397064399 为什么要用微博的界面举例子呢,谁不知道微博的 web 界面做得贼垃圾,卡顿、资源占用高、反馈迟钝,用起来非常难受。
        54
    q397064399   26 天前
    @jimliang #53 因为微博是我的图床.. 我顺带截图了
        55
    mywaiting   25 天前   ♥ 1
    淘汰还至于吧,至少小项目还是可以带上 jQuery 的,不是谁都需要 SPA 这样的

    只是时代变了,jQuery 没有引领 web 前端的潮流了~

    不过 jQuery 的理念,我觉得在各大 MVVM 框架里发扬光大啊,从这个层面来说,jQuery 不曾淘汰,反而时代和技术的发展,越发显得 jQuery 当初设计理念的前瞻和先进

    我觉得前端一直给别人一种假象,就是某某落后或者没有用了,君不见 jQuery 还在 wordpress 里用,那就说明 jQuery 运行在数以千万的网站上。现在的 react、vue 这些,炒得火热,但未必有 jQuery 的 X 分之一的使用率

    再者从代码的角度而言,jQuery 的代码堪称集 JavaScript 之大成,无论是代码的质量、使用、API 设计,可以说是前端中最牛逼,JS 里能找到的黑科技,从 jQuery 中几乎都能找到,前端中的最牛逼,我觉得没有之一。作为初学者,如果能从中了解一二,那对以后的学习那是大有裨益的
        56
    rodjl   25 天前 via iPhone
    @jimliang 微博 web 版确实烂,不登陆看评论拉到最低居然会跳去登陆界面
        57
    rodjl   25 天前 via iPhone
    @rodjl 登陆=》登录
        58
    sugars   25 天前
    业务一旦复杂,用 jq 来写的话,后期拓展和维护就是噩梦
        59
    stabc   25 天前
    常规网页还是离不开 jquery。
        60
    qsnow6   25 天前
    angular/Vue 之流如何搞定 SEO 需要被百度爬虫抓取的问题
        61
    maichael   25 天前
    说一千道一万,就是 jQuery 写起来没有现代一些的前端框架爽,旧项目用的不少,但如果是新项目,选用 jQuery 的肯定没多少。
        62
    avs10019   25 天前 via Android
    淘汰? 需要 seo 的哪个不用 jquery。
    至于内部系统,手机里的非常规网站比如各种混合开发微信小程序等等,还有管理后台这种的那就想用什么用什么,什么方便快速用什么。

    百度的尿性已经决定了国内 seo 已死。现在国内都在网手机上引导。 别看现在流行 vue 之类的,有水平的前端都是 jquery 一把梭,现在的前端都快忘了什么是 dom 了
        63
    realkenshinji   25 天前 via iPhone
    浏览器的 api 升级了
        64
    CocaColf   25 天前
    需求变复杂了,视图和数据管理也随之变复杂
        65
    halk   24 天前
    请参考 github 的 blog: Removing jQuery from GitHub.com frontend
    https://github.blog/2018-09-06-removing-jquery-from-github-frontend/
        66
    Hoshinokozo   19 天前
    jQuery 简化了 DOM 操作,而现代 MVVM 框架直接帮助你操作 DOM,从这个角度来看这是对 jQuery 的进一步抽象。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2215 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 05:02 · PVG 13:02 · LAX 22:02 · JFK 01:02
    ♥ Do have faith in what you're doing.