Chrome 开发者大会已于数周前结束,下面是该大会系列报告的第一篇。大会非常强调移动开发和跨设备开发,因此我们将从这两方面入手!
Paul Kinlan 撰写的“移动 Web 应用的最佳用户体验模式”
在分析前 1, 000 个网站的移动设备适用性后,我们发现了一些问题领域:53% 的网站仍仅提供桌面版体验,82% 的网站在移动设备上存在互动性问题,64% 的网站存在用户难以阅读的文字。
快速提升移动网络体验的要点
- 始终定义视口
- 使内容适应视口
- 将字体大小保持在可读的水平
- 限制 Web 字体的使用
- 适当调整点按目标的大小和间距
- 为输入元素使用语义类型
PageSpeed Insights 刚刚推出了用于确定网站移动设备适用性的用户体验分析。该分析有助于您发现网站移动用户体验方面的常见问题。试试看!
“多设备无障碍功能”(Alice Boxhall)
用户会通过各种设备访问您的网站和服务,这些设备具有各种不同的无障碍要求。通过使用正确的语义元素和正确的 ARIA 角色,您可以帮助浏览器和辅助技术更好地了解您的网页。
了解和解决无障碍问题的关键方法
- 确保提供良好的仅限键盘用户体验
- 通过正确选择元素和使用 ARIA 表达界面的语义
- 在桌面设备上使用 ChromeVox,在 Android 设备上使用 TalkBack 进行测试。
- 试用 Chrome 无障碍功能开发者工具扩展程序
- 越来越多样化的受众群体开始上网,这进一步凸显了提高网站无障碍性的重要性
“使用 Chrome WebView 构建移动应用”(Matt Guant)
我们都知道,开发者在过去构建 WebView 时遇到过的问题:HTML5 功能有限、没有调试工具、没有构建工具。随着 Android 4.4 (KitKat) 中引入 Chromium 为依托的 WebView,开发者现在可以使用各种新工具,通过 WebView 构建出色的原生应用。
WebView 支持使用与 Chrome 相同的工具进行完整的远程调试。您还可以使用 Grunt 实现可信的 Web 开发工作流,并通过 Gradle 将其集成到原生堆栈工具中。为了进一步融合这两种世界,我们提供了一个巧妙的技巧,可让您使用 Chrome 开发者工具通过 JavaScript 测试原生代码。
有效 WebView 开发要点
- 重要的不是新功能,而是您现在可以用来加快工作流速度的工具
- 请勿尝试模仿原生界面。但请务必移除一些表明其为网络内容的标志。
- 在适当的情况下使用功能的原生实现。例如,对于大型文件,请使用 DownloadManager 而非 XHR。
针对跨设备环境优化工作流程(作者:Matt Gaunt)
如果我们必须针对桌面设备、移动设备、平板电脑、穿戴式设备和其他外形规格进行开发,您如何优化工作流程,让工作更轻松?您可以使用 LiveReload、Grunt、Yeoman 和新推出的 Mini Mobile Device Lab 这套成熟的多设备方法快速迭代。最后,如果您没有要测试的实际硬件,部分提供商可通过云端提供此类硬件。
要点
- 我们需要支持的设备数量只会越来越多
- 使用 Grunt 和 Yeoman 打造合适的工作流
- 借助 Mini Mobile Device Lab 简化跨浏览器和跨设备测试
- 使用 Chrome 开发者工具模拟、标准模拟器、基于云的模拟器(例如 Saucelabs、Browserstack 和 appexperience)以及第三方模拟器 Genymotion 做出明智的模拟器选择
- 移动设备测试不仅仅是通过 Wi-Fi 连接进行测试,还可以使用代理来模拟较慢的网络速度
网络连接:可选(作者:Jake Archibald)
我们从本次演讲中学到了很多知识:Jake 在演讲时不穿鞋;Business Kinlan 即将出版新书;浏览器供应商非常重视离线功能,您很快就能获得有助于您打造出色的离线体验的工具。
ServiceWorker 可为我们提供所需的灵活性,让我们能够轻松构建引人入胜的离线优先体验,而不会受到 AppCache 带来的困扰。您甚至可以使用 Polyfill 试用该 API。
使用 ServiceWorker 解决问题
- 在下一代渐进式增强功能中,我们将网络视为一种潜在增强功能
- 借助 ServiceWorker,您可以通过可编写脚本且可调试的方式完全控制网络请求
- 如果您提供离线体验,请不要等到网络连接中断时才显示离线体验,因为这可能需要很长时间