将 Web 应用程序移植到 Chrome OS(支持多显示器)

Porting web application to Chrome OS (with multi-monitor support)

我正在将一个应用程序移植到 ChromeOS,要求它的外观和感觉尽可能原生。这尤其意味着它应该允许诸如多显示器支持和 USB 支持之类的东西。

一种可能性是将其实现为 Web 应用程序(因为我们已经有一个 Web 客户端),但在这种情况下,我需要添加对本机功能的支持(同样,多显示器支持和 USB 设备访问), 所以我想知道在这种情况下需要做什么。作为 ChromeOS 开发新手,我的大胆猜测是我需要使用 ChromeOS JavaScript 功能扩展代码,我不知道这是否可能。

另一种可能的方法是编写 Android 应用程序,因为我看到 ChromeOS 添加了对 Android 应用程序的支持(在这种情况下,我将不得不从头开始编写代码)。

最后,另一种选择是编写本机代码,例如依赖于 Crouton 开发环境,并重用本机 C 应用程序的代码。

对于从网络应用程序或原生应用程序开始构建 ChromeOS 应用程序,您建议采用哪种方法?

什么方法可以保证访问本机功能(多显示器支持和 USB)?

我发现了两个 API 应该有助于多显示器支持:

system.display API allows one to discover and monitor the current monitor layout, while the windows API 允许在同一应用程序中创建多个 windows。通过组合这些,我应该能够为每个监视器创建一个 window,以防我采用 chrome 实施路线。

考虑到我已经有了 Linux 的本机实现,Crostini (as opposed to Crouton) 也非常有吸引力,因为它提供了更深层次的集成,几乎无需更改代码,也无需维护两个不同版本的 Web 客户端,唯一的缺点是它需要用户创建 Linux 环境并手动安装应用程序,而且并非所有 chromebook 设备和许多设备都支持它永远不会得到支持。

我还需要检查性能开销是多少。此外,与 USB I/O 的集成级别可能高于使用 chrome API.

可实现的级别