C# 创建类似WPF的GUI的多平台编程语言?

C# 创建类似WPF的GUI的多平台编程语言?,c#,.net,wpf,cross-platform,porting,C#,.net,Wpf,Cross Platform,Porting,我正在寻找一些语言,使我可以编写图形用户界面一样容易或更容易在WPF,但这将是真正的跨平台。Mono、Silverlite等都不错,但要么不支持WPF,要么不可靠、不完整,不支持Linux。。。我将使用它重写一些旧的WPF应用程序,以便它们也可以在Mac和Linux上运行 这是我的要求 语法和编程技术类似于C和WPF。特别是,我需要像WPF那样提供GUI设计的标记风格的语言。这意味着不像Swing那样使用旧的模糊代码。 在不使用WPF中的低级技术的情况下,获得了良好的GUI性能 该语言不需要由V

我正在寻找一些语言,使我可以编写图形用户界面一样容易或更容易在WPF,但这将是真正的跨平台。Mono、Silverlite等都不错,但要么不支持WPF,要么不可靠、不完整,不支持Linux。。。我将使用它重写一些旧的WPF应用程序,以便它们也可以在Mac和Linux上运行

这是我的要求

语法和编程技术类似于C和WPF。特别是,我需要像WPF那样提供GUI设计的标记风格的语言。这意味着不像Swing那样使用旧的模糊代码。 在不使用WPF中的低级技术的情况下,获得了良好的GUI性能 该语言不需要由VM解释,它可以被编译,但我更喜欢垃圾收集和高级编程,而不是处理指针、析构函数等。 如lambda表达式、LINQ、属性等出色的语法功能,将不胜感激。
有这样的语言吗?除了mono之外,还有其他选择可以将这些应用程序移植到Mac和Linux吗?

不幸的是,没有真正跨平台的直接C/WPF等价物。单声道使用月光可能是最接近的,尽管你已经排除了各种原因

就整体功能集而言,最接近的选项可能是使用。这确实有一个非常不同的编程模型C++而不是C,尽管在那里有许多工作来简化内存管理,而且信号/时隙机制确实提供了与.NET ./P>的一些相同的优点。
尽管如此,情况仍然大不相同。QML与XAML非常不同,尽管两者都试图提供一种标记样式的设计。但是,它确实提供了功能强大的高级图形编程,并且是真正跨平台的,在非Windows平台上得到了很好的支持。

不幸的是,没有真正跨平台的直接C/WPF等价物。单声道使用月光可能是最接近的,尽管你已经排除了各种原因

就整体功能集而言,最接近的选项可能是使用。这确实有一个非常不同的编程模型C++而不是C,尽管在那里有许多工作来简化内存管理,而且信号/时隙机制确实提供了与.NET ./P>的一些相同的优点。
尽管如此,情况仍然大不相同。QML与XAML非常不同,尽管两者都试图提供一种标记样式的设计。但是,它确实提供了功能强大的高级图形编程,是真正跨平台的,并且在非Windows平台上得到了很好的支持。

真的,您的所有需求显然都在乞求C的跨平台版本:类似于C+垃圾收集+高级编程+LINQ和lambda expressions=C的语法。为什么Mono不能完全满足您的需要?@Daniel Mono不支持WPF。@Daniel WPF是一个名称Mono支持大量以Windows为名称的东西,并引用缺乏兴趣作为WPF不效仿的唯一原因。很少(如果有的话)WPF小部件是特定于Windows的,而且编程模型显然与平台无关。当然,该实现与Windows特定的低级API紧密耦合。@drasto-在Linux上不可靠?单声道电源。为什么silverlight不是一个选项?在为其开发XAML+代码的方式上,它类似于WPF,并且是跨平台的。实际上,您的所有需求显然都在要求C的跨平台版本:类似于C+垃圾收集+高级编程+LINQ和lambda表达式=C的语法。为什么Mono不能满足您的需要,确切地说?@Daniel Mono不支持WPF。@Daniel WPF是一个名字,Mono支持很多以Windows为名称的东西,并引用缺乏兴趣作为WPF不效仿的唯一原因。很少(如果有的话)WPF小部件是特定于Windows的,而且编程模型显然与平台无关。当然,该实现与Windows特定的低级API紧密耦合。@drasto-在Linux上不可靠?单声道电源。为什么silverlight不是一个选项?在为其开发XAML+代码的方式上,它类似于WPF,并且是跨平台的。+1看起来值得一看。谢谢,我会仔细研究这个选项。Qt可以和C++后面的代码一起使用,C++ +?DRACSTOES是的,虽然它确实使C++变得更好,但它并不像你想象的那么坏。虽然PyQt工作得相当好——请看:我正在研究它。还有别的吗?比如说Ruby,Java…?@drasto Qt Jambi for Java,但我听过关于它的各种说法——我对它没有个人经验。我使用PyQT了一点,但决定使用C++几乎总是更好的。+ 1看起来值得一看。谢谢,我会仔细研究这个选项。Qt可以和另一种语言一起使用,后面是代码,然后是C++?@ DrStO-YES,虽然它确实使C++更为出色,所以它并不像你所说的那么坏。
墨水虽然PyQt工作得相当好——请看:我正在研究它。还有别的吗?比如说Ruby,Java…?@drasto Qt Jambi for Java,但我听过关于它的各种说法——我对它没有个人经验。我用PyQT了一点,但决定用C++几乎总是更好。