代码之家  ›  专栏  ›  技术社区  ›  Dan Goldstein

除了.NET之外,什么是编写Windows客户端应用程序的最佳方法?[关闭]

  •  5
  • Dan Goldstein  · 技术社区  · 16 年前

    我正在评估是否应该将.NET框架作为我的新Windows应用程序的一项要求。我相信.NET是编写Windows客户端应用程序的最佳和最有效的方法,所以归根结底,下一个最佳选择是多么痛苦。具体来说,我试图避免安装.NET客户机配置文件,它下载28MB,如果它像常规的.NET框架安装程序,则需要花费很长时间。

    我以前使用过wxwidgets和wtl,我认为两者都是很好的选择。静态链接的wxwidgets可执行文件是30MB,但它将被打包。WTL的占地面积很小,但它是用难看的代码创建的。我已经使用了一些微星创建者,但它不是wix或nsis,这似乎是最好的自由选择。

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

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

    16 回复  |  直到 11 年前
        1
  •  7
  •   Joel Coehoorn    16 年前

    这取决于你如何发布应用程序。如果您可以选择CD或其他物理介质,则可以通过该介质分发运行时,28MB为零。

    否则,您需要处理28MB的下载。您的另一个选择是放弃.NET并选择另一个工具箱。C++Builder/Delphi选项曾经很吸引人,但我不知道这些天他们的平台是什么样子。

    [更新]
    我最近听到传言说Mono已经足够好了,你可以用它编译和静态链接一个.NET应用程序作为本机的*.exe文件。我们得看看这是否是一个好的选择。

        2
  •  10
  •   Nick    16 年前

    实际上,您可以使用相当大量的大型库(例如Boost)制作一个MFC应用程序,这些库将编译为静态链接的10MB以下,具体取决于您包含的代码数量和使用的功能。即使是大型的ISH 32位应用程序,如果不包含大量二进制资源,也不可能超过28MB。这条路径的好处可能很大程度上取决于您对C++和MFC的体验,但它确实是一种选择(并且,作为奖励,您不依赖于预先安装的任何框架的特定版本,或者强制任何系统更改)。

        3
  •  8
  •   Roddy    16 年前

    你应该 强烈地 从Delphi或C++Builder中考虑 Codegear .

    两者都可以生成紧凑的本机win32应用程序,这些应用程序使用强大的双向RAD系统和VCL框架构建。现在有大量免费和商业化的第三方组件、活跃的用户社区和codegear似乎完全致力于本地开发,同时使用新的delphi prism系统在.NET领域保持活跃。 RemObjects .

    编辑:Gortok问:“对于DelphiIDE的成本,您如何建议Delphi?”

    简单。我觉得值得。我不知道你的时间值多少钱,但你可以算数。Delphi2009价格为874美元。我认为Visual Studio 2008 Pro的价格也是一样的。

    如果你真的没有钱,那么你可以 Turbo Delphi 免费的,如啤酒。它基本上是一个削减版的Delphi2006,所以有点bugger和落后,功能方面-但仍然绝对可用。

        4
  •  7
  •   NlightNFotis    11 年前

    怎么样 Qt ?它生产的应用程序占地面积小,学习起来很容易,它支持与VS200X的完全集成,而且(也许你不需要)它是独立于平台的,甚至可以在WinCE上运行而无需(大)改动。

        5
  •  6
  •   Khalid Salomão    16 年前

    你试过德尔菲吗?

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

    唯一的问题是你将不得不学习帕斯卡,但它不应该是一个问题。Delphi被编译,非常快(类似于C++)。

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

    我可以想到的是,你不需要安装任何额外的包来运行你的应用程序(不是dotnet运行时或C++可重新分配)。

    另一个要记住的好点是,它有点网支持,还有棱镜。

        6
  •  4
  •   George Stocker NotMe    16 年前

    在相关建议类别下:

    有一个原因,为什么.NET平台是建立的,而不是因为Win32很容易编程。有 Delphi Tcl/TK 还有 MFC 但是,除非这些选项中的任何一个比.NET更易于设计和部署,否则您最好不要放弃28MB的下载并在.NET中进行设计。

    有了.NET(冒着听起来像拉拉队队长的风险),你可以

    • 拖放式用户界面设计,
    • .NET框架的强大功能(让我们面对现实,您正在为Windows构建--让它们进行繁重的提升是 专业 奖金)
    • 近平台独立性(取决于性能 Mono IS)
    • 低成本

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

        7
  •  3
  •   Yona    16 年前

    怎么样 RealBasic .

    它有一个托管运行时(类似于.NET,但不是Powerfull),运行在Windows/Linux/Mac上,运行时大小约为3MB。

    使用的语言是基本的方言,有一个不错的WYSIWYG设计器,支持拖放。

        8
  •  2
  •   Anthony Lambert    16 年前

    我同意,你只需使用WTL在C++中使用WTBuBueldRoC代码

        9
  •  1
  •   Tim Jarvis    16 年前

    最终答案是在widget框架中,最简单的框架为您包装了Windows窗口化API。根据我的经验,最简单的框架是…

    1./具有C或VB.NET(.NET)的Windows窗体

    2、Visual组件库(VCL),具有Delphi或C++Builder(作为本地应用程序的附加优点,并且不需要附加库要求)

    3、C/C++或VB.NET的Windows演示框架(或基础)

    4,/mfc -(颤抖)与Visual C++

    还有很多其他不太常用的框架,比如PowerBuilder等。

        10
  •  1
  •   RickL    16 年前

    甚至比写.NET更容易,而且比.NET运行时占用空间小得多——就是用VisualBasic6编写应用程序。

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

        11
  •  1
  •   Dave Markle    16 年前

    如果您关心运行时下载,只需使用.NET 1.1,而不是最新和最好的.NET框架。我认为xp(或者至少一个服务包)是预装的。在某种程度上,你不得不说,如果有人在使用Windows2000或更早的版本,你就没法为他们做什么了。

        12
  •  1
  •   Community Lee Campbell    7 年前

    我建议 U++ 对于另一个问题:

    What are some of the "best" cross-platform C++ UI toolkits today?

    如果你喜欢C++,一旦你尝试和使用U++,你会惊讶于它的美、优雅、轻量级、.NET免费,因为你的需求要求和使用C++。

        13
  •  1
  •   Paul Lefebvre    16 年前

    我也推荐RealBasic。我用它来创建许多Windows客户机应用程序,在大多数情况下它都工作得很好。

        14
  •  1
  •   mjn anonym    15 年前

    使用LazarusIDE的开源Pascal编译器可能是一个选项。我也用免费的pascal编译和测试了我的大部分delphi组件和库。对于用户界面,Lazarus提供了自己的可视化组件库fcl。

        15
  •  1
  •   Glen    13 年前

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

        16
  •  0
  •   finnw    16 年前

    另一种选择是将mono与mkbundle结合使用。mkbundle将您的应用程序及其引用的所有程序集打包成一个二进制包。

    Here is a link to one of the Mono pages about it.