.net世界中的业务应用程序使用devxpress,componentOne等第三方控件集非常常见。它们可以应用蒙皮,使用具有丰富功能的控件等。
当我们想要将这样的应用程序移植到其他平台时出现问题 - 是否有任何控件具有它们的例如。 linux对应物(具有类似的API,功能等)?
我找不到任何东西,所以在较低级别我正在考虑:
原始Mono 2.0 winforms - 未经证实,可能有一些怪癖,没有丰富的控件,没有蒙皮
QT - GPL(并非所有客户都希望发布源代码),有点学习曲线
GTK - 没有丰富的控件,没有蒙皮,没有原生的窗户外观和感觉
Silverlight - 无文件系统访问
SWT - 不知道它如何与.NET一起使用,我猜“没有丰富的控件和没有皮肤”也适用于此
感谢任何建议
[编辑]丰富的控制我的意思是像例如。分层网格(具有树状可折叠行)
答案 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,你必须为各种平台捆绑本机二进制文件。