《静静的dojo》 总体教程介绍

简介:

 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来编写自动化测试
目录
相关文章
|
1月前
|
JavaScript 前端开发
【前端web入门第一天】03 综合案例 个人简介与vue简介
该网页采用“从上到下,先整体再局部”的制作思路,逐步分析并编写代码实现个人简介页面。内容涵盖尤雨溪的背景、学习经历及主要成就,同时介绍其开发的Vue.js框架特点。代码结构清晰,注重细节处理,如使用快捷键提高效率,预留超链接位置等,确保最终效果符合预期。
|
2月前
|
JavaScript 前端开发 算法
【Vue秘籍揭秘】:掌握这一个技巧,让你的列表渲染速度飙升!——深度解析`key`属性如何成为性能优化的秘密武器
【8月更文挑战第20天】Vue.js是一款流行前端框架,通过简洁API和高效虚拟DOM更新机制简化响应式Web界面开发。其中,`key`属性在列表渲染中至关重要。本文从`key`基本概念出发,解析其实现原理及最佳实践。使用`key`帮助Vue更准确地识别列表变动,优化DOM更新过程,确保组件状态正确维护,提升应用性能。通过示例展示有无`key`的区别,强调合理使用`key`的重要性。
51 3
|
2月前
|
JavaScript 前端开发
JavaScript引入全攻略:提升网页加载速度的秘诀!
JavaScript引入全攻略:提升网页加载速度的秘诀!
|
5月前
|
前端开发 数据挖掘
第二十章 案例TodoList之动态数据
第二十章 案例TodoList之动态数据
|
JavaScript 前端开发
前端学习案例-Vue手动封装实现一个五星评价得效果
前端学习案例-Vue手动封装实现一个五星评价得效果
261 0
前端学习案例-Vue手动封装实现一个五星评价得效果
|
JSON JavaScript 数据格式
jQuery综合代码--(方便复习)
jQuery综合代码--(方便复习)
36 0
|
JavaScript 前端开发 Go
【SolidJs】仅次于原生JS的超级性能!SolidJs框架教程【上】(1)
背景 今天被战友种草了一款前端框架,打开链接看文章,在各个指标的比较下,SolidJs脱颖而出,下面简单介绍一下这个框架,然后开始记录一下学习笔记。(Golang的事情暂时放一放,毕竟咱是专业前端「手动狗头」)。
456 0
|
前端开发
【网页前端】CSS进阶综合案例
【网页前端】CSS进阶综合案例
134 0
【网页前端】CSS进阶综合案例
|
JavaScript API
【SolidJs】仅次于原生JS的超级性能!SolidJs框架教程【中】
Children 在SolidJs中,如果在组件中写一些children,并非仅仅作为展示,而需要在子组件中处理children时,需要用到children函数。
340 0
|
前端开发 JavaScript 编译器
【SolidJs】仅次于原生JS的超级性能!SolidJs框架教程【上】(2)
背景 今天被战友种草了一款前端框架,打开链接看文章,在各个指标的比较下,SolidJs脱颖而出,下面简单介绍一下这个框架,然后开始记录一下学习笔记。(Golang的事情暂时放一放,毕竟咱是专业前端「手动狗头」)。
441 0