惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
博客园 - 叶小钗
爱范儿
爱范儿
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
T
Tailwind CSS Blog
博客园 - 司徒正美
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell

张鑫旭-鑫空间-鑫生活

1分钟速度了解text-align match-parent声明 « 张鑫旭-鑫空间-鑫生活 光标的形状也能设置了,就是CSS caret-shape属性 « 张鑫旭-鑫空间-鑫生活 pretext与文字四面环绕效果的实现 « 张鑫旭-鑫空间-鑫生活 JSON.rawJSON方法的作用是什么? « 张鑫旭-鑫空间-鑫生活 如何使用CSS判断鼠标从哪个方向进入元素? « 张鑫旭-鑫空间-鑫生活 借助mediabunny纯JS实现视频水印、剪裁、合成等功能 « 张鑫旭-鑫空间-鑫生活 务必谨慎使用JS WeakRef弱引用 « 张鑫旭-鑫空间-鑫生活 CSS六边形头像的实现与蜂巢布局 « 张鑫旭-鑫空间-鑫生活 CSS corner-shape与背景底纹技术 « 张鑫旭-鑫空间-鑫生活 浅学WebTransport API:下一代Web双向通信技术 « 张鑫旭-鑫空间-鑫生活 HTML dialog元素新支持了closedBy属性 « 张鑫旭-鑫空间-鑫生活 HTML interestfor属性与悬停popover交互效果 « 张鑫旭-鑫空间-鑫生活 CSS3模拟window7炫酷界面效果展示 « 张鑫旭-鑫空间-鑫生活 图片旋转+剪裁js插件(兼容各浏览器) « 张鑫旭-鑫空间-鑫生活 纯js无图片无外链CSS图片幻灯片播放插件 « 张鑫旭-鑫空间-鑫生活 CSS border三角、圆角图形生成技术简介 « 张鑫旭-鑫空间-鑫生活 CSS “渐进增强”在web制作中常见应用举例 « 张鑫旭-鑫空间-鑫生活 让IE6/IE7/IE8浏览器支持CSS3属性 « 张鑫旭-鑫空间-鑫生活 jQuery – 高亮动态显示页面HTML代码插件 « 张鑫旭-鑫空间-鑫生活 翻译 – 逐渐消失的Flash网站 « 张鑫旭-鑫空间-鑫生活 CSS reset的重新审视 – 避免样式重置 « 张鑫旭-鑫空间-鑫生活 新浪微博插入话题后部分文字选中的js实现 « 张鑫旭-鑫空间-鑫生活 JavaScript实现http地址自动检测并添加URL链接 « 张鑫旭-鑫空间-鑫生活 CSS实现兼容性的渐变背景(gradient)效果 « 张鑫旭-鑫空间-鑫生活 CSS content内容生成技术以及应用 « 张鑫旭-鑫空间-鑫生活 CSS gradient渐变之webkit核心浏览器下的使用 « 张鑫旭-鑫空间-鑫生活 CSS渐变之CSS3 gradient在Firefox3.6下的使用 « 张鑫旭-鑫空间-鑫生活 区分IE8/IE7/IE6及其他浏览器-CSS “\9″hack « 张鑫旭-鑫空间-鑫生活 CSS实现跨浏览器兼容性的盒阴影效果 « 张鑫旭-鑫空间-鑫生活 CSS3&HTML5各浏览器支持情况一览表 « 张鑫旭-鑫空间-鑫生活
观点:不要太依赖JavaScript库 « 张鑫旭-鑫空间-鑫生活
张鑫旭,zhangxinxu · 2012-03-29 · via 张鑫旭-鑫空间-鑫生活

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

(本篇完)