上个月,『全球最大同性交友平台』GitHub 被微软以 75 亿美元(折合人民币 480 亿)的价格正式收购,这一事件引发诸多程序员担忧:

微软收购之后,Github 是否会将不再开源?

为防范于未然,开发者正把 repos 迁移到 GitLab 等其他 Git 托管平台;

GitHub 有 Atom,微软有 Visual Studio,用户明显重复。

对此,微软回应了一切,并表示不打算在 GitHub 上做太多改变,且以开发者为中心的初心不会改变,会积极地拥抱开源。

如今,52 天过去了,Github 也做出一些微软特色的改变。

改版放弃了 jQuery

之前不少网友就发现 GitHub 首页改版了,并大呼太不习惯。昨天,Github 前端团队的 Mislav Marohnić 在 Twitter 发布了一则消息,表明在 GitHub 网站重构过程中放弃了 jQuery,没有再次使用其他任何框架去代替它,而是使用了原生的 JS,具体实现:

  • 使用 querySelectorAll 来查询 DOM 节点;

  • 使用 fetch 来代替 ajax;

  • 事件处理使用了事件代理;

  • 使用 DOM 标准化写了 polyfill;

  • 使用了自定义元素。

此外,据 Web 系统工程师 muan 表示,GitHub 早已将 Fetch、Delegated events、Custom Elements 项目开源,因此也不难猜测,基于此已有的经验 GitHub 才会进行弃 jQuery 的重构。

  • 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

jQuery 的流行到被抛弃?

2006 年,jQuery 的第一个版本的面世,凭借着简洁、灵活的编程风格受到了开发者的喜爱。而它本身是一个 JavaScript 框架,它的设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装了 JavaScript 常用的功能代码,提供一种简便的 JavaScript 设计模式,优化 HTML 文档操作、事件处理、动画设计和 Ajax 交互。

从之前的风靡到如今的被抛弃,究其原因,不少前端工程师表示,对于 jQuery 来说,大量的操作 DOM 虽然方便,但是会牺牲很多页面的性能。另一方面,现阶段 React、Vue 和 Angularjs 等主流前端框架并不依赖 jQuery,都可以独立使用。况且浏览器的兼容问题越来越少,当浏览器兼容不再是问题时,jQuery 的价值就大打折扣了。

不过 GitHub 使用 fetch 来代替 ajax 这一举措来看,fetch 几乎不支持 IE (https://caniuse.com/#search=fetch),这是否也意味着 GitHub 已放弃 IE 浏览器的兼容?

如何看待 GitHub 网站放弃 jQuery 的使用?

基于此问题,Hacker News (https://news.ycombinator.com/item?id=17612540)上的网友展开了热烈的讨论,其表示:

@interlocutor:GitHub 网站移除 jQuery 并不是一件好事情。具有讽刺意味的是,从这个网站中可以(http://youmightnotneedjquery.com/)对比左右的代码,我们发现相同的功能,jQuery 使用的代码量更少。

其实,jQuery 具有许多简洁方便的功能,如 addClass('selected') 和 siblings().removeClass('selected'),开发者不必每次选择之后检查空值。

不过像 closest() 和 remove() 这样的函数在 IE11 并不兼容,其他 replaceWith()、before() 在 Edge 中也不可用。

对于简单一点的网站,想要通过重构删除 jQuery 很容易,但是对于更复杂的 JavaScript 应用程序,尤其是具有大量交互的网站,删除 jQuery 只会导致更多的代码产生或最终编写大量的实用程序函数。

@geuis:jQuery 对 JavaScript 和浏览器生态系统产生了巨大的影响。 一个伟大的工具是指,它解决的问题不再存在,那么可以功成身退了。

@patorjk:大约 8 年前,我刚接触到一个项目时,我的老板告诉我,这个 Web  App 非常慢,希望我帮助它加快响应速度。当时我看了一下,发现 App 使用了大量具有重叠功能的库——jQuery、ExtJS、Mochikit、YUI。我发现在开发时,每位开发者都只是为其实现的功能简单地选择了适用的库,这就导致 App 过于膨胀(并且复杂)。不过,如今浏览器 API 及其 polyfill 已经有足够标准化的 Web 应用程序开发,这是一件好事情。

在国内,不少前端开发者对 GitHub 弃用 jQuery 也表示不解,甚至不少开发者表示发出“我刚学会,你就弃用”的无奈,对此,你怎么看?

————— 推荐阅读 —————

GitHub 被微软收购后的 52 天,改版并放弃了 jQuery !相关推荐

  1. (转)GitHub 被微软收购后的 52 天,改版并放弃了 jQuery!

    上个月,『全球最大同性交友平台』GitHub 被微软以 75 亿美元(折合人民币 480 亿)的价格正式收购,这一事件引发诸多程序员担忧: 微软收购之后,Github 是否会将不再开源? 为防范于未然 ...

  2. 新 CEO 谈论GitHub 被微软接管后的未来

    2019独角兽企业重金招聘Python工程师标准>>> 微软CEO Satya Nadella表示,没有什么可担心的,因为这家位于雷德蒙德的软件巨头想要做的是提高GitHub的功能, ...

  3. 写在Github被微软收购之际 - Github的那些另类用法

    这几天朋友圈被微软75亿美元收购Github的新闻刷屏了.Jerry也来贡献一篇和Github相关的文章. 这篇文章包含了Jerry平时对于Github的一些另类用法.目录如下: 1. 部署HTML应 ...

  4. 被微软收购两年后,GitHub 怎么样了?

    整理 | 唐小引 头图 | CSDN 下载自 VCG 出品 | CSDN(ID:CSDNnews) 7 月 15 日,由中国开源软件推进联盟(COPU)主办,赛迪传媒.<软件和集成电路>杂 ...

  5. GitHub:为什么我们最终选择放弃了 jQuery

    [CSDN编者按]7月17日,GitHub改版并放弃了jQuery, 这对于GitHub来说,绝对是一件可以载入公司史册的大事. 今天的文章中,四位参与改版和弃用JQuery的GitHub工程师,将介 ...

  6. 全球最大“同性”交友网站GitHub或被微软收购,收购价可能高达 50 亿美元

    来源:综合businessinsider.venturebeat 编译:刘小芹 原文:http://www.sohu.com/a/233803905_473283 [新智元导读]据外媒Business ...

  7. 【历史上的今天】6 月 4 日:微软收购 Github;MacOS Mojave 推出;英特尔发布第四代架构 Haswell

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 6 月 4 日,在 1998 年的今天,我国互联网用户突破一百万.自从中国科学技术网在国内首次实现了 ...

  8. 评微软收购GitHub

    前段时间,微软正式宣布以75亿美元收购GitHub.除了微软和GitHub以外,也许对这笔并购最在意的,正是微软的同城敌友,亚马逊.在我看来,GitHub也许是微软史上最好的收购. 75亿美元贵不贵? ...

  9. 我看微软收购GitHub

    今天是微软收购GitHub的第三天,之前很多人担心被微软收购的GitHub会步Skype,诺基亚等企业的后尘,凡此种种我觉得更多人的担心是:GitHub不再开源免费罢了. GitHub今年4月刚成立十 ...

最新文章

  1. 【天池直播--预告】美女程序猿带你用大数据吃鸡(有内涵-这是一个有大奖的活动)...
  2. 树状数组 java_算法模板之树状数组
  3. nullnullanimate用法
  4. P2634 [国家集训队]聪聪可可
  5. bool查询原理 es_ES系列之原理copy_to用好了这么香
  6. Nginx----高级
  7. std::string中的反向迭代器rbegin()和rend()
  8. 2017年php还能火多久,PHP还会火吗?
  9. 如果没有云栖大会,中国云计算将要落后多少年?
  10. 给LINUX添加一个开机执行脚本
  11. matlab2016a配置vs2013编译器
  12. 简易的打折与累加计算器
  13. 用SQL语句向数据库添加date类型字段
  14. 解决:FTP隔离用户ftp将数据发送到服务器之前不加密或编码,要保护密码和数据数据,请用WEB文件夹(WenDAV)
  15. PentestBOX教程
  16. 真c++ 从二叉树到红黑树(3)之二叉搜索树BST
  17. 用友BIP 安装配置专业脚手架开发工具(图文)
  18. 计算机专业业内大神,新南威尔士大学计算机科学专业详解 成为IT大神的好选择...
  19. java程序员平时都使用哪些软件??
  20. 云边协同,网随云动——边缘计算助力云游戏高效运营

热门文章

  1. sobel,canny(可滑动调节阈值)边缘检测算法opencv-python实战
  2. python中np.reshape与matlab中reshape区别,以及多axis的np.mean分析[探索6]
  3. leetcode题库572 -- 另一个树的子树
  4. Flutter进阶—实现动画效果(十)
  5. 面向现代化应用,火山引擎云原生究竟提供了哪些能力?
  6. PyTorch 1.8 发布,支持 AMD,优化大规模训练
  7. 阿里马涛:重新定义云时代的开源操作系统 | 人物志
  8. IEEE 迎来首位华人主席,马里兰大学终身教授刘国瑞当选
  9. Rust 让人奔溃的那些特性!
  10. 不知道不 OK!53 个 Python 经典面试题详解