观点:不要太依赖JavaScript库
by zhangxinxu from http://www.zhangxinxu.com
本文地址: http://www.zhangxinxu.com/wordpress/?p=2314
下面就来看看为何Ross Bruniges说不要过分依赖JavaScript库~~
库是很棒的东西,但千万不要因此让你JavaScript的学习打折扣。 – by 开发者Ross Bruniges
JavaScript库已经成为了一个web开发人员的工具包的重要组成部分,一个很好的理由(zxx: 应指指依赖理由)。库让每个浏览器的JavaScript实现无差异,使开发人员可以专注于编写代码,10次中有9次将只是工作 – 这是一个了不起的事情。
但你可曾停下来想过学习JavaScript,而不是一切都依靠库?尽管我不主张离开库,但我依然要给你些东西让你去思考,以及可能会让您更上一层楼的 JavaScript权威指南。
1. 库库也会尿裤裆,知识在手莫惊慌
每个开发者都怕怕的事情之一就是一些你依赖的东西不顶用了(zxx: 应指冲突之类)。这可能是个核心的库函数或是插件,而这两个都是你迫切需要的(用来修复某些问题)。
库提供了很好的抽象层于浏览器的各种差异之上,但是,“引擎盖”下面,它们仅仅就是JavaScript, 因此,一点点的基础知识就可以让你开始明白大致哪里出了问题。即使你无法自己修正该错误,你还可以高亮错误的位置然后反馈给(编写该)库的核心团队。
2. 坏坏代码难免有,越早发现越好走
如果你使用允许社区插件(zxx:指论坛之类的些杂碎插件)的库(zxx: 如jQuery, 鱼龙混杂太多),您可能已经遇到了一个不得不从你项目上咔嚓掉的糟糕插件,或者你花了大量时间试图让其工作。能够注意到一种可能会造成性能问题的模式就意味着站点上线后是愉悦的还是让人不爽的客户端。
3. 买爱疯,宁换肾;需不需要先自问?
根据你要求的功能,你需要的代码可能不需要库。例如,你只是做一些简单的dom操作,值得你一试。
页面的大小和性能是web上重要因素,一个JavaScript的大小20K ~ 80K大小不等。在高度连接的桌面设备上,80Kb不算多。但是,如果你的站点是针对手机用户的,则越轻量越好。我最近推出了一个CSS动画可用时只需要JavaScript的站点。
我决定我并不需要的库所提供的援助之手,因为我只要处理一个浏览器JavaScript实现。 最终,JavaScript的总大小约2KB。
4. 国际油价要接轨,技术俱进抱大腿
JavaScript是一个不断发展的语言,我们现在身处一个全新的世界,远远超出我们认为可用的能力的范围。你可以在Server端使用 node.js
, 你可以通过app访问地理位置信息。HTML5提供了新的APIs,可用于控制嵌入式多媒体,信息存储,并确定你的用户是否在线。
因为我们正在谈论有关新技术和开发技术,文档目前的水平是能够在传统深入和密集API文档中发现所需。了解JavaScript对于你研究这些你想使用的功能会是一个巨大的帮助。许多网上例子不使用库,有助于你能够从最底层准确了解发生了什么。
学习资源
那么,我所说的这些对你有所触动了吗?如果是这样,开始学习的最佳之地就是你使用的JS库,在 code.google.com/apis/library上有非压缩版本,而且我推荐你从最新的版本入手。
如果你遇到什么不懂的,可以去 Mozilla MDC(zxx:MDC指Mozilla Developer Center, 类似于国内蓝色理想)寻求解释。如果你寻找HTML5提供的可能示例, html5demos.com满是精彩而又简单的例子。
——— 以上就是翻译内容了 ———
译者现身说法
是不是感觉作者说得有点淡,一股忧郁的无力吐槽的感觉。无法让那些依赖库完成一些功能的泛泛之辈们引起重视,因此,末了,我也一舒己见。
首先,作者的观点我都是赞同的,但是在托辞与表达上过于苍白无力,无法发人深省,看了只会让人打瞌睡。
如果你认定了前端这条路,依赖JavaScript库只会让你日后成为一个悲催的前端人员:工资涨不上,新技术跟不上,混迹于各个公司间,妄图有所发展,结果都是平淡收场,虽说铁定饿不死,但是而立之年的人生压力会让你觉得混得真是惨淡。这些都是可以预见的。
在中国,从事所谓前端之人何其多也,可以依赖JavaScript库实现功能的人何其多也,比牛魔王身上的虱子还要多。时间流逝,就凭抱着JS库过日子,你怎么可能从这么多人之间脱颖而出(当然你爸姓李或有干爹另当别论)。
正如Ross Bruniges所说的,如果JS库报错或是插件冲突了,你晓得症结在哪里吗?好不容易从哪搞来个插件,效果实现了,一上线,尼玛IE6下老是爆掉,你知道什么原因吗?手机页面,没有JS库你能搞定里面的交互吗?你能读懂node.js代码吗?你能读懂HTML5 APIs文档中的JS示例代码吗?如果不能,你永远就是在别人手下干活,按部就班做事的命,这东西不是钓鱼,靠经验积累就行的。你必须好好学习原生JS, 这决定了你以后的位置和高度。
世事无常,如何应对风云万变,扎实的基本功才是王道(学什么新东西都快)。新技术层出不穷,各种框架、库应接不暇,三年河东三年河西,如何在时代大潮中屹立不倒?只要掌握了语言本身,才能兵来将敌水来土堰,永远不要担心没饭吃。
设想下,如果jQuery被国家禁止使用了,你还能完成页面上的各类交互吗?不要将自己栓死在一棵树上。
依赖库,只是应用;掌握核心,才能创造。应用与创造的差异不言而谕。
原创文章,转载请注明来自 张鑫旭-鑫空间-鑫生活[ http://www.zhangxinxu.com]
本文地址: http://www.zhangxinxu.com/wordpress/?p=2314
(本篇完)