windows 创建桌面应用程序的最佳技术是什么
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/421455/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What is the best technology to create a desktop application
提问by Chanakya
I am not a developer hence not up to date with the latest developments into the tech world. I am thinking of creating a desktop application for my own use and trying learn the best available technology doing the same if I could. I am planning to develop it for windows and I have hands on experience on C++ and visual studio. Will look forward to an expert advice.
我不是开发人员,因此不了解科技世界的最新发展。我正在考虑创建一个供我自己使用的桌面应用程序,并尝试学习最好的可用技术,如果可以的话。我计划为 Windows 开发它,并且我有 C++ 和 Visual Studio 的实践经验。期待高手的指点。
回答by Joachim Sauer
Unless you define what exactly your priorities are, there is no real answer to this question (as it happens with most "What is the best ...?" questions):
除非你明确你的优先事项是什么,否则这个问题没有真正的答案(就像大多数“什么是最好的......?”问题一样):
- What environment/OS do you care for? Windows? Linux? Mac OS X?
- How important is ease of development?
- How important is the memory footprint?
- How important is "freedom" (whatever your definition of that is)?
- How much money do you have available for the task?
- How much time do you have?
- How important is stability of your application?
- How important is the proofability of your application?
- What development language, if any, do you know?
- 你关心什么环境/操作系统?视窗?Linux?Mac OS X?
- 易于开发有多重要?
- 内存占用有多重要?
- “自由”有多重要(不管你的定义是什么)?
- 你有多少钱可以完成这项任务?
- 你有多少时间?
- 应用程序的稳定性有多重要?
- 您的应用程序的可证明性有多重要?
- 如果有的话,你知道什么开发语言?
Those are just a few things you need to clarify before a good answer can be given.
在给出一个好的答案之前,这些只是你需要澄清的几件事。
回答by Chuck Phillips
回答by Rob Kam
C# with .net is the most favoured way to develop a desktop applications on Windows, and will get you a solution quicker than by learning and coding with something more low-level like C++ and the Win32 API. Plus as pointed out by Josh, a cut-down-but-functional-enough version is available for free, if cost is a consideration.
使用 .net 的 C# 是在 Windows 上开发桌面应用程序的最受青睐的方式,与通过学习和使用 C++ 和 Win32 API 等更底层的东西进行编码相比,它可以更快地为您提供解决方案。另外,正如 Josh 所指出的,如果考虑成本,可以免费获得精简但功能足够的版本。
回答by Bramha Ghosh
In the .Net world you will need to choose between WPF and WinForms.
在 .Net 世界中,您需要在 WPF 和 WinForms 之间进行选择。
WPF is nifty.
WPF 很漂亮。
回答by David Koelle
I have to throw my support behind Java Swingapps here. As a desktop Java developer for many years, I've developed many solid applications that do indeed run on multiple platforms.
我必须在这里支持Java Swing应用程序。作为多年的桌面 Java 开发人员,我开发了许多确实可以在多个平台上运行的可靠应用程序。
You can definitely get very in-the-weeds with Swing (CellRenderers, etc), but basic Swing by itself will probably satisfy 80% of the use cases.
您肯定可以使用 Swing(CellRenderers 等)获得非常多的效果,但基本的 Swing 本身可能会满足 80% 的用例。
回答by Daniel Paull
As much as it pains me to say, go with the Microsoft technologies. You will get fast results with .Net, regardless of the language you choose. C# has excellent tools support and in .Net 3.5 it is turning into a half decent language and he .Net platform has many, many (too many!) frameworks and class libraries that you can utilise.
尽管我很痛苦,但还是要使用 Microsoft 技术。无论您选择哪种语言,使用 .Net 都能快速获得结果。C# 具有出色的工具支持,并且在 .Net 3.5 中它正在变成一种半体面的语言,并且 .Net 平台有很多很多(太多!)框架和类库可供您使用。
Bang for buck and shallow learning curve on the Windows plaform - that's what .Net is all about. The Express editions of Visual Studio are free, so building an app for personal use will not cost you a dime.
在 Windows 平台上物有所值,学习曲线较浅 - 这就是 .Net 的全部意义所在。Visual Studio 的 Express 版本是免费的,因此构建供个人使用的应用程序不会花费您一分钱。
回答by Joeri Sebrechts
You're going to get a different answer from different folks depending on what they use every day.
根据他们每天使用的内容,您将从不同的人那里得到不同的答案。
Use what you know. You know C++, so C++ and Qt is probably the quickest way to go. It gives you a drag-and-drop gui designer, quick development time, and cross-platform ability as a bonus.
使用你所知道的。你知道 C++,所以 C++ 和 Qt 可能是最快的方法。它为您提供拖放式 gui 设计器、快速的开发时间和跨平台能力作为奖励。
回答by Nicolay77
Try wxWidgets.
试试 wxWidgets。
It's C++, it's multiplatform, looks native, is easy to get up to speed. The code is fast, and it can be compiled statically, no installers will be needed.
它是 C++,它是多平台的,看起来很原生,很容易上手。代码速度快,可以静态编译,不需要安装程序。
回答by JoshBerke
As EB points out this all really depends. I'd recommend you start with a managed language like C# or Java, my personal preference would to be learn C# and you can use a free IDE from Microsoft called Visual Studio Express Editions. http://www.microsoft.com/Express/
正如 EB 指出的那样,这一切都取决于。我建议您从 C# 或 Java 之类的托管语言开始,我个人更喜欢学习 C#,您可以使用 Microsoft 提供的名为 Visual Studio Express Editions 的免费 IDE。http://www.microsoft.com/Express/
I also assume your developing on Windows?
我还假设您在 Windows 上开发?
回答by jcollum
WPF is really easy to work with: nice markup, easy to edit. And it can easily downscale to Silverlight (since Silverlight = WPF/E = WPF Everywhere) and become a web application with just a bit of tweaking.
WPF 真的很容易使用:漂亮的标记,易于编辑。它可以轻松缩小到 Silverlight(因为 Silverlight = WPF/E = WPF Everywhere)并只需稍作调整即可成为 Web 应用程序。