我是2012年上的大学,专业是软件工程。老实说,在那之前,什么计算机呀,软件呀在我心里一直都是那种神圣的、高不可攀的东西。它是代表着我心目中的高科技。
遗憾的是我很少有机会接触到它,一来是,家里没条件买电脑;二就是,我也不会就此去网吧,尽管我知道我的好多同学都会经常去。(因为在我心目中,网吧对学生来说,不是一个“好地方”)所以,仅有的机会就剩下学校的计算机课程了。
我记得当时是一周两节课,每节差不多40分钟。然后我们带上鞋套,去专门的机房上课。这样的机会对我来说异常宝贵!
后来上了大学,想都没想就报了计算机相关专业。来到大学后,一切事物都是那么新鲜。眼花缭乱的同时,我告诉自己一定要做“最厉害”的软件开发人员!我要学“最厉害”的技术!……后来,我们要定以后就业的方向了,摆在面前的有两个选择:前端和后端开发。
这可是一个大事情呀!同学们都异常的谨慎,大家坐在一起讨论,然而我们最终得出的结论就是:
“如果毕业后打算从事开发这个工作,最好选择后端。因为前端开发没什么难度,就是写个页面,切个图啥的。含金量不高!在公司里也会得不到什么重视的!”
先不去评判这个观点的正确与否,但是它从侧面反映了当时大家对于前端开发的一个认知。
说句公道话,也难怪大家会有这样的想法。在早期,前端的确是 “不太重要”!不信我们就来看看:
-
纯展示:在这个时期,可以说Web应用的功能就是单纯的信息展示,外加上可以跳转到其他页面的超链接。它完全是由服务端渲染出HTML,然后前端直接拿过来显示即可。顶多是再用一下
Table布局,添加一些简单的CSS样式。 -
动效:后面有了像JavaScript的脚本语言后,前端开始会编写一些简单的动效。
-
表单:偶尔也会写个表单,来收集一下数据。……
这怎么看,前端都像是在做一些辅助性的工作,起到锦上添花的作用。(没有,也对现状不会产生太大的影响)
所谓世事难料!当2005年时,Google在它旗下的诸多Web应用中,使用了AJAX技术后,Web前端也迎来了一个新的时代:它由之前的无关痛痒,慢慢的初露头角。
它的意义在于,开始把之前由后端负责渲染HTML的工作,转移到了前端来实现。而这也只是个开始。
jQuery
在2005年的2月18号,Jesse James Garrett发表了一篇题为《Ajax: A New Approach to Web Applications》的文章,立即引发了全球学习JavaScript的热潮,但是由于JavaScript有一定的学习门槛。并且自身存在的一些“缺陷”,以及针对不同浏览器的兼容处理。使得在一些 有追求 的程序员看来“难以忍受”,他们就自己在JavaScript的基础上,开发出了众多的JavaScript框架(也许称为库,会更准确一点)。这大大方便了那些想要快速开发出“时髦”的AJAX应用的开发者们。
而在这其中,jQuery可谓是脱颖而出!
在2006年1月时,jQuery由 John Resig 正式发布。而jQuery凭借着:
- 独特的链式语法;
- 高效灵活的CSS选择器;
- 丰富的插件和便捷的插件扩展机制;
- 简洁的AJAX交互;
- 兼容主流的浏览器
等特性,后来者居上,一跃成为当时最受欢迎的JavaScript库。
而作为开发者的约翰,更是大名鼎鼎,妥妥的大神一枚。
- 他在Mozilla担任JavaScript工程师。这个Mozilla的前身就是之前有名的
网景公司. - 他是jQuery的创始人和技术领袖。
- 他著有《Pro JavaScript Techniques》(即《精通JavaScript》)等经典JavaScript书籍。
一时成为大家追随的偶像!……
抛去现象看本质,为什么会出现像jQuery这样的前端工具库呢?以及它为什么会这么受欢迎呢?
个人认为,此时已进入到了Web 2.0的时代,这是大势不可逆转。遂出现了跟他匹配的众多技术,其中AJAX算是代表之一。
那么在AJAX技术运用的背后,是Web开发中,职能的转移。即之前由服务端去做的一些事会慢慢转移到客户端来完成。
这无疑会增加客户端开发的复杂程度,它可能体现在:一是本身需要实现的功能的增多;二是,在此种情况下,暴露或放大之前存在的一些问题。
这时,就急需一些“工具”来降低这个复杂度,而历史多次证明只有将复杂的东西简单化后,才有可能得到大范围的应用。比如,我们计算机中的图形用户界面、浏览器等。
所以,就会出现一些封装好的,便于开发的JavaScript工具库。同时,jQuery相比于其他库,使用起来更简单,方便!这也就不难理解上面的疑问了。