这一部分是你阅读本手册的基础。你或许认为“我对JavaScript和Web开发已经很熟悉了,可以略过本章”,但是阅读本章后,你可能会发现你知之甚少还需要加强基础知识。
当我们向用户介绍DoJo的时候,我们会碰到两个问题。有一种用户具有丰富的动态网页(DHTML)开发经验,对系统工作的机理具有充分的理解,知道JavaScript能做什么不能做什么。针对这种用户,很难使他们确信Dojo能够对他们有帮助;相反,对于这个领域的初学者,则更容易接受Dojo。但是,初学者的问题在于,他们既缺少DHTML的编程经验,也不知道JavaScript与其他语言的区别。
我鼓励上面两种用户都能够浏览本章,即便你不是每个内容都看。对于有经验的用户,看完之后或许能够打破你的一些偏见;对于初学者,那就从这里开始吧。
当我们向用户介绍DoJo的时候,我们会碰到两个问题。有一种用户具有丰富的动态网页(DHTML)开发经验,对系统工作的机理具有充分的理解,知道JavaScript能做什么不能做什么。针对这种用户,很难使他们确信Dojo能够对他们有帮助;相反,对于这个领域的初学者,则更容易接受Dojo。但是,初学者的问题在于,他们既缺少DHTML的编程经验,也不知道JavaScript与其他语言的区别。
我鼓励上面两种用户都能够浏览本章,即便你不是每个内容都看。对于有经验的用户,看完之后或许能够打破你的一些偏见;对于初学者,那就从这里开始吧。
1、本手册如何组织(没有翻译,略去)
2、什么是Dojo
3、Dojo体系结构
4、什么是“工具箱”:比较代码库(library),工具箱(toolkit)和框架(framework)之间的区别
5、Dojo如何帮助你开发
6、Dojo能给你什么
------------------------
2、什么是Dojo
(version4,由bill于2006-10-08日更新)
Dojo是用javascript编写的开源的DHTML“工具箱”。它是在以下几个开源项目代码的基础上编写的,nWidget,Burstlib,f(m);这也是为什么我们有时候称Dojo为“统一”工具箱。Dojo的目标是解决DHTML领域一些长期存在的历史问题,这些问题阻止了动态Web应用程序的大规模应用。
2、什么是Dojo
3、Dojo体系结构
4、什么是“工具箱”:比较代码库(library),工具箱(toolkit)和框架(framework)之间的区别
5、Dojo如何帮助你开发
6、Dojo能给你什么
------------------------
2、什么是Dojo
(version4,由bill于2006-10-08日更新)
Dojo是用javascript编写的开源的DHTML“工具箱”。它是在以下几个开源项目代码的基础上编写的,nWidget,Burstlib,f(m);这也是为什么我们有时候称Dojo为“统一”工具箱。Dojo的目标是解决DHTML领域一些长期存在的历史问题,这些问题阻止了动态Web应用程序的大规模应用。
Dojo是你能够轻易地在Web页面中或者其他Javascript运行环境中加入动态内容。你可以运用Dojo组件使你的网站更加有可用性,响应更快,功能更好。利用Dojo你可以更容易开发出可拖拉的用户界面,快速开发出交互性的控件。你可以使用Dojo底层API和兼容层开发出精巧的javascript模块或者简化复杂的代码;Dojo的事件系统,IO API和通用的语言增强特性构成了这个强大的开发环境的基础。 你可以利用Dojo编译工具开发命令行形式的javascript单元测试代码。Dojo编译进程帮助你优化你的javascript部署,编译进程可以将一些javascript文件分组存放,然后通过profiles重用这组文件。
Dojo通过如下方式实现上述的所有功能,Dojo具有一个很小的内核,该内核能够按照“包(package)”的结构方式管理代码,Dojo其他功能被分层组织在这个内核中。当你使用Dojo编写Script时,你可以include你所需要的Dojo API到你的文件中去(注:类似java中的import)。Dojo提供如下特性:
A)不同层次的开发人员,不管是script专家还是网页设计人员,都很容易上手
B)尽量保证代码与javaScript编译器无关
C)提供具有前瞻性的API
D)增强可用性,尽量降低使用门槛,
A)不同层次的开发人员,不管是script专家还是网页设计人员,都很容易上手
B)尽量保证代码与javaScript编译器无关
C)提供具有前瞻性的API
D)增强可用性,尽量降低使用门槛,
Dojo正在创建一种标记语言,它可以使开发人员以一种更加简单的方式声明和使用DHTML界面组件。这个标记语言可以在多个渲染环境中执行(例如SVG,或者Flash),但是标记语言(DojoML)和脚本语言(javascript)不会变。DojoML解析器也可以接受扩展HTML和SVG作为输入,使得创建DegradeableResponsiveApplications 更容易。(何为DegradeableResponsiveApplications? 我也搞不懂)
----------------------
3、Dojo体系结构
(Version8,由Carlavmott与2007-01-08日更新)
如图所示,Dojo工具箱由一组分层的代码库构成。最底层是“包系统”(packaging system),他可以使你针对你的应用定制Dojo。在“包系统”之上是Dojo的语言类库(language libraries),例如"Dojo时间系统"和“语言工具”,这些类库极大地简化javascript的开发。The environment-specific libraries are actually shrinking,as our support for SVG Now assumes that it resides inside an html container.
----------------------
3、Dojo体系结构
(Version8,由Carlavmott与2007-01-08日更新)
如图所示,Dojo工具箱由一组分层的代码库构成。最底层是“包系统”(packaging system),他可以使你针对你的应用定制Dojo。在“包系统”之上是Dojo的语言类库(language libraries),例如"Dojo时间系统"和“语言工具”,这些类库极大地简化javascript的开发。The environment-specific libraries are actually shrinking,as our support for SVG Now assumes that it resides inside an html container.
大半Dojo代码在应用支持类库中(application support libraries),因为太多了,所以在这张图中没有全部显示。gfx提供在主流平浏览器(浏览器支持svg和vml)上的矢量图形支持。lfg 是一个轻量级的增效包,而"I/O"是实现Ajax的包。
更高层是广受欢迎的Dojo控件库(widget toolkit),他包含了一组API和相关功能,用于在你的程序中定义和创建可重用的组件。
你的应用程序可以使用Dojo的任何一层或者所有层次的功能。Dojo就用来简化复杂javascript程序的开发。
PHP?refimg= + this.src)" alt="" src="http://img.jb51.cc/vcimg/000/004/250/885_bdc_572.jpg" border="0">
------------------------