6

我正在尝试评估是否应该使 .NET Framework 成为我的新 Windows 应用程序的要求。我相信 .NET 是编写 Windows 客户端应用程序的最佳和最有效的方式,所以它归结为下一个最佳替代方案的痛苦程度。具体来说,我试图避免安装 .NET 客户端配置文件,该配置文件下载 28MB,如果它像常规的 .NET Framework 安装程序一样,则需要很长时间。

我以前使用过 wxWidgets 和 WTL,认为两者都是不错的选择。静态链接的 wxWidgets 可执行文件是 30MB,但它会被打包。WTL 占用空间小,但使用丑陋的代码创建。我使用了一些 MSI 创建者,但不是 WiX 或 NSIS,它们似乎是最好的免费选择。

我正在寻找任何建议、使用客户端配置文件安装程序的经验、使用小型自定义业务应用程序的经验或任何相关建议。

编辑:我在这里只赚几千美元,所以我正在寻找免费或便宜的东西(在我已经拥有的 Visual Studio 之后)。我不介意学习一门新语言,但我更喜欢使用越来越多的语言。

4

16 回答 16

10

实际上,您可以使用大量使用大型库(例如:boost)来制作 MFC 应用程序,这些库将编译为静态链接的 10MB 以下,具体取决于您包含的代码量和使用的功能。如果不包含大量二进制资源,即使是大型 32 位应用程序也不太可能超过 28MB。该路径的好处可能在很大程度上取决于您使用 C++ 和 MFC 的经验,但它肯定是一种选择(而且,作为奖励,您不依赖于预安装的任何框架的特定版本,或强制任何系统发生变化)。

于 2008-12-16T03:47:47.013 回答
9

您应该强烈考虑Codegear中的 Delphi 或 C++Builder 。

两者都生成紧凑的本机 Win32 应用程序,使用出色的双向 RAD 系统和 VCL 框架构建。有大量的免费和商业第三方组件,一个活跃的用户社区,并且 Codegear 现在似乎完全致力于本地开发,同时通过RemObjects的新 Delphi Prism 系统在 .NET 领域保持活跃。

编辑:Gortok 询问“以 Delphi IDE 的成本,你怎么能推荐 Delphi?”

简单的。我认为这是值得的。我不知道你的时间值多少钱/收费,但你可以算一下。Delphi 2009 售价 874 美元。我认为 Visual Studio 2008 Pro 的价格也差不多。

如果你真的没有钱,那么你可以免费获得Turbo Delphi,就像啤酒一样。它基本上是 Delphi 2006 的精简版,因此在功能方面有点错误和落后 - 但仍然绝对可用。

于 2008-12-16T12:02:13.163 回答
7

这取决于您如何分发应用程序。如果您有 cd 或其他物理媒体的选项,您可以通过该媒体分发运行时,而 28Mb 不算什么。

否则,您确实需要处理 28Mb 的下载。您的另一个选择是放弃 .Net 并选择另一个工具包。C++ Builder/Delphi 选项曾经很有吸引力,但我不知道他们的平台现在是什么样子的。

[更新]
我最近听到传言说单声道已经足够好,您可以使用它来编译和静态链接 .Net 应用程序作为本机 *.exe 文件。我们将不得不看看这是否是一个不错的选择。

于 2008-12-16T03:41:10.007 回答
7

Qt呢?它生成的应用程序占用空间小,非常容易学习,它支持与 VS200x 的完全集成,并且(您可能不需要)它独立于平台 - 甚至可以在 WinCE 上运行而无需(大)更改。

于 2008-12-16T10:10:54.400 回答
6

你试过德尔福吗?

Delphi 非常适合快速应用程序开发 (RAD)。您可以构建表单,例如 dotNet,拖放组件。在我看来,它非常适合商业应用程序。

唯一的问题是你必须学习 Pascal,但这应该不是问题。Delphi 被编译并且非常快(类似于 c++)。

为什么不下载 Delphi 的试用版并尝试一下呢?

我能想到的一个优点是您不需要安装任何额外的包来运行您的应用程序(不是 dotNet 运行时或 c++ 可再发行组件)。

另一个要记住的好点是,它有 dotNet 支持并且有 Prism。

于 2008-12-16T12:09:48.047 回答
4

在相关建议类别下:

构建 .NET 平台是有原因的,并不是因为 Win32 易于编程。有Delphi,有Tcl/TK,还有MFC,但除非这些选项中的任何一个都比 .NET 更容易设计和部署,否则最好在 .NET 中吞下 28Mb 的下载和设计。

使用 .NET(冒着听起来像啦啦队长的风险),你会得到

  • 拖放式 UI 设计,
  • .NET 框架的强大功能(让我们面对现实吧,您正在为 Windows 构建——让他们完成繁重的工作是一个主要的好处)
  • 接近平台独立性(取决于Mono有多好)
  • 低成本

因此,如果时间是一个考虑因素,那么在 .NET 中进行开发。如果不考虑时间,那么您需要原始功能,并且您对 C++ 和 MFC 非常熟悉,然后使用它。Delphi 也是一种可能,但他们的开发平台的成本对我来说有点高。

于 2008-12-16T03:48:54.280 回答
3

RealBasic怎么样。

它有一个托管运行时(类似于 .NET,但没有那么强大)并在 windows/linux/mac 上运行,运行时大小约为 3MB

使用的语言是 BASIC 的方言,并且有一个很好的 WYSIWYG 设计器,支持拖放。

于 2008-12-16T16:00:20.123 回答
2

使用 Visual Basic 6 编写应用程序比编写 .NET 更容易,而且占用空间比 .NET 运行时小得多。

当然,没有人提到它的原因是它现在是一种垂死的语言。但只是想我会像其他人一样提到它。

于 2008-12-16T11:16:06.767 回答
2

我同意,您应该使用 wtlbuilder.com 在 C++ 中使用 WTL 进行编码

于 2009-01-07T20:16:00.767 回答
1

最终答案在小部件框架中,最简单的框架为您包装了 windows 窗口 api。以我的经验,最简单的框架是......

1./ 带有 c# 或 VB.NET (.NET) 的 Windows 窗体

2./ 带有 Delphi 或 C++ Builder 的 Visual Component Library (VCL)(作为本机应用程序的附加优势,并且没有额外的库要求)

3./ 使用 C# 或 VB.NET 的 Windows Presentation Framework(或基础)

4./ MFC - (颤抖)与 Visual C++

然后还有许多其他较少使用的框架,如 PowerBuilder 等。

于 2008-12-16T03:51:06.057 回答
1

如果您担心运行时下载,只需使用 .NET 1.1 而不是最新最好的 .NET Framework。我认为 XP(或至少其中一个服务包)预装了它。在某些时候,您不得不说,如果有人使用的是 Windows 2000 或更早版本,那么您就无能为力了。

于 2008-12-16T13:05:05.750 回答
1

我建议U++解决另一个问题:

今天有哪些“最好的”跨平台 C++ UI 工具包?

如果您喜欢 C++,一旦您尝试使用 U++,您会惊叹于它的美丽、优雅、轻量级、无 .NET,因为您的需求要求并积极使用 C++。

于 2009-01-07T20:28:21.863 回答
1

我也推荐 REALbasic。我用它来创建很多 Windows 客户端应用程序,而且它在大多数情况下都运行良好。

于 2009-01-11T22:35:01.973 回答
1

带有 Lazarus IDE 的开源 Free Pascal 编译器可能是一种选择。我也用 Free Pascal 编译和测试了我的大部分 Delphi 组件和库。对于用户界面,Lazarus 提供了自己的可视化组件库 FCL。

于 2009-03-26T21:49:48.190 回答
1

使用 Realbasic。它是最简单、最快的,并且不需要依赖项。(因为它的小运行时包含在您的 exe 中)

于 2011-05-17T20:03:32.333 回答
0

另一种选择是将 Mono 与 mkbundle 一起使用。Mkbundle 将您的应用程序及其引用的所有程序集打包到一个二进制包中。

这是一个关于它的 Mono 页面的链接。

于 2008-12-16T12:47:10.873 回答