2013-07-07 103 views
48

在用户界面中使用HTML和CSS时,是否可以开发C++程序?我知道使用Webkit容器进行Javascript编程,但我对C++开发非常感兴趣。我在Windows下开发时感觉爱上了C#WPF,但现在我转移到了Linux,并且我还没有找到使用标记接口的好工具。为此,我想用C++代码将HTML和CSS混合在一起,这些代码非常轻巧,易于使用,类似于WPF。如何使用HTML/CSS UI构建本机C++应用程序?

哦,还有一件事:我正在寻找桌面开发,而不是网络。

回答

26

是的,这是可能的。你想要的是一个C++ web框架。您可以从CppCMS开始,这是一个旨在实现快速Web应用程序开发的免费高性能Web开发框架(而非CMS)。

编辑:在问题澄清后,我认为Awesomium将非常适合您的需求。

您可以通过嵌入WebKit(或Gecko)来实现相同的功能,但据我所知,这正是Awesomium在幕后所做的。

另一种方法是librocket - 一个专为游戏应用程序设计的C++接口中间件包。正如您从描述中可以猜出的那样,它非常适合游戏或实时应用程序。

+2

但是这会编译为一个可执行文件?我正在寻找桌面,而不是网络。 – ranisalt

+4

是否希望用户能够启动浏览器并导航到http:// localhost /并使用应用程序的界面?或者你想让用户打开一个可执行文件并使用Web界面进行展示? – 2013-07-07 23:10:38

+12

@RobertDinu我想他想用C++构建一个桌面应用程序,然后用HTML/CSS –

19

Sciter就是这样 - 嵌入HTML/CSS引擎与C/C + + API。紧凑和多平台。

并检查this article

Sciter拥有相同的feature set as WPF,但使用HTML/CSS代替XAML并使用本机API。

特点开箱:

  • HTML,CSS,SVG,APNG(动画PNG格式),图像拼接,
  • <plaintext> - 语法高亮编辑器,
  • <htmlarea> - 所见即所得的HTML编辑器,
  • <frame type=pager> - 打印预览和HTML/CSS打印,
  • 动画,
  • HTTP CLI耳鼻喉科,REST/JSON的客户端,网页套接字的,DataSockets,

同一个应用程序从同一来源在Windows,MacOS和Linux上运行Sciter UI:

enter image description here

免责声明:我是Sciter Engine的作者。

+0

我是C++的初学者,但是我发现文档对于初学者来说很少和可怕。文档应该从如何运行代码块甚至shell中的演示开始,以查看它是否可行...请在你的项目 – repzero

+0

@repzero检查这篇文章http://www.codeproject.com/Articles/859098/Sciter-multiplatform-embeddable-HTML-CSS-scripting,我认为它适合C++初学者。 –

+1

@repzero作为代码块的,在IDE只需打开{sciter-SDK} /demos/usciter/usciter.cbp,选择Release64目标,并点击“生成和运行”按钮 - 你应该看到应用程序的运行。 –

5

您可以使用Chromium Embedded Framework将HTML5内容嵌入到您的应用中。 您将获得Chromium的可能性和速度,以及开发Web应用程序的相同方式构建GUI应用程序的能力。

3

我觉得Electron将是一个不错的除了其他的答案。

它使用的NodeJS运行WebKit的窗口。电子本身只是html/css/js,但您可以使用您的Electron App中的任何节点模块 - 包括自定义的本地编译的C++代码。嵌入C++代码的可能模块将是node-gyp。

但是,请注意,此工作流程可能包含比您对其他答案更多的JS。

我最喜欢的文本编辑器Atom是用Electron制作的。

相关问题