当前位置: 首页 > 编程语言 > C#

编写一个具有复杂GUI的跨平台应用程序分享

时间:2023-04-10 16:33:16 C#

WritingaCross-PlatformApplicationwithaComplexGUI..).我对C#2.0有很好的经验,而且我正在学习WPF,但遗憾的是,我读到没有将WPF移植到Mono的计划。你有什么建议吗?我是使用C#+OpenTK、Java+JOGL还是回到C++更好?我会选择Qt。请访问http://qt.nokia.com/products/。如果您害怕C++(但没有理由害怕它),您可以尝试JavaSwing。我认为这些是多平台桌面GUI开发的最佳选择。我建议使用Mono和GTK#。使用.Net开发应用程序比在C++中使用它要高效得多。当然,您必须坚持使用C#3.0和.Net2.0(实现3.5的一些功能,如LINQ)。但它仍然比C++提供更多,比如QT,会给你。迁移到C#以提高工作效率。没有什么反对C++的,但它有点冗长。对于GUI库,我认为WinForms曾经在Mono上工作。或者,GTK#。我不推荐使用WPF,因为它依赖于平台。Silverlight可能是更好的选择。但如果你正在开发一个网络应用程序,jquery将是一个不错的选择,你也可以考虑adobeflex和adobeair;http://www.adobe.com/products/air/多平台是否必须包括iDevices?它可以在线使用吗?这是您必须首先回答的两个问题。如果您可以在没有iPad/iPhone支持的情况下生活,那么Flex/Flash/Air是高度图形化的好东西。它是一个多平台,可确保并轻松集成到网络上。对于这种情况,最好提供有限的详细信息。Qt也适合你,虽然我不确定它的图形库是否会让它变得容易。我从来没有亲自使用过它,所以其他人将不得不回答这个问题。但由于它是在C++中,您也可以使用其他库。对于如此复杂的GUI,JavaSwing听起来很粗糙。做一些基础的东西还不错,但如果你期待像C#这样的体验,我想你会感到沮丧。当然只是个人意见。最后,如果它可以是一个网络应用程序,为什么不坚持使用C#和Silverlight?.NET解决方案可能适合您,因为您已经在学习它。Silverlight可以运行在Windows/Mac/Linux和一些手持设备上,并且可以移植到更多的手持设备上。我相信Silverlight最终会被移植到每一个流行的设备上。Silverlight是:比Flex/Flash/Air强大得多。比Qt强大得多。比GTK+或GTK#更强大。比JOGL更强大。Silverlight具有您要求的所有功能。Silverlight与C#配合得很好,比C++更高效。Silverlight基本上是WPF的一个非常大的子集,因此如果您了解WPF,那么您就已经了解Silverlight。除非您绝对需要iPhone/iPad支持,否则我认为这个决定非常明显。看一下WPF和Cocoa的比较,了解WPF/Silverlight与Qt、Flash/Flex/Air和GTK#之类的比较,所有这些都使用类似原型的WinForms对象模型。可可。在我的日常工作(一家著名的微处理器公司)中,我们使用Java、EclipseRCP和JavaOpenGL开发复杂的工程应用程序。性能很好——我们可以轻松获得数百万个多边形/秒和高达100帧/秒。Eclipse中的SWT小部件足够快,我们不必使用JOGL来呈现任何自定义控件。我有一组教程展示了如何开始这种编程。该系列从http://wadewalker.wordpress.com/2010/10/09/tutorial-a-cross-platform-workbench-program-using-java-opengl-and-eclipse/开始。首先,不要将C#用于任何可移植的东西。Mono对于GUI来说是一个糟糕的选择,原因有两个:Mono总是落后于.NET几步。Mono不支持WPF,因此开发GUI的唯一方法是使用GTK#之类的东西。我个人的意见——使用C++。它会给你很好的便携性和独立性。您有两个选择:此外,Java提供了JDK附带的Swing工具包,可以在所有Java平台上使用,甚至是像OpenVMS这样非常奇怪的平台。以上就是C#学习教程:使用复杂GUI编写跨平台应用分享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: