我想向 SO 社区询问以下信息: - 是否可以为 Windows8-Metro 环境编译 WebKit,以 WinRT 组件的形式或仅作为 C++/XAML 应用程序中的链接库?- 实现这一目标的主要步骤是什么?- 哪些可能的事情会使这不可能或非常困难?- 是否有人正在努力?- 是否有可能聚集感兴趣的人,让他们从事这方面的工作?
3 回答
我认为你不能只为 WinRT/Metro 风格“编译”Webkit。Metro Style 应用程序的 API 调用类型受到限制,例如 WinRT 没有 GDI/GDI+/MFC。WebKit 有几种你可以使用的构建模式,你可以使用 QT 作为渲染引擎,或者使用 GTK,或者纯 GDI,但是在所有这些情况下,当你为 Windows 操作系统创建新的构建时,你将在最后。
不过,您可以修改 Webkit 源代码并添加使用 WinRT 新 API 的新渲染引擎。如果你这样做,你可能会成名。
附带说明一下,即使有 Chrome 的“Windows Store”版本,通过查看 Chromium 的源代码,在我看来这个版本只是一个简单的应用程序启动器,它使用“普通”桌面版本与IPC 通道。它似乎不是整个源代码的真正 Windows 应用商店构建。
我不确定 WinRT 环境是否允许这样做,但有一个名为Awesomium的项目是 Google Chrome 的包装器,我认为 Google Chrome 是基于 WebKit 的。它还具有 .NET 包装器,因此您可以将其嵌入到您的 .NET 应用程序中。
我从未尝试过使用它,也不知道这个库是否适用于 WinRT,但至少这是一个开始。
- 极品
- Awesomium .NET 示例
- DownMakerWPF,一个嵌入它以显示降价的应用程序。
WinRT 是托管代码和本机代码的组合,因此,您有机会移植 WebKit,但请记住 - 本机代码有一些沙盒限制。
您也可以选择 XNA。