首先介紹一下dojo的特性:

1、Dojo是一個符合AMD規範的企業級框架(dojo是一個重量級框架)

2、Dojo全面支援非同步載入JS機制(即:支援通過require非同步載入JS模組,通過define定義符合AMD規範的標準JS直接物件(模組))

3、Dojo不僅提供了針對javascript的語句優化(dojo核心語法與jquery完全不同,需要額外學習),還提供了所有UI元件

4、Dojo支援IE6以上瀏覽器,Dojo幫助我們處理了瀏覽器相容性問題,所以不需要擔心 Web 頁面是否在某些瀏覽器中可用

5、Dojo 提供打包工具可以優化 JavaScript 程式碼,並且只生成部署應用程式所需的最小 Dojo 包集合

dojo與jquery相比優點:

1、dojo支援IE6以上的瀏覽器,jquery不再支援IE9以下瀏覽器(國內IE9以下瀏覽器份額依舊佔據半壁江山)

2、dojo不僅提供jquery的JS優化操作還提供UI元件

3、dojo中所有功能都基於非同步JS實現,jquery需要藉助第三方requireJS等非同步載入框架實現非同步載入JS。

jquery相比dojo優點:

1、jquery很輕量級,而dojo很重,dojo的壓縮包都在36M以上。

2、jquery靈活方便,jquery只提供js的優化操作,本身不提供UI元件,開發者可以採用任意第三方UI框架進行實現

注:闡述JS非同步載入機制,舉個例子:我在應用中只需要用到jquery的ajax方法,卻需要把整個jquery.js包載入才能使用,而非同步載入機制則是單獨把ajax方法封裝為一個JS模組,只在用到的時候require一個ajax模組,而不是一股腦把所有JS載入進瀏覽器。

總結:

dojo是重量級框架,適合企業級開發,並且通過非同步JS模組載入機制解決了企業級開發中大量載入JS導致的瀏覽器崩潰問題,本身提供了UI元件完全可以滿足所有需求,不在需要其他第三方框架,為企業級開發提供了全套的解決方案(有了dojo,不再需要其他框架)。

jquery很靈活很輕量級,適合輕量級的web應用開發,結合requireJS也可實現非同步載入JS模組,瀏覽器相容性需要開發者自行調校。