VLC 是一个免费的、开源的跨平台多媒体播放器,由 VideoLAN 项目 开发。与所有文件和屏幕的无缝兼容性是 VLC 设计的核心。VLC 能够播放大多数本地视频和音频文件以及各种流媒体协议,并且大量第三方应用使用 VLC 引擎来处理视频播放。最终,VideoLAN 的开发者希望用户能够在任何地方播放任何内容——无论他们喜欢什么设备或屏幕尺寸。
该团队最初为 Android 设计了 VLC 应用,不久之后,用户就开始请求在 Chromebook 上获得相同的体验。那时 VideoLAN 看到一个机会,可以通过将 VLC 带到 ChromeOS 来为用户提供桌面式体验。
通过针对 ChromeOS 和更大屏幕优化 Android 应用——以及从一开始就支持 x86 和 64 位 ARM——VideoLAN 确保 VLC 用户可以在各种不同的设备和尺寸上享受相同的沉浸式体验。
他们做了什么
团队首先注意到 VLC 用户在桌面上喜欢的功能,例如鼠标输入、右键菜单,并确保外部存储(即硬盘和 USB 闪存驱动器)正常工作。从那里开始,他们开始调整应用的布局和功能,以确保用户能够在类似桌面的环境中享受相同的这些功能。
键盘和鼠标支持
团队最重要的优化之一是支持键盘和鼠标输入。键盘支持允许用户使用快捷键和方向键轻松浏览应用程序,而鼠标输入则支持右键单击命令以及与 VLC 播放器之间文件的拖放操作。
动态调整大小
VideoLAN 设计了多个版本的布局,以便用户可以轻松缩放和调整应用程序的大小。由于团队已经为平板电脑设计了 VLC 的布局,因此适应更大、更宽的布局是一个相当简单的过程。他们还调整了播放器的音频设置,以利用大屏幕上额外的可用空间。
之前,团队需要使用单独的模拟器或单独的设备来测试每个布局。但是,借助 ChromeOS 对 Android 的支持,团队能够在同一设备上同时测试桌面、平板电脑和移动设备的 UI 布局,而无需使用模拟器。这大大加快了设计和测试时间。
现在有了ChromeOS 上的 Linux(测试版),开发人员可以使用 Android Studio 原生构建和测试 Android 应用,使 Chromebook 成为可用于开发的设备。
使用 Kotlin 编写代码
最棒的是,团队所有工作都在Kotlin中完成,这是一种强大的编程语言,通过编写更安全、更简洁的代码帮助他们提高了生产力。通过减少应用程序的代码库,他们能够减少用于故障排除的时间,并有更多时间优化应用程序的布局和功能。
“我们通常不愿意对代码进行重大重构或重写,因为我们有可能会丢失功能,”VideoLAN 的首席 Android 开发人员 Geoffrey Métais 说。“我们很高兴发现从 Java 迁移到 Kotlin 的过程非常顺利,这要感谢 Android Studio 内置的迁移工具,而 Kotlin 的协程框架帮助我们提高了性能。”
结果
VideoLAN 使用相同的 APK 用于移动设备、ChromeOS 和 Android TV,因此首席开发人员只需两个月的时间即可优化每个平台的应用程序。用户几个月来一直在要求 VLC 支持 ChromeOS,尤其是在 DVD 播放方面,到目前为止,团队收到了 overwhelmingly positive feedback(极其积极的反馈)。此外,最新版本的 ChromeOS 完全支持外部存储,因此每个 Android 用户现在都可以享受到同样的好处。
“我们的团队一直在寻找新的机会,为我们的用户带来最大的影响,”VideoLAN 总裁 Jean-Baptiste Kempf 说。“针对 Chromebook 的优化帮助我们将应用程序扩展到大量的设备和尺寸规格,根据来自世界各地用户的反馈,我们显然达到了目标。”
开始使用
查看一些最佳实践,了解如何优化您的 ChromeOS 应用。