libook
2021-01-25 18:16:44 +08:00
以前的 Web API 用起来不方便,比如仅能使用几种简单的 Dom 选择器选择 Dom,各种常见的操作 Dom 的算法、常用的交互动效以及监听事件需要重复性地写很多代码,还有 XHR 用起来很反人类。虽然可以自己封装函数,但是这些在前端开发者群体里是存在共性需求的,所以把这些函数汇总起来,并使用简单的框架思维进行封装——于是 jQuery 就这么出来了。
从 HTML5/CSS3 等新版本技术开始,到 ES6 以及后续 ES 的疯狂更新,jQuery 所曾致力于解决的问题,要么被原生 JS 、CSS 、HTML 的新特性以及 Web API 的新特性解决了(没有的话可能在 draft/proposal 阶段,或者可以用其他更好的方案),要么前端工程需求上发生了变革转而出现了满足新需求的框架。当前可以说,jQuery 的使命基本已经结束了。
以前我 jQuery 用的最多的是选择器和 Ajax 请求,后来 DOM 加入了 querySelector(All)可以取代选择器,fetch API 或者 Axios 库都可以用来很方便地发 Ajax 请求,CSS3 的动效也更强大和方便。jQuery 对我来说就完全没必要用了。
现在做项目在原型阶段如果交互不复杂的话都是原生 JS 和 Web API 手撸,复杂的话就是直接用 Vue 之类的框架。建议在对最新的 Web API 充分了解的情况下尝试用原生 Web API 写一些页面感受一下。
Vue 保留了像 Angualr1 等第一代前端框架那样的,直接在 HTML 中引入并直接使用的方式,具体可以查阅文档中 From CDN or without a Bundler 的部分,后续有压缩、混淆、合并、兼容性( babel )等需求可以再考虑引入 Webpack 。
当然,仍然有大量的网站不打算重构或者需要兼容无比陈旧的浏览器而依然在使用 jQuery,就像仍然有军事系统在用软盘、仍然有政府系统在用 WinXP 。但使用量并不代表趋势,想了解趋势可以去看看各个前端岗位的招聘要求。
对于初学者来说,建议把原生的 JS 、CSS 、HTML 以及 Dom 、Bom 等 API 掌握扎实,然后学习 Vue 、React 、Angualr 等框架。如果真的遇到特殊需求需要用 jQuery 的,看看文档很快也能上手。