几款JavaScript开发框架、开发库
详细信息请见:http://script.aculo.us/
接 下来介绍的是JQuery,这个也算是JavaScript开发框架的新星了,虽然出来也有些时日了。JQuery与prototype比起来要更成熟一 些,并且支持更好地扩展性,目前有相当多的JavaScript开源控件都是基于JQuery的,其强大的selector的功能堪称一绝,对于 html的元素选择就像css selector一样。
详细信息请见:http://jquery.com/。
另外jquery还把一些UI控件集成为一套库,叫做ui.jquery,大家可以去http://ui.jquery.com%c2%a0/看看demo(建议看的时候不要喝水、吃东西,会喷出来的)。
接下来要介绍dojo,这也是一套类似于prototype的库,不过我没有怎么用过,功能方面似乎与prototype基本类同,还是属于比较底层的库。目前也有一些基于dojo的控件和应用。想了解dojo的信息,
请看http://dojotoolkit.org/
另 外的两个比较有名的框架就是Yahoo UI和Google Web Toolkit了,这两个相信大家都比较熟悉,特别是 Google Web Toolkit更是解决了如何用java代码来写javascript的问题,即通过编译器和解析程序生成javascript, 这是一个很不错的功能。
这一点,.NET仍然做的不足,我们仍然要通过大量的RegisterScriptBlock来解决问题动态javascript 生成问题,从开发体验的角度讲,这样容易分散程序员的经历,因为程序员不得不平凡地切换思考模式,一会儿是写.NET代码,一会儿是写 Javascript代码。不过呢,有人已经注意到了这个问题,并且开发了Script#,就是专门用来解决.NET下的JavaScript开发体验问 题,个人用下来还是不错的,大家可以去http://projects.nikhilk.net/Projects/ScriptSharp.aspx%C2%A0了解Script# (http://www.nikhilk.net/ScriptSharpIntro.aspx)。
还 有一款不得不介绍的JavaScript开发框架就是extjs,现已经cnblogs上有人在介绍这个库的一些开发心得了。这款开发框架并不像 jquery和prototype那样,严格意义上讲jquery和prototype只能算开发库,而extjs则是真正的开发框架,它不仅仅解决了底 层的浏览器兼容问题、通用的一些开发功能,也为开发者提供了大量的内建控件库,例如,用于布局的BorderLayout、Viewport,用于生成表 单的FormPanel等等,请注意,这些控件都是内建的,而非基于extjs开发,这个差别直接导致了整个开发框架的完整性有很大程度的提高,对于开发 人员来说,与其把很多来自第三方基于一套库开发的控件放到一个项目中来,倒不如直接用内建的控件来得方便,而且整合度更高,代码可靠性也高。extjs 还有一点值得称道,那就是它为其他javascript开发库提供了兼容适配器,主要为jquery,prototype+ Script.aculo.us和Yahoo UI提供了适配器,这是其他开发库所没有涉及的,这直接说明extjs的开发者们很有远见,融百家之众 长,把其他库好的地方直接引入为我所用。有关 extjs的详细信息你可以访问http://extjs.com/。
另 外,微软的ASP.NET AJAX以及Silverlight中也引入了相应的JavaScript库,虽然以我个人的角度看,这些库还无法与第三方开 源库相抗衡,但对于微软自己的产品来说是足够了,当然这是一个信号,预示着在微软未来的开发库中,JavaScript将占据相当比重,特别是当 Silverlight后续版本发布的时候。这里要澄清一点,在过去几个月中,曾经看到过一些文章中说微软的Silverlight与 ASP.NET AJAX的定位有重合,所以有人认为ASP.NET AJAX是没有意义的,是微软的决策失误,但从我个人的角度看,就目前的 Silverlight 1.0(1.1目前没有release,不纳入讨论范畴)而言,它与ASP.NET AJAX并不冲突,Silverlight 是针对高端RIA应用的,而ASP.NET AJAX则更多地瞄准低端RIA,至于最后会不会把这两个产品整合,我目前不敢断言,但从技术发展的趋势看, 微软在未来2-3年内很有可能会推出RIA Foundation(个人猜测,不代表微软官方观点)。从技术角度看,Silverlight选择 JavaScript作为脚本引擎自然有它的道理,一方面是因为减少重复开发,没有必要像Adobe的Flash那样再做一个ActionScript, 劳命伤财~~另一方面是因为它能很好地与现有的 AJAX及低端JavaScript应用整合,这是一个很明智的选择,如果你要把应用程序移植到 Flash上,还是有相当的ActionScript要重写(虽然Flash也支持JavaScript交互),但是如果移植到Silverlight上 完全不需要这么麻烦,Silverlight能与以前的程序形成互补,这就是差别。
FROM: http://hi.baidu.com/sj_lj/blog/item/20b905248de33330c8955936.html
补充:
MooTools
MooTools是一个简洁,模块化,面向对象的JavaScript框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的JavaScript代码。Mootools跟prototypejs相类似,语法几乎一样。但它提供的功能要比prototypejs多,而且更强大。比如增加了动画特效、拖放操作等等。
MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.
官方英文: http://mootools.net/
中文网: http://www.mootool.net/
图书:
征服Ajax:Dojo、Prototype、script.aculo.us框架解析与实例(附光盘)
全书分为8章,第1章介绍Ajax技术的基本概念及技术基础;第2、3章分别介绍Prototype框架和script.aculo.us框架;第4、5章配合使用Prototype和script.aculo.us框架实现了两个Ajax应用实例--网络书签和个性化主页;第6章对Dojo开发工具包的原理和使用方法进行了详细介绍;第7章介绍关于Dojo的高级话题;第8章使用Dojo开发工具包实现了一个具有基本功能的电子邮件系统。通过对本书的学习,读者不但能了解和掌握Dojo、Prototype 和script.aculo.us开发框架,而且能以书中所提供的实例为原型,快速运用成熟框架开发类似应用系统。
本书是一本注重理论与实践结合的基础教程,适合Web开发人员阅读和参考。
prototype
prototype中文使用手册:http://www.ruby-china.cn/prototype/ (PROTOTYPE 1.5.1 RC1)