用户体验
Web 应用程序本质上是通过用户界面提供其体验的,应用程序作者需要考虑各种因素,以便最佳地向用户呈现此界面。一致的视觉呈现和可访问性通常是最明显的,但也存在关于应用程序逻辑和资产交付的效率和性能方面的担忧,所有这些都影响着用户体验 Web 应用程序的方式。
主题
应用程序提供最佳用户体验的一种方式是通过一致的呈现方式向最终用户提供。这可能与在类似元素中使用一致的字体系列一样简单,但也扩展到以公司色板呈现应用程序,甚至实施整个设计语言,例如 Material Design。
Dojo 的样式管道使用 CSS 模块将样式规则封装到特定的小部件中,并避免在大型代码库中交叉污染。但是,样式并非完全隔离 - 集中的 CSS 变量可以定义常见的主题属性,并在所有应用程序小部件之间共享。还可以为 Dojo 的小部件套件提供自定义主题。
有关如何创建应用程序主题的信息,请参阅 Dojo 样式和主题参考指南。
用户界面小部件套件
Dojo 通过其 小部件套件 提供了多个现成的用户界面组件。开发人员可以立即使用解决许多常见用户界面模式的小部件,例如组合框、按钮、列表、选项卡、文本输入和日历输入小部件等。
Dojo 的小部件原生支持 国际化、可访问性 和 主题,使开发人员能够灵活地提供适合其应用程序的用户体验,而无需创建定制的用户界面组件。
导航路由
虽然一些应用程序为用户提供了一个主要视图,用户可以在其中进行大部分工作,但许多应用程序包含更多用户可以访问的区域。帮助页面、设置面板或多步骤工作流程是应用程序可能具有多个不同界面(用户可以在任何给定时间访问)的示例。
应用程序的部分需要具有唯一的标识符,以便用户可以访问它们。这些标识符也需要支持书签和共享指向应用程序特定部分的链接。用户还需要一种在部分之间导航的方法,以便访问应用程序可能提供的全部功能。导航可以简单地是前进到流程的下一步,后退到上一步,或者根据用户的选择在多个选项之间随意跳转。
使用静态文件的传统网站自然具有可单独识别的部分,因为网站中的每个静态文件都可以单独访问。HTML 文件可以使用锚元素,允许用户通过单击链接在文件之间导航,而不是必须手动更改浏览器地址栏中的 URI。
顾名思义,单页 Web 应用程序只包含一个主文件,用户通过该文件访问整个应用程序。但是,这些单页应用程序可以使用 URI(及其所有固有优势)来识别每个子部分。
路由器组件在路由层次结构中提供导航选项,并处理调度到与可识别路由相对应的相关应用程序子部分。路由器还将处理任何错误条件,例如导航到不存在的路由。
Dojo 中的路由
Dojo 的路由系统允许应用程序将 URL 子路径注册为路由,这些路由链接到一种特定类型的小部件,称为 Outlet。当用户导航到特定路由时,将呈现注册到该路由的 Outlet 小部件。
虽然 Outlet 在用户导航到它们时会被“呈现”,但它们很少直接处理应用程序功能的呈现。Outlet 主要充当包装器,处理导航问题 - 查询参数的传递或处理错误回退 - 而是将功能呈现委托给应用程序中的其他小部件。
应用程序可以通过与 Outlet 关联的 Link 小部件为用户提供导航选项,这与在传统 HTML 页面中使用锚元素类似。
使用路由时,Dojo 的构建系统可以 自动生成应用程序中每个顶级路由的单独捆绑包。然后,每个捆绑包可以根据需要独立地交付给用户。
有关如何在应用程序中实现路由的详细信息,请参阅 Dojo 路由参考指南。