2013-07-07 146 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製作的。

相關問題