Dojo 用Dojo的javascript库去建立Ajax应用
James E. Harmon
一:前言
在我们学习Dojo工具包之前,如果说Dojo工具包里有你需要学习的东西,那么你应该注意你想学习的东西。我们有一个合适的目标就是创建一个有用的Javascript库,使那些javascript高手门不用在自己发明轮子。随着Ajax技术的火热出现,我发现在短期内,Dojo工具包被成千上万的开发者和上百万的用户在使用。
假设任何一个项目或企业他的发展速度超过了它的预期,那么它所引起的麻烦也会随之而来。由于Dojo toolkit的快速的成功,它在性能、可读行、可用性和文档方面的不完善的地方也暴露了出来,为了解决这些问题,我门已经花费了18个月的时间。开源项目都有一个臭名,就是在市场和文档方面都做的不好,当然dojo也没有逃出这个规则。随着发布版本0.9到1.1或是其它的版本,我们发现它的文档和API帮助文档都得到了很到的完善,这些进步是值的我们骄傲的,这些已经大于项目本身存才的瑕疵。
在这些源码文档、演示、例子程序之外,我们需要许多的本书。在我们学习新东西的时候最困难的是如何去问问题。Dojo中的一些本地化东西、一些哲学的思想都是非常高效和有用的,但是对于初学者来说就不知道从什么地方开始学习了。不管是Dojo还是广义上的Ajax,学习者都需要了解许多的技术,这些技术包括服务端的编程语言到客户端的javascript、css、Html和Dom,外加各中诡异浏览器的特性和它们本身之间的不一致性。类似于Dojo这样的开发工具包可以最大限度的把开发人员从这些麻烦琐碎的事务中解脱出来。对于那些喜欢创新的开发者,他仍然需要卷入这麻烦的风波中。
Dojo的繁荣兴旺理不开它的透明开发式的开发流程,所有的代码的版权都是在AFL和BSD控制下的,Dojo的版权的重心是授予而不是控制。
我们的项目接受了上百的个人的贡献,也得到了许多公司的贡献,例如:AOL、 GOOGLE、 IBM、 NEXTWEB 、RENKOO 、SITEPEN 、SUN 、WaveMaker等等。加入我们的开发贡献团队有一个非常低的门槛,但还是比较严格的,就是所有贡献的源代码都必须符合Dojo的lience协议,为了确保Dojo的使用在当前或者在未来都不会引起。
我们的创新和实践超过任何其它工具包,在dojox中引入的新功能也超过先前的任何工具包。
我第一次碰到James Harmon是在他的关于Dojo的报告会上。Jame的讲演方式使内容变的简单,尽管Alex Russell和我都喜欢不留情面询问每个特性的细节,但James总是能够把复杂的东西讲的很简单,使人们快速的掌握Dojo的概念。
这本书也采用相同的方法,尽量清楚的介绍如何用dojo来创建web站点和web应用,即使是那些不是javascript高手也可以和容易的利用dojo工具包来做这件事。
Dylan Schiemann
CEO, SitePen
Cofounder, Dojo Toolkit