热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2019年了,为何我还在用jQuery?

译者按:看来jQuery照样有一些用武之地的。原文:WhyI’mStillUsingjQueryin2019译者:Fundebug为了保证可读性,本文采纳意译而非直译。翻译仅供进修

译者按: 看来 jQuery 照样有一些用武之地的。

  • 原文: Why I’m Still Using jQuery in 2019
  • 译者: Fundebug

为了保证可读性,本文采纳意译而非直译。翻译仅供进修讨论,不代表 Fundebug 看法。

很多人都在首倡: “直接用原生的 Javascript 就好了,不须要 jQuery 了”。

You might not need jQuery尝试通知我们,挣脱 jQuery 是一件很轻易的事变。然则,它的第一个例子恰好通知我们用 jQuery 实在也不错,由于我们写了 10 行原生的 Javascript 代码,实在只须要 1 行 jQuery 代码就够了。

《2019 年了,为何我还在用 jQuery?》

很多 Javascript 的 API,尤其是 DOM 相干的 API,挑战了我的审美哲学,直白点说,我以为它们太蹩脚了!el.insertAdjacentElement('afterend', other)固然也能够用,然则$(el).after(other)越发简约。$()函数也没那末悦目,我没有迥殊喜好,然则它比原生的 API 好太多了。

你们怎样猎取某个元素的 sibling 呢?究竟用nextSibling照样用nextElementSibling?它们有什么差别?各个浏览器离别支撑哪一个要领?当你忙着去 MDN 查文档的时刻,我直接用 jQuery 的nextprev()就好了。

很多经常运用的 Javascript 的规范 API 都挺新鲜的,这里我就不列出来了,人人去You might not need jQuery看看就知道了。

写代码的时刻,我们总会须要运用一些经常运用的协助函数,You might not need jQuery列举了很多,运用 jQuery 能够很轻易的运用这些协助函数,如许我们就不须要每次都去 Stack OverFlow 上去了。。。

浏览器的兼容题目已没有之前那末头疼了,然则它照样个不小的题目,除非你以为只需 85%的用户 OK 就行。关于这个题目,人人能够浏览我的Why Hello CSS doesn’t use CSS variables。

那末,我们必需运用 jQuery 吗?固然不是!运用任何第三方库都是有价值的,增加了复杂度,也增加了文件大小。然则,jQuery 实在没那末大,紧缩以后的大小只要 30K。假如我们去掉 ajax 以及一些不经常运用的功用的话,就只要 23K;假如我们运用 querySelector 替换 SizzleJS 来构建的话,则只要 17K 了。无论是 30K 照样 17K,对很多运用来讲,这个大小都是完全能够接收的。

人人无妨看看Bootstrap removing jQuery,为了移除 jQuery,他们也是花了不少精神啊:自身撸协助函数;摒弃兼容 IE,由于太难写了;他们花了 1 年半时候来捣腾这个。终究的效果在我看来,这些勤奋好像不值得。

我明白他们为何这么做,人人愿望在 Vue 项目中运用 Bootstrap,然则同时运用 Vue 和 jQuery 的话有点傻。关于削减网页大小,我异常赞同,也很喜好Web bloat与The Ethics of Web Performance两篇博客中的看法。然则,我们须要现实一点,不要过于理想主义。增加 17K 的 jQuery 真的那末蹩脚吗?当我吐槽 Medium 或许 New York Times 如许的网站须要的 JS 文件凌驾 1M 的时刻,有的人会如许辩驳:”岂非你还在用 56k 的带宽?“,然则,为何 17K 的 jQuery 就那末不能接收了呢?

不必 jQuery 而自身写协助函数也能够,比方你愿望你写的函数被其他人复用,或许你写的函数迥殊小。然则为了不必 jQuery,摒弃向后兼容?那我以为照样用 jQuery 得了。一切事变都用 jQuery 完成固然不好,然则任何时刻都不必 jQuery也不是什么明智之举。

我不是 jQuery 的狂热粉丝,我也情愿运用一些简化版的 jQuery,只需它们能够让 JS 的 API 更好用一点。You might not need jQuery引荐了bonzo和$dom,以及其他一些 AJAX 库,然则大多数看起来没怎么保护。假如没有充足吸引人的来由,最好不要去替换 jQuery,由于 jQuery 自身没什么大缺点。

有些读者或许会去比较 Vue, React 以及其他前端框架,然则这篇博客的目标是比较 jQuery 与原生的 Javascript,没有盘算去论证全部前端究竟应当怎样开辟。

话说回来,我以为有些场景下只运用简朴的 Javascript 也挺好的,重要原因是我愿望网页能够充足快,能够让只管多的人一般接见。以我的履历,运用服务端衬着,再加上渐进式加强 Javascript,是最好的完成体式格局,开辟起来很简朴,接见速率充足快,BUG 也很少。

岂非前端框架不好吗?固然不是,没有什么相对不好的手艺,一切手艺都有肯定的弃取,固然也包含 jQuery。

参考

  • GitHub:我们是如许弃用jQuery的
  • 为啥jQuery被镌汰了?
  • 为何越来越少的人用jQuery

关于Fundebug

Fundebug专注于Javascript、微信小顺序、微信小游戏、支付宝小顺序、React Native、Node.js和Java线上运用及时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+毛病事宜,付费客户有Google、360、金山软件、百姓网等浩瀚品牌企业。迎接人人免费试用!

《2019 年了,为何我还在用 jQuery?》

版权声明

转载时请说明作者Fundebug以及本文地点:
https://blog.fundebug.com/2019/06/04/why-i-am-still-using-jquery-in-2019/


推荐阅读
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 本文整理了Java中org.gwtbootstrap3.client.ui.Icon.addDomHandler()方法的一些代码示例,展示了Icon.ad ... [详细]
author-avatar
努力学习的PHP程序员
什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有