好奇。有没有人有这两方面的经验。我的直觉是QT对于跨平台应用程序更好,但UI不会那么光滑。 QT更快,因为它编译为没有虚拟机的本机代码?我认为QT也是C ++所以不受管理,所以内存泄漏的可能性更大等等?
如果我想为跨平台使用QT4开发非UI或控制台应用程序?
如果我想开发一个跨平台使用QT4的UI应用程序?
如果我想开发一个只有非UI应用程序才能使用.Net?
如果我想为Windows应用程序开发专业用户界面,请使用.Net?
答案 0 :(得分:3)
我的直觉是QT更好 用于跨平台应用程序
绝对。 Qt是跨平台的,真实的。 (当然,有Mono可以让你在Linux上运行.NET应用程序......)
但是UI不会那么光滑
取决于您对细节的关注程度。 Qt使用原生API绘制其小部件(过去它没有,导致其UI看起来很奇怪),这意味着它的大多数UI看起来都很不错。可能有一些小部件看起来不像你在WinForms工具箱中可能找到的控件,但那是因为它们是不同的框架。
是QT更快,因为它编译为没有虚拟机的本机代码?
也许,这有关系吗?可能不是(顺便说一句,我不会很快说.NET必然会变慢,我确信它确实有更好的表现。)
我认为QT也是C ++如此不受管理,所以内存泄漏的可能性更大等等?
在Qt
的代码库中?很少,如果有的话。在你的?可能。
我想说这是.NET在这个论点中最大的优势之一 - 你可以用C#编写。这是一种 更容易学习的语言,你会得到诸如自动内存管理,一个巨大的标准库,最好的IDE之一和一个非常优秀的设计师(虽然Qt有Creator)等等。 (当然,如果你的目标是Linux,那就是另一个故事)。
答案 1 :(得分:0)
.net有几个GUI工具包,例如WinForms,WPF和GTK#。
使用GTK#,您可以获得不错的便携性,前提是您的Linux用户由于惯常原因而无法避免使用Mono。