Dojo 簡介

官網 https://dojo.io

Dojo 提供了一套設計現代 web 應用程序的完整解決方案,項目須要時也能夠逐步的模塊化。Dojo 框架能夠隨着應用程序的複雜性而擴展,可構建的內容從簡單的預渲染站點一直到企業級的單頁面 web 應用,包括跨多種設備的、接近本地 app 體驗的漸進式 web 應用程序。git

Dojo 提供了各類各樣的框架組件、工具以及構建管道,它們協助解決許多端到端 web 應用程序的開發問題。github

管理複雜的應用程序

  • 開發稱爲 Widget 的簡單且模塊化的組件,這些組件可經過多種方式組裝,以實現日益複雜的需求。
  • 使用響應式的狀態管理和數據流來鏈接部件,當應用程序的狀態更改時,Dojo 框架就能夠高效地渲染更新。
  • 使用集中的、面向命令的數據存儲來管理高級的應用程序狀態。
  • 容許用戶使用聲明式路由在單頁面應用程序(SPA)內導航,並支持跟蹤歷史記錄。
  • 經過功能切換檢測來禁用處於開發階段的功能——甚至在構建時刪除未使用的模塊,縮減應用程序的交付大小。編寫適合在瀏覽器或服務器上運行的程序。

建立高效的應用程序

  • 經過虛擬化 DOM(VDOM)聲明部件結構,避免高昂的 DOM 操做和佈局抖動。
  • 簡化資源分層和綁定,縮減用戶實際須要的應用程序交互時間(Time-to-Interactive)。當模塊及其依賴跨多個綁定時,Dojo 框架能自動將 import 轉換爲延遲加載。

建立全面的應用程序

建立可適配的應用程序

  • 開發漸進式 web 應用程序(PWA),支持與本地設備 APP 相似的功能,如離線使用、後臺數據同步和推送通知。
  • 使用構建時渲染(BTR),提供能夠與服務器端渲染(SSR)的應用程序媲美的預渲染功能,而且不須要託管到動態的 web 服務器上。建立徹底不使用 JavaScript 的、真正的靜態站點;或者藉助 BTR 讓應用程序實現更好的首次加載體驗。
  • 利用先進的 web 技術,如 Web AnimationsIntersection ObserversResize Observers。Dojo 框架爲用戶在多種運行環境上使用最新功能提供了一致的應用程序體驗。
  • 若是須要的話,須要定製的應用程序能夠脫離 Dojo 的構建管道,轉而使用本身的解決方案,並只使用框架提供的部分功能。

加快開發

  • 使用簡單的命令行界面(CLI)啓動新項目,並持續的構建和驗證。支持行業最佳實踐且類型安全和穩健的構建管道,能當即提高開發人員的工做效率。
  • 快速構建與 Dojo 自帶的部件庫具備相同功能的自定義部件,包括自定義主題