大名鼎鼎的prototype.js 估计大家都知道,可能都已经用到了.最近项目中用到了1.3.1版本,我也隆重的推荐给我的同事.刚才下载了1.4.0看了一下,感觉有些失望.
一个面向对象的javascript框架
prototype这个javascript框架目标是 更容易的开发动态的web应用程序.重要提供以class风格的OO框架;可扩展的AJAX支持,higher-order programming constructs,容易的操作DOM模型.
这是它的官方网站描述.现在打开prototype.js 源代码,更象一个大的Utils工具类.1.4更夸张,细小的功能都加了个函数,不知道以后prototype.js怎么发展,如果这么没特色发展下去, 有些担忧.(毕竟从它代码里学到不少,有点感情)
我自己随便总结有几个问题:
1、Class.create提供了类创建机制,但可惜没有类似java的package机制,太不完善了。Class.create实现也有些简单,我还不如function(){}呢。
2、简单的实现的AJAX功能,有个简单的数据绑定。AJAX技术大潮的来临,人们早对这么简单的实现没什么兴趣。早把眼光投向野心更大的dojo,dwr....了。
3、higher-order programming constructs,一直没明白什么意思???
4、容易的操作DOM模型。实现了些可以跨浏览器的些代码。比如事件处理,鼠标位置等。
5、虽然实现跨浏览器代码,但对浏览器要求较高
Microsoft Internet Explorer for Windows, version 6.0 and higher
Mozilla Firefox 1.0/Mozilla 1.7 and higher
Apple Safari 1.2 and higher
6、对服务器端支持不多,如dojo有webwork2.0支持,dwr也有服务器处理。 prototype就没了,但它与RoR关系不错.也利有弊吧。
7、基本没有任何UI实现,虽然有Rico等扩展项目,但感觉效果不怎么样。
8、感觉这个项目目标不是太明确,如果只是个大的工具类,那我不期望它有新版本了,现有功能够细的了。我不是说大家不要用了。但作为开源项目,希望走好。
prototype.js优点
1、新手很好的阅读材料。
2、传统Bs应用程序好帮手,如果不需要复杂的AJAX功能,复杂的用户体验,能够减少估计30%的javascript代码.
3、Element,Form,Event等很多工具函数有很多方法太好了。
4、在prototype.js基础上实现下拉菜单,树控件,减少很多代码。有时间我整理下放出来。