【外刊IT评论网】Prototype兴衰启示录

标签: 心得体会 Prototype | 发表时间:2012-12-24 00:05 | 作者:Aqee
出处:http://www.aqee.net

本文的作者 Sam-Stephenson

本文的作者 Sam Stephenson

本文的作者Sam Stephenson是Prototype js框架的创始人。他从2006年开始一直在37signals工作做web开发。除了Prototype外,他还开发过很多开源软件,比如 rbenvsprockets 等。

程序员们一起努力来创建共享的软件基础工具:这是开源软件的基本要旨。任何有想法、有激情并且有能力实现这个想法的程序员都是在为我们解决一个常见问题,向世界分享其解决方案,然后其他程序员会在将来一起改进这个方案,这就是回报。

做这种共享的基础软件工具通常需要具有疯狂的大脑。我早该知道这些。在2005年,我开发了Prototype脚本库——现代web浏览器应用设计的第一代JavaScript类库。在当时浏览器创新一片死气沉沉的景象中,Prototype是一个与众不同的创意:我们能否通过扩充JavaScript的内置类型、通过增加具有新功能的类型来弥补JavaScript的固有缺陷?

这种思想很快的被接受。Ruby on Rails选用Prototype作为其JavaScript框架,很快人们就在一些知名的大公司,例如苹果,纽约时报的网站里发现了它的身影。

然而,不久之后,事情越来越清楚:Prototype的核心思想和这个世界的发展方向是不一致的。浏览器厂商对JavaScript复兴所做的努力是增加新的API,其中很多是和Prototype的实现相冲突。此时,程序员开始展现对一些小的,自我实现,模块化的脚步库的偏爱,而不是大型的框架。

仅仅短暂的几年时间,Prototype从一个最佳的开发准则变成了反模式的代表——依赖于你在听谁说,你甚至会相信它是Web上最糟糕的一个东西。可事实上,尽管架构上有缺陷,Prototype曾给众多程序员带来帮助。但是春来春去,我最终发现我需要走向新的征途。

作为个人,很难独自承担起Prototype的失败。批评性的博客文章让我感觉这是我个人价值的重创。看着朋友们都去使用其他的脚本库,我感觉我的工作都是在浪费时间。

但这是一种我们让共享软件向前进步的过程。为了跟上最新的技术,我们不仅要能去尝试新思想,还要能放弃那些已经不可用的或者有更好的思想替代的旧思想。我们必须有勇气的坦率的说出代码中的问题,去除内心的自负对犯错的恐惧。

在开源世界里我学到了——我并不是我的代码。对我的软件作品的批评并不是对我个人的攻击。我的软件的替代品的出现并不是一个敌意或分化。它只是人们永不停息的对现状改进的愿望驱动下的一个简单的更新换代的结果。

Sam Stephenson,37signals公司的一个程序员。
本文来自 外刊IT评论网( www.aqee.net),原始地址: Prototype兴衰启示录


相关 [it prototype 启示录] 推荐:

【外刊IT评论网】Prototype兴衰启示录

- - 外刊IT评论网
本文的作者 Sam Stephenson. 本文的作者Sam Stephenson是Prototype js框架的创始人. 他从2006年开始一直在37signals工作做web开发. 除了Prototype外,他还开发过很多开源软件,比如 rbenv,. 程序员们一起努力来创建共享的软件基础工具:这是开源软件的基本要旨.

解构JavaScript库:jQuery、Prototype、Mootools

- fish - 为之漫笔
JavaScript库“解构”系列旨在以可视化和可交互的方式剖析JavaScript库的源代码,包括 jQuery、Prototype 和 MooTools. 通过将 JavaScript 源代码以可见块元素的方式标记出来,可以更方便查找和学习. 点开每个块元素,即可查看相应的代码. 点击代码中的链接,即可在程序流中纵情畅游.

深入分析js中的constructor 和prototype

- - 博客园_首页
在javascript的使用过程中,constructor 和prototype这两个概念是相当重要的,深入的理解这两个概念对理解js的一些核心概念非常的重要. 我们在定义函数的时候,函数定义的时候函数本身就会默认有一个prototype的属性,而我们如果用new 运算符来生成一个对象的时候就没有prototype属性.

Instagram启示录

- Wenhuan - 所有文章 - UCD大社区
不管认为Instagram是lomo-twitter还是poladroid+iphoneography. 照片分享服务Instagram于 6个月之前上线,上个月24日公开发布了支持实时功能的API,第三方开发人员可以根据标签、地点和地区抓取照片. 数据显示,Instagram目前每周新增13万用户.

jQuery 和 prototype 选择器的使用与注意事项

- - ITeye博客
我的博客求点击: http://yysource.sourceforge.net/?p=36. 如果是根据id(假设id="myid")选择,. jQuery的用法为(这里用jQuery代替$):jQuery("#myid"); 则返回一个数组. prototype 的用法为:$("myid"); 返回结果为一个Element对象.

原生启示录

- stingzou - 互联网的那点事...
之前写过一篇关于andoid和ios对比的文章——乔布斯改变移动未来的人. 人们通常认为苹果是靠iphone卓越的外观设计轻松取得5%的移动市场份额和他人望其项背的利润,但老乔自视苹果是一个缔造优质软件的企业. 他曾夸口苹果在软件上的水平要领先业界5年. 今年ipad2发布的时候 乔布斯还是没免俗的演示自己开发的应用.

天使用户启示录

- 书皮 - 互联网的那点事...
天使用户就是一个产品最早那批使用者中最认同产品,并希望更多人认同这个产品的人. 对于创业者来说,他们就像天使投资一样,对产品和企业有着至关重要的意义. 8月23日,Gmail工程经理马克·斯奇贝克(Mark Striebeck)在其博客中发布了代号为“麒麟”的集成功能的截图. “麒麟”计划是谷歌应广大用户要求将Google+ 整合至Gmail中的新举措,从而尝试让Google+与公司现有网络服务无缝链接,借助于此,谷歌进军社交网络迈出了又一实质性步伐.

文章: MVVM启示录

- - InfoQ cn
熟悉WPF或Silverlight的同学应该不会对MVVM模式感到陌生了,它把应用程序划分成视图、视图模型和模型三层,如图1所示:. 百度技术沙龙第二十五期:海量数据处理技术解析(4月7日 周六). 表面上,这个层次结构还蛮清楚的,但如果你细究每层应该包含什么,事情就没那么简单了. 视图应该是最容易理解的一个部分了,它通常是指用户可以看到的界面,一般都是通过XAML代码来实现的.