《靜靜的dojo》 整體教程介紹

  web2.0時代,ajax技術成爲整個前端開發領域的基石。大部分的書籍、博客由此切入來介紹前端類庫與框架,因此dojo每每只被當作一個ajax類庫來介紹,然而僅僅以此來定位dojo,無異於管中窺豹。對於dojo來說,關於ajax的封裝只是dojo框架中的一小部分,dojo的定位是一個從前日後一手包辦的企業級開發框架。css

  目前在模塊化開發盛行的前端開發中,requireJs無疑是最受推崇的一位。只是不多有人知道requireJs出自dojo框架,dojo加載器的開發者就是requireJs的做者。曾經有一位使用dojo多年的哥們出去面試,面試官問他,是否熟悉模塊化開發。哥們很詫異的問道:難道大家之前不用模塊化嗎?在dojo中模塊化開發的理念是與生俱來的,咱們的教程的第一部分,讓你們最早接觸的就是模塊化開發理念與AMD規範,內容安排以下:前端

  1. 前端模塊化開發理念與AMD規範介紹
  2. 本身動手實現一個AMD加載器
  3. dojo中對AMD的支持(dojoConfig)

  在模塊化的基礎上,dojo總體分爲三個部分:dojo、dijit、dojox。對應的源碼分爲三個文件夾,dojo文件夾下的是整個dojo框架的核心模塊,並且這部分也能夠單獨拿出去做爲一個獨立的類庫,性能但是不亞於jquery。dojo核心做爲本系列的教程的第二部分,內容安排以下:jquery

  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做爲第三部分,但咱們只介紹兩個方面:web

  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提供的打包、壓縮工具,對這一部分的介紹放在第三部分——打包與測試中。ajax

  沒有通過測試的產品是不能上線的,咱們會介紹一個新的前端測試框架——intern。結合打包壓縮,第三部分安排以下:編程

  1. 使用dojo打包應用程序
  2. intern的介紹與環境搭建
  3. 使用intern來編寫單元測試
  4. 使用intern來編寫自動化測試
相關文章
相關標籤/搜索