《静静的dojo》 总体教程介绍
web2.0时代,ajax技术成为整个前端开发领域的基石。大部分的书籍、博客由此切入来介绍前端类库与框架,所以dojo往往只被当做一个ajax类库来介绍,然而仅仅以此来定位dojo,无异于管中窥豹。对于dojo来讲,关于ajax的封装只是dojo框架中的一小部分,dojo的定位是一个从前往后一手包办的企业级开发框架。
目前在模块化开发盛行的前端开发中,requireJs无疑是最受推崇的一位。只是很少有人知道requireJs出自dojo框架,dojo加载器的开发者就是requireJs的作者。曾经有一位使用dojo多年的哥们出去面试,面试官问他,是否熟悉模块化开发。哥们很诧异的问道:难道你们以前不用模块化吗?在dojo中模块化开发的理念是与生俱来的,我们的教程的第一部分,让大家最先接触的就是模块化开发理念与AMD规范,内容安排如下:
- 前端模块化开发理念与AMD规范介绍
- 自己动手实现一个AMD加载器
- dojo中对AMD的支持(dojoConfig)
在模块化的基础上,dojo整体分为三个部分:dojo、dijit、dojox。对应的源码分为三个文件夹,dojo文件夹下的是整个dojo框架的核心模块,而且这部分也可以单独拿出去作为一个独立的类库,性能可是不亚于jquery。dojo核心作为本系列的教程的第二部分,内容安排如下:
- 介绍几个重要又常用的工具类(lang、array、sniff与has)
- 介绍将JavaScript模拟成支持类声明的declare模块
- 介绍DOM操作模块,涉及dojo/dom、dojo/dom-*、dojo/domReady、dojo/ready、dojo/form、dojo/io-query
- DOM查询与NodeList介绍,涉及dojo/query、dojo/NodeList-*
- dojo中的切面编程与事件编程机制,涉及dojo/aspect、dojo/on、dojo/topic、dojo/Evented、dojo/touch
- Promise编程模型介绍与dojo对其的支持,涉及dojo/when、dojo/promise/*、dojo/Deferred
- dojo中Ajax部分的封装与架构设计,涉及dojo/request/*
- 动画的原理与dojo对动画部分的设计与封装,涉及dojo/fx、Animation、动画原理
- 国际化问题(i18n、date与number在不同地区的格式显示问题、rtl、bidi)
dijit部分是dojo框架提供的一系列UI组件,包含了布局控件、表单控件、tree、grid等。在本系列教程中dijit作为第三部分,但我们只介绍两个方面:
- 自定义dijit(涉及dijit/registry、dijit/_WidgetBase、dijit/_TemplatedMixin、dijit/_WidgetsInTemplateMixin、dojo/Stateful、dijit/Destroyable)
- dojo中的css framework以及自定义theme
dojox中是一些作为dojo和dijit部分的候选模块,里面有一些新功能与新控件,但是并没有像dojo与dijit那样得到dojo团队的全力支持。这一部分在2.0中将被选择性的添加到dojo或dijit,剩下的便废弃掉,所以对于这里面的内容我只提一下我在工作中遇到的几个模块即可。
如果你下载过dojo源码,一定会发现与dojo、dijit、dojox同级别目录下还有一个util目录。这个目录里面是dojo提供的打包、压缩工具,对这一部分的介绍放在第三部分——打包与测试中。
没有经过测试的产品是不能上线的,我们会介绍一个新的前端测试框架——intern。结合打包压缩,第三部分安排如下:
- 使用dojo打包应用程序
- intern的介绍与环境搭建
- 使用intern来编写单元测试
- 使用intern来编写自动化测试
《静静的dojo》 总体教程介绍的更多相关文章
- 基于Metronic的Bootstrap开发框架经验总结(8)--框架功能总体界面介绍
在前面介绍了一系列的<基于Metronic的Bootstrap开发框架经验总结>的随笔文章,随笔主要是介绍各个知识点的内容,对框架的总体性界面没有很好的阐述,本篇随笔主要介绍这个Boots ...
- 基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍
在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+Ea ...
- 最近想学Json,请问大家有没有什么好的Json教程介绍一下?
最近想学json,请问大家有没有什么好的Json教程介绍一下? 最近学完java的框架了,想了解一下json,可是找不到相关视频,请大家有这方面的Json教程好资料就介绍下啦,最后有网址链接啦. {} ...
- dojo学习教程
Dojo 作为最著名的 Ajax 开源项目之一,不仅让 Web 程序员可以免费获得和使用其框架进行 Web 应用的开发,更吸引了大量的开发者对其不断的扩充,开发新的组件.DojoX 就是在这样的开发社 ...
- 基于MVC4+EasyUI的Web开发框架形成之旅(5)--框架总体界面介绍
在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+Ea ...
- PyQt5教程——介绍(1)
PyQt5教程阅读须知 “PyQt5教程”系列若不做明显提示,默认翻译自zetcode. 有需要翻译精度的朋友可以自行阅读英文文档. 如果本系列博文侵犯了您的合法权益,请在博客中留下评论或联系:che ...
- Xshell入门教程介绍
免费软件 Xshell和 Xftp 都是 NetSarang 出品的优秀网络管理.安全传输工具.Xshell 是一个免费的安全终端仿真器,可以作为 SSH.TELNET 或 RLOGIN 的终端模拟, ...
- (转)基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍
http://www.cnblogs.com/wuhuacong/p/3344096.html 在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章 ...
- Camunda BPM的总体架构介绍
前言 Camunda是一个基于Java的框架,支持用于工作流和流程自动化的BPMN.用于案例管理的CMMN和用于业务决策管理的DMN. 本篇文章我们仅考虑BPMN流程引擎,先不涉及CMMN和 ...
随机推荐
- 关于openssl几个API的一点小收获
今天心血来潮突然想搞搞openssl了,趁着端午小假,刚好有空可以鼓捣孤岛自己喜欢的东西,出去东奔西跑的实在太造孽了,还是宅起来给自己充充电吧.下载openssl最新代码1.0.1g,修复了" ...
- JAVA网络编程
网络技术基础 OSI模型 应用层-表示层-会话层-传输层-网络层-数据链路层-物理层 TCP/IP分层模型 应用层-传输层-网络互联层-网络接口层Socket(套接字) TCP套接字编程 Serv ...
- <<Design Patterns>> Gang of Four
One:Introduction: One-1:Before delving into the some twenty pattern designs, it's necessary for ME ...
- mysql分页原理和高效率的mysql分页查询语句
该博来自网络转载!!!供自己学习使用!!! 以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我们又该怎 ...
- sql中的日期查询
今天的所有数据: 昨天的所有数据: 7天内的所有数据: 30天内的所有数据: 本月的所有数据: 本年的所有数据: 查询今天是今年的第几天: select datepart(dayofyear,getD ...
- Runloop 深入理解(转)
RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理.之后会介绍一下在 iOS 中,苹果是如何利 ...
- 收藏的 500多个开源的Git源码
由dkhamsing发起的Open-Source iOS Apps收集了各种开源的iOS App,并进行了详细的分类,比如游戏.社交.健康.键盘.定位.多媒体.新闻.办公.安全以及小工具类等.截至目前 ...
- 完全用CSS实现的表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【洛谷P3076】Taxi
这道题值得好好想一会 我们通过对一些小数据的手算,以及对于每段路程的拆分,可以发现: 1.每个st对应的ed这段路程无论如何都要算上 2.额外还要计算的一段路程,就是"切换"费用 ...
- Win7 64位命令行编译cuda及设置Windows显卡响应时间
在开始菜单中找到Visual Studio 2013 >> Visual Studio Tools 选择86或64版本的VC命令提示符环境,我用的 VS2013 x86 Native To ...