是否有任何高级跨平台UI控件?

时间:2008-12-30 07:55:12

标签: .net user-interface

.net世界中的业务应用程序使用devxpress,componentOne等第三方控件集非常常见。它们可以应用蒙皮,使用具有丰富功能的控件等。

当我们想要将这样的应用程序移植到其他平台时出现问题 - 是否有任何控件具有它们的例如。 linux对应物(具有类似的API,功能等)?

我找不到任何东西,所以在较低级别我正在考虑:

  • 原始Mono 2.0 winforms - 未经证实,可能有一些怪癖,没有丰富的控件,没有蒙皮

  • QT - GPL(并非所有客户都希望发布源代码),有点学习曲线

  • GTK - 没有丰富的控件,没有蒙皮,没有原生的窗户外观和感觉

  • Silverlight - 无文件系统访问

  • SWT - 不知道它如何与.NET一起使用,我猜“没有丰富的控件和没有皮肤”也适用于此

感谢任何建议

[编辑]丰富的控制我的意思是像例如。分层网格(具有树状可折叠行)

6 个答案:

答案 0 :(得分:2)

请注意,QT可以获得商业许可。

还有Java Swing。 Tk也是跨平台的。

GTK缺少什么?

答案 1 :(得分:2)

wxWidgets / wxWindows可能是GTK / Qt的一个很好的替代品;我不知道他们是否有你想要的具体控件,但我已经在几个平台上运气好了。

我想现在可以使用几种.NET绑定。

答案 2 :(得分:1)

我不知道任何真正的跨平台UI控件可用于高效构建功能丰富的企业应用程序。

到目前为止,我一直采用的方法是使表示层尽可能薄将其托管在单独的演示模块 / assemblies中(与之分开)接口,控制器和其他组件)。然后,您可以使用可用的最佳技术开发其他演示模块以针对特定平台。

WCF稍后可能会简化一些事情,但它仍然可以与这种方法互操作。

答案 3 :(得分:0)

wx.NET(http://wxnet.sourceforge.net/)可能有用。

答案 4 :(得分:0)

我也会推荐wxWidgets。如果您正在使用Python进行开发,那么请使用wxPython。最好的部分是能够以您正在使用的任何语言编写自定义wx控件,并在所有平台上正确显示它们。

答案 5 :(得分:0)

Eto.Forms(在github上),它是 WPF WinForms GTK 之上的抽象层,以及 MonoMac / Cocoa - 这样您就可以在所有平台上获得本机UI,而无需为每个平台重新实现。您不必受最低公分母的影响,因为您可以为每个平台实现细节(如果需要,但不是必需的)。

关于富控件,它确实有TreeGridView,它是一个树状的分层网格。此控件(以及所有其他控件)在所有平台上都可以正常运行。

skinning 而言,您可以为每个平台设置控件的外观。例如,WPF具有您可以利用的非常广泛的外观功能等。另一种方法是使用 skinning其广泛的图形/绘图功能。

它有一个优点,它是纯.NET,只依赖于操作系统提供的依赖,而不是使用GTK,QT或WxWidgets,你必须为各种平台捆绑本机二进制文件。