2009-07-08 120 views
8

網絡技術可以用於使用C++等傳統語言編寫的桌面應用程序嗎?我猜他們可以,但我一直無法找到任何證據。我瞭解Adobe AIR可以使用Flash製作桌面應用程序,但它使用web等語言,如php等。我想要做的是能夠構建我的GUI元素 - 編輯框,滑塊,菜單等,使用html/CSS - 而不是原生的小部件 - 在以傳統方式構建的應用程序中 - 例如使用Visual Studio。Web技術如何用於C++應用程序GUI?

有沒有人知道這是否已經完成,是否有任何軟件使其更容易,或者如果有人反對這種方法?

回答

3

Qt正朝着這個方向發展,CSS-like styling和即將到來的"declarative" UI mechanism

此外,你可以通過QtScript用Javascript驅動你的應用程序。

你也可以使用QtWebKit來提供一個基於HTML的用戶界面,它可以橋接C++代碼和Javascript之間。

+1

QtWebKit聽起來很有趣 - 但我想要一個GUI,它不需要強大的外部庫 - 只是一個符合標準的Web渲染器。 – Roderick 2009-07-09 02:10:02

+0

如果這對你很重要,你可以靜態鏈接到Qt。 – 2009-07-09 07:35:19

2

xul使用xml和CSS來定義GUI元素。

1

我已經參與了一個應用程序,TomTom公司HOME 2被構建爲在Mozilla的XULRunner框架大C++插件。這個框架與Mozilla FireFox共享,因此有很多共同之處。 TomTom HOME是免費的(如在啤酒中)下載,模型部分是可讀的Javascript,所以你可以看看它是如何工作的。

其前身TomTom HOME 1.x的構建方式與Antony Carthy描述的一樣,在Mac上包裝MSHTML(IE)ActiveX控件或Safari。 (免責聲明:TomTom已經提交了許多專利申請來與嵌入式瀏覽器進行通信;與JS引擎的ActiveX接口相當有限)

如果您擁有適當的MVC設計,並且它也很容易在實施期間保持模型/視圖分離清潔。你不能在模型中加入「快速入侵」來暴露模型的一些內部細節。視圖代碼是Javascript,它只能通過定義的接口訪問C++模型。

1

查看Awesomium SDK。它基於Chromium,支持Google Chrome。它是C++或.NET中使用html5/js/css Web UI的原生應用程序的橋樑。

相關問題