Dojo 官網 https://dojo.io
Dojo 提供了一套設計現代 web 應用程序的完整解決方案,項目需要時也可以逐步的模塊化。Dojo 框架可以隨着應用程序的複雜性而擴展,可構建的內容從簡單的預渲染站點一直到企業級的單頁面 web 應用,包括跨多種設備的、接近本地 app 體驗的漸進式 web 應用程序。
Dojo 提供了各種各樣的框架組件、工具以及構建管道,它們協助解決許多端到端 web 應用程序的開發問題。
管理複雜的應用程序
- 開發稱爲 Widget 的簡單且模塊化的組件,這些組件可通過多種方式組裝,以實現日益複雜的需求。
- 使用響應式的狀態管理和數據流來連接部件,當應用程序的狀態更改時,Dojo 框架就可以高效地渲染更新。
- 使用集中的、面向命令的數據存儲來管理高級的應用程序狀態。
- 允許用戶使用聲明式路由在單頁面應用程序(SPA)內導航,並支持跟蹤歷史記錄。
- 通過功能切換檢測來禁用處於開發階段的功能——甚至在構建時刪除未使用的模塊,縮減應用程序的交付大小。編寫適合在瀏覽器或服務器上運行的程序。
創建高效的應用程序
- 通過虛擬化 DOM(VDOM)聲明部件結構,避免高昂的 DOM 操作和佈局抖動。
- 簡化資源分層和綁定,縮減用戶實際需要的應用程序交互時間(Time-to-Interactive)。當模塊及其依賴跨多個綁定時,Dojo 框架能自動將 import 轉換爲延遲加載。
創建全面的應用程序
- 開發支持主題的部件和應用程序,從而將頁面外觀和頁面功能隔離,並通過一種極其簡單的方式在整個應用程序中實現外觀一致。
- 使用一套支持國際化(i18n)、可訪問性(a11y)以及現成主題的 UI 部件
- 使用國際化(i18n)框架支持多套區域設置,包括通過 Unicode CLDR 實現高級的消息格式化。
創建可適配的應用程序
- 開發漸進式 web 應用程序(PWA),支持與本地設備 APP 類似的功能,如離線使用、後臺數據同步和推送通知。
- 使用構建時渲染(BTR),提供可以與服務器端渲染(***)的應用程序媲美的預渲染功能,並且不需要託管到動態的 web 服務器上。創建完全不使用 JavaScript 的、真正的靜態站點;或者藉助 BTR 讓應用程序實現更好的首次加載體驗。
- 利用先進的 web 技術,如 Web Animations、Intersection Observers 和 Resize Observers。Dojo 框架爲用戶在多種運行環境上使用最新功能提供了一致的應用程序體驗。
- 如果需要的話,需要定製的應用程序可以脫離 Dojo 的構建管道,轉而使用自己的解決方案,並只使用框架提供的部分功能。
加快開發
- 使用簡單的命令行界面(CLI)啓動新項目,並持續的構建和驗證。支持行業最佳實踐且類型安全和穩健的構建管道,能立即提升開發人員的工作效率。
- 快速構建與 Dojo 自帶的部件庫具有相同功能的自定義部件,包括自定義主題。