美文网首页敏捷软件开发
GitHub在其网站实现中移除对jQuery的使用

GitHub在其网站实现中移除对jQuery的使用

作者: 一斤代码 | 来源:发表于2018-07-28 14:23 被阅读546次

    7月25日,一则发自Github员工的Twitter推文引起了不少开发者的关注和评论,以下是推文原文:

    乍一看这消息我挺震惊的,还以为Github把jQuery的代码仓库从它的网站上给删掉了呢,多大仇多大怨啊要干这事儿!再仔细一读,好吧,发现果然还是自己英文不好啊......

    Mislav说的大致意思就是:

    他们终于完成了将jQuery从Github.com的前端代码中移除的工作,并用其他一些方式替代原先jQuery做的工作,比如:

    • 用原生的querySelectorAll(即document.querySelector()方法)去替代jQuery选择器的功能
    • 用fetch替代jQuery的ajax请求功能
    • 用delegated-events替代jQuery的事件处理功能
    • 用一些填充库去抹平和标注DOM API的差异
    • 大量使用自定义元素(即自定义标签,Web Component)

    也就是说,他们其实是重构了Github.com这个网站,把原先由jQuery编写的代码,替换成了其他一些技术。从列出的这些替代方案来看,应该是使用了一些更加趋向于和W3C标准保持一致的技术方案,比如像querySelectAll, fetch等现代浏览器中的原生方法,以及像Web Component这样的趋势技术。

    在后面回复的推文中,也给出了对上面列表中的一些补充说明信息:

    Fetch: https://github.com/github/fetch (polyfill)
    Delegated events: https://github.com/dgraham/delegated-events …
    Custom Elements: https://github.com/search?q=topic%3Aweb-components+org%3Agithub …

    从这些信息我们可以看出,Github.com对最新的Web标准是非常支持和积极推进的,在使用这些最新标准技术的同时,势必要放弃对一些老旧浏览器的支持(对,说的就是你,IE!),比如用户使用IE(不包括Edge)去打开Github.com,会得到提示去使用其他现代浏览器进行浏览。这种对标准的拥抱和对老旧技术的反抗,是值得肯定的。

    不过在此推文的回复中,开发者的反应也是不一的,有的积极回应表示追随和支持,讨教作者具体的重构经验;也有很多开发者表现出对此举的质疑,认为是否有这个必要。

    其实,以我的观点,Github在重构中移除jQuery,这并不是为了否认jQuery的价值,认为jQuery“不行了”,而只是为了更加突出对标准的关注,时代总是在不断发展,更先进的理念和标准被创造出来,推广和使用总是需要代价的,也需要有先行者和试错者。

    对于jQuery,我们知道自从那个前端工具库开荒时代以来,jQuery从一大批开荒者中(Prototype、YUI、Dojo、Mootools...)脱颖而出,以优秀的浏览器兼容性、强大的功能、简洁的语法,成为被使用的最广泛的前端工具库,其插件生态圈更是庞大,成为前端开发者的百宝箱。jQuery也同时提供了兼容低版本浏览器和只支持现代浏览器的版本,我们可以按照项目的实际需要来选择使用。

    在可见的未来,jQuery作为一个对原生JS API(Vanilla JS)的可选方案,还会继续存在,被广泛使用,毕竟它的语法也是非常简洁好用的。但是作为一个合格的开发者,也必须熟悉标准,知道怎么使用标准化的方案。

    作为开发者的你,你怎么想呢?

    最近,我决定把简书的打赏功能关闭了(虽然以前也没多少朋友给我打赏,哈哈),同时感谢每一个浏览我文章或给我打赏的朋友。后面我会继续写作高质量的文章给大家,而在文章末尾我会附上一些不那么讨厌的、可能还会比较有用的小广告,希望通过这种方式,在给到大家帮助的同时给自己也增加点小小的收入吧:)


    点这里领取阿里云代金券

    相关文章

      网友评论

      本文标题:GitHub在其网站实现中移除对jQuery的使用

      本文链接:https://www.haomeiwen.com/subject/clxomftx.html