是否可以在使用 HTML 和 CSS 作为用户界面的同时开发 C++ 程序?我知道使用 Webkit 容器使用 Javascript 进行编程,但我对 C++ 开发非常感兴趣。
当我在 Windows 下开发时,我就爱上了 C# WPF,但是现在我搬到了 Linux,我还没有找到一个很好的工具来使用接口标记。为此,我想将非常轻量级且易于使用的 HTML 和 CSS 与 C++ 代码和 WPF 之类的东西混合使用。
哦,还有一件事:我正在寻找桌面开发,而不是 Web。
是否可以在使用 HTML 和 CSS 作为用户界面的同时开发 C++ 程序?我知道使用 Webkit 容器使用 Javascript 进行编程,但我对 C++ 开发非常感兴趣。
当我在 Windows 下开发时,我就爱上了 C# WPF,但是现在我搬到了 Linux,我还没有找到一个很好的工具来使用接口标记。为此,我想将非常轻量级且易于使用的 HTML 和 CSS 与 C++ 代码和 WPF 之类的东西混合使用。
哦,还有一件事:我正在寻找桌面开发,而不是 Web。
对的,这是可能的。你想要的是一个 C++ Web 框架。您可以从CppCMS开始——一个免费的高性能 Web 开发框架(不是 CMS),旨在快速 Web 应用程序开发。
编辑:澄清问题后,我认为Awesomium将非常适合您的需求。
您可以通过嵌入 WebKit(或 Gecko)来实现相同的功能,但据我所知,这正是 Awesomium 在幕后所做的。
一个替代方案是librocket——一个为游戏应用程序设计的 C++ 接口中间件包。正如您可以从描述中猜到的那样,它非常适合游戏或实时应用程序。
Sciter就是这样 - 带有 C/C++ API 的可嵌入 HTML/CSS 引擎。紧凑和多平台。
并查看这篇文章。
Sciter 具有与WPF 相同的功能集,但使用 HTML/CSS 而不是 XAML 并使用本机 API。
开箱即用的功能:
<plaintext>
- 带有语法高亮的编辑器,<htmlarea>
- 所见即所得的 HTML 编辑器,<frame type=pager>
- 打印预览和 HTML/CSS 打印,在 Windows、MacOS 和 Linux 上运行的 Sciter UI 的相同应用程序来自相同的来源:
免责声明:我是 Sciter Engine 的作者。
2021 年更新:您还可以使用Sciter.JS,它是使用标准 JavaScript (ES2020) 脚本引擎的 Sciter 版本。
您可以使用Chromium Embedded Framework在您的应用程序中嵌入 HTML5 内容。您将获得 Chromium 的强大功能和速度,并能够以与开发 Web 应用程序相同的方式构建 GUI 应用程序。
我建议查看Ultralight HTML UI Engine
Not Open Source, Available for C++。支持 OpenGL 和 DirectX 渲染。
Ultralight 是在 C++ 应用程序中集成 HTML UI 的更轻、更快的选项。
它是由 Awesomium 的创建者制作的,他不幸决定删除 Awesomium。
如果您需要更重的东西,我建议您看看CEF。这是一个非常强大(和开源)的工具。
2021年写作。
您可以使用 Web 程序集 ( https://webassembly.org/ )。Web 程序集或 WASM 允许您使用任何语言(例如 C++)编写应用程序。然后将其编译为浏览器可以运行的 Web 程序集。像其他程序集一样考虑 wasm,但对于浏览器。在撰写此答案时,所有主要浏览器都附带 WASM 引擎,因此入门不会遇到任何问题。
参考 C++ 的 Web 程序集官方文档:
免责声明:我与 WASM 没有隶属关系