2008-12-16 30 views
4

我想評估是否應該讓我的新Windows應用程序的.NET框架的要求。我相信.NET是編寫Windows客戶端應用程序的最佳和最有效的方式,因此下一個最佳選擇是多麼痛苦。具體來說,我試圖避免安裝.NET客戶端配置文件,該配置文件下載28MB,如果它像常規的.NET Framework安裝程序一樣需要永久使用。編寫.NET以外的Windows客戶端應用程序的最佳方式是什麼?

我以前使用過wxWidgets和WTL,並認爲兩者都是很好的選擇。靜態鏈接的wxWidgets可執行文件爲30MB,但將被打包。 WTL佔地面積很小,但使用難看的代碼創建。我已經使用了幾個MSI創作者,但它不是WiX或NSIS,這似乎是最好的免費選擇。

我正在尋找任何建議,使用Client Profile安裝程序的經驗,使用小型自定義業務應用程序的經驗或任何相關建議。

編輯:我在這裏只賺幾千塊錢,所以我正在尋找免費或便宜的東西(在我已經擁有的Visual Studio之後)。我不介意用一種新語言學習,但我更喜歡那種正在使用中增長的語言。

+0

爲什麼大小是一個約束? – 2008-12-16 13:11:52

+0

下載大小是一個約束,因爲安裝時間太長,看起來很糟糕。 – 2008-12-16 14:32:55

+0

如果庫的大小超過了.NET Framework本身......那麼我認爲沒有不使用.NET的意義? – chakrit 2008-12-16 15:11:13

回答

7

這取決於你如何分發應用程序。如果您有CD或其他物理媒體的選項,則可以通過該媒體分發運行時,而28Mb則不算什麼。

否則你確實有28Mb的下載來處理。您的其他選擇是放棄.Net並選擇另一個工具包。 C++ Builder/Delphi選項過去非常有吸引力,但我不知道他們的平臺現在是什麼樣子。

[更新]
我最近聽說過單聲道越來越好,你可以使用它來編譯靜態鏈接.Net應用程序作爲本機* .exe文件。我們將不得不看看,如果這是一個很好的選擇。

+0

從CD安裝是一個好主意,它讓我不知所措。 – 2008-12-16 04:18:30

+0

這些天互聯網相當快。我不會讓2分鐘的下載讓我害怕使用.NET。我看過Adobe Reader的更新比這更大。 – 2009-01-07 20:40:11

+0

這也是一個更新 – ccook 2009-01-11 22:38:02

10

你實際上可以製作一個MFC應用程序,其中大量使用大型庫(例如:boost),這些應用程序將編譯爲10MB以下的靜態鏈接,具體取決於您包含多少代碼以及使用哪些功能。如果沒有大量的二進制資源,即使是大型的32位應用也不會超過28MB。這條道路的好處很大程度上取決於你對C++和MFC的使用經驗,但它肯定是一種選擇(並且,作爲獎勵,你不依賴於預安裝的任何框架的特定版本,或者強制任何系統改變)。

+0

我有很多MFC的經驗。足以知道這是一個非常好的選擇,我仍然不想使用它。 :-) – 2008-12-16 04:19:28

4

下的有關建議的類別:

還有就是爲什麼.NET平臺建成一個原因,而不是因爲Win32的很容易方案。有Delphi,有Tcl/TK,有MFC,但除非任何這些選項比.NET更容易設計和部署,否則在吞噬28Mb下載和.NET設計方面會好得多。

在.NET(在聽起來像一個啦啦隊的風險),你會得到

  • 拖動和拖放UI設計,
  • 的力量。NET框架(讓我們面對它,你正在構建的Windows - 讓他們做繁重是主要獎金)
  • 近平臺獨立性(取決於Mono有多好)
  • 低成本

所以如果時間是一個考慮因素,那麼在.NET中開發。如果時間不是考慮因素,你需要原始的力量,並且你對C++和MFC非常適應,然後使用它。德爾福也是一種可能性,但他們的開發平臺的成本對我來說有點陡峭。

1

最終答案是在窗口小部件框架中,最簡單的框架爲您封裝了Windows窗口API。在我的經驗,最簡單的框架是...

1 /窗戶用C#或VB.NET(.NET)形式

2 /可視化組件庫(VCL)與任德爾福或C++ Builder(附加優點被本機應用程序,而沒有附加的庫的要求)

3./Windows演示框架(或基礎)與C#或VB.NET

4./MFC - 用Visual C(發抖)++

然後有一個其他的主機l ess使用框架,如PowerBuilder等。

7

Qt怎麼辦?它生成的佔用空間很小的應用程序,學習起來非常簡單,它支持與VS200x的完全集成以及(您可能不需要的)它獨立於平臺 - 甚至可以在沒有(大)變化的情況下在WinCE上運行。

1

甚至比編寫.NET,並用更小的內存比.NET運行時更容易 - 是寫在Visual Basic 6

當然,之所以應用爲什麼沒有人提到它是現在它是一種垂死的語言。但只是想我會提到它,沒有其他人。

8

您應該強烈Codegear考慮Delphi或C++ Builder。

兩者都生成緊湊的原生Win32應用程序,使用雙向RAD系統和VCL框架構建。有大量的免費和商業第三方組件,一個活躍的用戶社區,Codegear現在似乎完全致力於本地開發,同時通過RemObjects新的Delphi Prism系統保持在.NET領域的活躍。

編輯:Gortok問「隨着Delphi IDE的成本,你怎麼能建議Delphi?」

簡單。我認爲這是值得的。我不知道你的時間值多少,但你可以做數學。德爾福2009年的成本爲874美元。我認爲Visual Studio 2008 Pro價格是相似的。

如果你真的沒有錢,那麼你可以免費得到Turbo Delphi,就像啤酒一樣。它基本上是Delphi 2006的一個縮減版本,所以有點buggier和後面,功能明智 - 但仍然絕對可用。

6

你有沒有試過德爾福?

Delphi對於快速應用程序開發(RAD)非常有用。您可以構建表單,如dotNet,拖放組件。在我看來,它是完美的商業應用程序。

唯一的問題是,你將不得不學習帕斯卡,但它不應該是一個問題。 Delphi編譯速度非常快(類似於C++)。

爲什麼不下載Delphi的試用版並試用?

另外我能想到的是,您不需要安裝任何額外的軟件包來運行您的應用程序(而不是dotNet運行時或C++可再發行組件)。

要記住的另一個好處是,它有dotNet支持,並有棱鏡。

1

如果你擔心運行時的下載,只需要使用.NET 1.1,而不是最新和最偉大的.NET Framework。我認爲XP(或至少一個服務包)隨附預裝。在某些時候,你必須說,如果有人使用Windows 2000或更早的版本,那麼你可以爲他們做的事情不多。

3

RealBasic怎麼樣。

它有一個管理的運行時(類似於.NET,但不是強大),並運行在windows/linux下/ MAC和運行時的大小約爲3MB

使用的是BASIC語言的方言,有一個很好的所見即所得的設計師與拖ñ支持。

2

我同意,你應該用WTL用C++編寫代碼使用wtlbuilder.com

1

我也推薦REALbasic。我使用它來創建大量的Windows客戶端應用程序,並且它在大多數情況下運行良好。

1

帶有Lazarus IDE的開源免費Pascal編譯器可能是一個選項。我使用Free Pascal編譯並測試了大部分Delphi組件和庫。對於用戶界面,Lazarus提供了自己的可視化組件庫FCL。

1

與Realbasic一起去。這是最簡單,最快速的,不需要依賴關係。 (因爲它的小運行時間包含在你的exe中)

相關問題