《静静的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来编写自动化测试
目录
相关文章
|
6月前
|
前端开发 测试技术 UED
React性能优化的神奇之处:如何用懒加载与代码分割让你的项目一鸣惊人?
【8月更文挑战第31天】在现代Web开发中,性能优化至关重要。本文探讨了React中的懒加载与代码分割技术,通过示例展示了如何在实际项目中应用这些技术。懒加载能够延迟加载组件,提高页面加载速度;代码分割则将应用程序代码分割成多个块,按需加载。两者结合使用,可以显著提升用户体验。遵循合理使用懒加载、编写测试及关注性能等最佳实践,能够更高效地进行性能优化,提升应用程序的整体表现。随着React生态的发展,懒加载与代码分割技术将在未来Web开发中发挥更大作用。
71 0
|
6月前
|
前端开发 UED 开发者
React组件优化全攻略:深度解析让你的前端应用飞速运行的秘诀——从PureComponent到React.memo的彻底性能比较
【8月更文挑战第31天】在构建现代Web应用时,性能是提升用户体验的关键因素。React作为主流前端库,其组件优化尤为重要。本文深入探讨了React组件优化策略,包括使用`PureComponent`、`React.memo`及避免不必要的渲染等方法,帮助开发者显著提升应用性能。通过实践案例对比优化前后效果,不仅提高了页面渲染速度,还增强了用户体验。优化React组件是每个开发者必须关注的重点。
103 0
|
6月前
|
JavaScript 前端开发 API
尤雨溪分享 Vue.js 10 年的发展历程,谈谈我看完后的启发和感受!!
尤雨溪分享 Vue.js 10 年的发展历程,谈谈我看完后的启发和感受!!
|
JavaScript 前端开发 API
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】(二)
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】
211 0
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】(二)
|
存储 缓存 API
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】(三)
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】
220 0
|
存储 移动开发 JavaScript
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】(一)
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】
376 0
|
JavaScript
js基础笔记学习274练习5之二
js基础笔记学习274练习5之二
95 0
js基础笔记学习274练习5之二
|
缓存 自然语言处理 JavaScript
《JS原理学习 (1) 》学习路线规划
《JS原理学习 (1) 》学习路线规划
|
JavaScript 前端开发 Go
【SolidJs】仅次于原生JS的超级性能!SolidJs框架教程【上】(1)
背景 今天被战友种草了一款前端框架,打开链接看文章,在各个指标的比较下,SolidJs脱颖而出,下面简单介绍一下这个框架,然后开始记录一下学习笔记。(Golang的事情暂时放一放,毕竟咱是专业前端「手动狗头」)。
496 0
|
前端开发 JavaScript 编译器
【SolidJs】仅次于原生JS的超级性能!SolidJs框架教程【上】(2)
背景 今天被战友种草了一款前端框架,打开链接看文章,在各个指标的比较下,SolidJs脱颖而出,下面简单介绍一下这个框架,然后开始记录一下学习笔记。(Golang的事情暂时放一放,毕竟咱是专业前端「手动狗头」)。
526 0

热门文章

最新文章