簡體   English   中英

帶有.NET GUI的跨平台C ++應用程序?

[英]Cross-platform C++ application with .NET GUI?

我在跨平台桌面開發方面有幾年的經驗(Windows和MacOSX,而​​不是Linux(至少不是GUI應用程序))。 通常,我在帶有Cocoa的MacOSX上創建GUI,而在Windows上,我使用老式的Windows API。 我沒有使用Qt,因為啟動時它仍處於GPL許可之下。

我發現本機體驗非常重要,因此我將繼續使用Mac的Cocoa。 但是對於Windows,我正在考慮將.NET框架用於GUI代碼。 我沒有將.NET代碼與現有的跨平台C ++代碼庫集成的經驗,似乎可以使用C ++ / CLI或C#。

有人做過這種方法嗎? 效果很好嗎? 您是否需要將.NET Framework與安裝程序捆綁在一起? 添加的.NET代碼是否會給最終的可執行文件增加很多分量?

您可以使用Mono ,它非常好並且可以跨平台使用。

在Windows上,我建議您使用Visual Studio ,同時檢查它的Express版本(它不是跨平台的)。

有人做過這種方法嗎?

效果很好嗎?

當然!

您是否需要將.NET Framework與安裝程序捆綁在一起?

沒有

添加的.NET代碼是否會給最終的可執行文件增加很多分量?

要看

不是.Net:請同時檢查QtGTK + ;)

我考慮了這一點,但由於.NET框架的增長速度快了,所以您可以眨眼了。 NET 3.5是一個hundert MB下載,是的,您的用戶需要它。

我目前正在為我的應用程序開發GTK / Delphi / Cocoa跨平台庫。 我將Delphi編譯為DLL並從常見的C / C ++代碼庫中使用它,因為我發現Delphis VCL更好,更易於使用。

我同意-至少對於ISV而言-GUI的集成和質量變得越來越重要,因為這與免費開源軟件市場有重要區別。

是的,您需要將.NET Framework與安裝程序捆綁在一起,或者通知用戶他們需要安裝它並提供鏈接(如果尚未安裝)。 以我的經驗,添加的.NET代碼確實增加了可執行文件的重量,但是我發現,在沒有安裝.NET框架的計算機上安裝它會更加不便-安裝確實需要大量的時間時間。

Qt根據GPL獲得許可有什么意義? 請記住,這並不意味着您的代碼必須根據GPL進行許可; 我們使用Qt開發了許多專有應用程序。 但是,如果您修改 Qt並使用這些修改發布應用程序,則必須發布這些修改(而不是其余的任何代碼)。 我們在構建跨平台Qt應用程序方面取得了成功,並解決了一些主要的問題,主要是在多線程方面。

就.NET而言,C ++ / CLI可能是與現有C ++代碼庫集成的最輕松的方法。 必須安裝.NET框架才能運行該應用程序,但不一定必須將其與安裝程序捆綁在一起,這樣,已經擁有.NET的人們就不必再次下載它。 它肯定會增加可執行文件的重量,但普通台式機不會注意到它。 您的軟件設計和算法選擇將產生更大的影響。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM