web2.0时代,ajax技术成为整个前端开发领域的基石。大部分的书籍、博客由此切入来介绍前端类库与框架,所以dojo往往只被当做一个ajax类库来介绍,然而仅仅以此来定位dojo,无异于管中窥豹。对于dojo来讲,关于ajax的封装只是dojo框架中的一小部分,dojo的定位是一个从前往后一手包办的企业级开发框架。

  目前在模块化开发盛行的前端开发中,requireJs无疑是最受推崇的一位。只是很少有人知道requireJs出自dojo框架,dojo加载器的开发者就是requireJs的作者。曾经有一位使用dojo多年的哥们出去面试,面试官问他,是否熟悉模块化开发。哥们很诧异的问道:难道你们以前不用模块化吗?在dojo中模块化开发的理念是与生俱来的,我们的教程的第一部分,让大家最先接触的就是模块化开发理念与AMD规范,内容安排如下:

  1. 前端模块化开发理念与AMD规范介绍
  2. 自己动手实现一个AMD加载器
  3. dojo中对AMD的支持(dojoConfig)

  在模块化的基础上,dojo整体分为三个部分:dojo、dijit、dojox。对应的源码分为三个文件夹,dojo文件夹下的是整个dojo框架的核心模块,而且这部分也可以单独拿出去作为一个独立的类库,性能可是不亚于jquery。dojo核心作为本系列的教程的第二部分,内容安排如下:

  1. 介绍几个重要又常用的工具类(lang、array、sniff与has)
  2. 介绍将JavaScript模拟成支持类声明的declare模块
  3. 介绍DOM操作模块,涉及dojo/dom、dojo/dom-*、dojo/domReady、dojo/ready、dojo/form、dojo/io-query
  4. DOM查询与NodeList介绍,涉及dojo/query、dojo/NodeList-*
  5. dojo中的切面编程与事件编程机制,涉及dojo/aspect、dojo/on、dojo/topic、dojo/Evented、dojo/touch
  6. Promise编程模型介绍与dojo对其的支持,涉及dojo/when、dojo/promise/*、dojo/Deferred
  7. dojo中Ajax部分的封装与架构设计,涉及dojo/request/*
  8. 动画的原理与dojo对动画部分的设计与封装,涉及dojo/fx、Animation、动画原理
  9. 国际化问题(i18n、date与number在不同地区的格式显示问题、rtl、bidi)

  dijit部分是dojo框架提供的一系列UI组件,包含了布局控件、表单控件、tree、grid等。在本系列教程中dijit作为第三部分,但我们只介绍两个方面:

  1. 自定义dijit(涉及dijit/registry、dijit/_WidgetBase、dijit/_TemplatedMixin、dijit/_WidgetsInTemplateMixin、dojo/Stateful、dijit/Destroyable)
  2. dojo中的css framework以及自定义theme

  dojox中是一些作为dojo和dijit部分的候选模块,里面有一些新功能与新控件,但是并没有像dojo与dijit那样得到dojo团队的全力支持。这一部分在2.0中将被选择性的添加到dojo或dijit,剩下的便废弃掉,所以对于这里面的内容我只提一下我在工作中遇到的几个模块即可。

  如果你下载过dojo源码,一定会发现与dojo、dijit、dojox同级别目录下还有一个util目录。这个目录里面是dojo提供的打包、压缩工具,对这一部分的介绍放在第三部分——打包与测试中。

  没有经过测试的产品是不能上线的,我们会介绍一个新的前端测试框架——intern。结合打包压缩,第三部分安排如下:

  1. 使用dojo打包应用程序
  2. intern的介绍与环境搭建
  3. 使用intern来编写单元测试
  4. 使用intern来编写自动化测试

《静静的dojo》 总体教程介绍的更多相关文章

  1. 基于Metronic的Bootstrap开发框架经验总结(8)--框架功能总体界面介绍

    在前面介绍了一系列的<基于Metronic的Bootstrap开发框架经验总结>的随笔文章,随笔主要是介绍各个知识点的内容,对框架的总体性界面没有很好的阐述,本篇随笔主要介绍这个Boots ...

  2. 基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍

    在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+Ea ...

  3. 最近想学Json,请问大家有没有什么好的Json教程介绍一下?

    最近想学json,请问大家有没有什么好的Json教程介绍一下? 最近学完java的框架了,想了解一下json,可是找不到相关视频,请大家有这方面的Json教程好资料就介绍下啦,最后有网址链接啦. {} ...

  4. dojo学习教程

    Dojo 作为最著名的 Ajax 开源项目之一,不仅让 Web 程序员可以免费获得和使用其框架进行 Web 应用的开发,更吸引了大量的开发者对其不断的扩充,开发新的组件.DojoX 就是在这样的开发社 ...

  5. 基于MVC4+EasyUI的Web开发框架形成之旅(5)--框架总体界面介绍

    在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+Ea ...

  6. PyQt5教程——介绍(1)

    PyQt5教程阅读须知 “PyQt5教程”系列若不做明显提示,默认翻译自zetcode. 有需要翻译精度的朋友可以自行阅读英文文档. 如果本系列博文侵犯了您的合法权益,请在博客中留下评论或联系:che ...

  7. Xshell入门教程介绍

    免费软件 Xshell和 Xftp 都是 NetSarang 出品的优秀网络管理.安全传输工具.Xshell 是一个免费的安全终端仿真器,可以作为 SSH.TELNET 或 RLOGIN 的终端模拟, ...

  8. (转)基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍

    http://www.cnblogs.com/wuhuacong/p/3344096.html 在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章 ...

  9. Camunda BPM的总体架构介绍

    前言    Camunda是一个基于Java的框架,支持用于工作流和流程自动化的BPMN.用于案例管理的CMMN和用于业务决策管理的DMN.   本篇文章我们仅考虑BPMN流程引擎,先不涉及CMMN和 ...

随机推荐

  1. Spring 4 官方文档学习(十五)CORS支持

    1.介绍 由于安全原因,浏览器禁止AJAX请求不在当前域内的资源.例如,你在一个浏览器标签中检查你的银行账户时,可能在另一个标签中打开了evil.com .来自evil.com的脚本绝对不可以用AJA ...

  2. [OSI]网络间通信流程

    PC 连接交换机A,组成内网.DNS Serv 和 Web Serv 连接交换机B 组成外网. 示意图: 内网通信 PC1 到 PC2: PC1 发送的数据先到交换机A,交换机A没有ARP地址缓存表, ...

  3. MongoDB(NoSQL) 入门

    一.简介 NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处, MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库. 本文主要讲述MongoD ...

  4. ASP.net MVC中页面跳转

    @Html.ActionLink("Home Name", "Index", "Home")Home name 是 跳转链接的名Index  ...

  5. 一些webGL的资源

    作为一个新手,把资源写在这里. 一个简介: http://www.html5china.com/HTML5features/WebGL/20111129_2985.html 类似NEHE OPENGL ...

  6. jQuery操作Dom、jQuery事件机制、jQuery补充部分

    jQuery操作Dom: 修改属性: //使用attr()方法 //attr(name, value) //name:要修改的属性的属性名 //value:对应的值 //attr方法,如果当前标签有要 ...

  7. android 不同dpi图标大小

    LDPI (Low Density Screen,120 DPI),其图标大小为 36 x 36 px.MDPI (Medium Density Screen, 160 DPI),其图标大小为 48 ...

  8. 命令安装VS

     Installing Visual Studio Visual Studio 2015   Other Versions Visual Studio 2013 Visual Studio 2010 ...

  9. 天气预报API(六):中国气象频道、腾讯天气--“新编码”接口的测试

    说明 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "新编码": 全国城市代码列表(新) 本文接口均不是官方接口,仅供测试使用! 腾讯天气 空气质量 ...

  10. Windows 8.1 应用开发文章汇总

    Windows 8.1 应用再出发 - C# + XAML  1. Windows 8.1 应用再出发 - 创建我的第一个应用 2. Windows 8.1 应用再出发 - 几种常用控件 3. Win ...