最佳实践 best-practices

NOTE
Adobe建议对需要基于单页应用程序框架的客户端渲染(例如React)的项目使用SPA编辑器。 了解详情

构建AEM Mobile On-demand Services应用程序与构建直接在Cordova(或PhoneGap)外壳中运行的应用程序不同。 开发人员应该熟悉:

  • 现成支持的插件和特定于Adobe Experience Manager (AEM) Mobile的插件。
  • 使用插件功能的模板应以这样的方式编写,即仍然可以在浏览器中创作这些模板,而无需使用插件桥。

    • 例如,确保等待 deviceready 函数。

AEM开发人员指南 guidelines-for-aem-developers

以下准则可帮助符合条件的AEM开发人员创建要构建移动应用程序模板和组件的网站:

构建AEM站点模板以鼓励重复使用和可扩展性

  • 与单个整体脚本文件相比,更喜欢多个组件脚本文件

    • 提供了多个空扩展点,例如 customheaderlibs.htmlcustomfooterlibs.html,这允许开发人员更改页面模板,同时尽可能少地复制核心代码
    • 随后,可通过Sling的 sling:resourceSuperType 机理
  • 与将JSP作为模板语言相比,首选Sightly/HTL

    • 使用此选项鼓励将代码与标记分离,提供内置的XSS保护,并具有更熟悉的语法

优化设备上性能

  • 应使用dps-article contentsync模板将特定于文章的脚本和样式表包含在文章有效负荷中
  • 通过dps-HTMLResources contentsync模板,由多个文章共享的脚本和样式表应包含在共享资源中
  • 请勿引用任何渲染阻止的外部脚本
NOTE
您可以详细了解渲染阻止外部脚本 此处.

与特定于Web的相比,更喜欢特定于应用程序的客户端JS和CSS库

  • 避免jQuery Mobile等库处理大量设备和浏览器的开销
  • 当模板在应用程序的Webview中运行时,您可以控制应用程序将支持的平台和版本,并了解是否支持JavaScript。 例如,与jQuery Mobile和Onsen UI相比,偏好Ionic(只是CSS)与Bootstrap。
NOTE
要更深入地了解jQuery移动设备,请单击 此处.

与全栈库相比,更倾向于使用微库

  • 将内容放到设备玻璃上的时间被您的文章所依赖的每个库所减慢。 使用新的Web视图呈现每篇文章时,这种减速会更加严重,因此必须从头开始再次初始化每个库
  • 如果您的文章未构建为SPA(单页应用程序),则可能不需要包含Angular等全栈库
  • 首选更小的单用途库,这些库可帮助添加页面所需的交互性,例如 FastclickVelocity.js

最小化文章有效负载的大小

  • 使用尽可能最小的资产,以便以合理的分辨率有效地覆盖您支持的最大视区
  • 使用工具,如 ImageOptim 以删除任何多余的元数据

快速入门 getting-ahead

要详细了解其他两个角色和职责,请参阅以下资源:

recommendation-more-help
2eeeb575-8007-40cc-a72d-206fbc4ddd4b