GTK#和Windows Forms有什么区别? [英] What is the difference between GTK# and Windows Forms?

查看:219
本文介绍了GTK#和Windows Forms有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

GTK#和windows窗体有什么区别?他们是完全不同的吗?



谢谢

解决方案

Gtk#

GTK#是.NET Gtk +工具包。该工具包是用C语言编写的,以提高速度和兼容性,而GTK#绑定则提供了易于使用的面向对象的API,以供管理使用。 Mono项目正在积极开发中,并且有各种现实应用程序可供使用( Banshee F-Spot Beagle MonoDevelop )。

一般而言,GTK#应用程序是使用 MonoDevelop a>,它为创建GTK#GUI提供了一个可视化设计器。



平台:Unix,Windows,OSX
$ b

优点:$ b​​
$ b


  • 通过其Gtk +遗产良好地支持可访问性

  • 布局引擎非常适合处理
    国际化环境,而
    适应字体大小而不会破坏
    应用程序。

  • 应用程序与Gnome
    桌面集成。

  • API是熟悉Gtk +开发人员。

  • 大型Gtk +社区。
  • 一个Win32端口可用,在Windows XP上具有
    原生外观。 li>
  • 这个API在这个
    点是相当稳定的,并且为了改进它而增加了
    语法糖。
  • Unicode支持是


    缺点:


    • Gtk +应用程序在MacOS X上像外国
      应用程序一样运行。

    • 不完整的文档。


      Windows.Forms



      Windows.Forms是Microsoft为Win32工具包开发的一种绑定。作为数百万Windows开发人员(尤其是内部企业应用程序)使用的流行工具包,Mono项目决定生成一个兼容的实现(Winforms),以允许这些开发人员轻松地将他们的应用程序移植到Linux和其他Mono平台上。

      尽管.Net实现是对Win32工具箱的绑定,但Mono实现是用C#编写的,以允许它在多个平台上工作。大部分Windows.Forms API都可以在Mono上运行,但是有些应用程序(特别是第三方控件)偶尔会直接绕过API和P / Invoke到Win32 API。这些电话可能必须改变才能在Mono上工作。

      一般而言,Winforms应用程序是使用微软的Visual Studio或 SharpDevelop ,它们都提供了一个用于创建Winforms GUI的可视化设计器。



      平台:Windows,Unix,OSX
      $ b

      优点:$ b​​
      $ b


      • 大量的文档存在于
        (书籍,教程,在线文档)中。

      • 大型活跃开发者社区。
      • 移植现有
        Windows.Forms应用程序的最简单路线。



      缺点:

      >


      • 在固定布局的情况下,国际化可能会非常棘手

      • 在非Windows平台上看起来很陌生。

      • 调用Win32 API的代码不是
        便携式。






      • 来源:选择正确的工具包


        What is the difference between GTK# and windows forms? Are they totally different?

        Thanks

        解决方案

        Gtk#:

        GTK# is a .NET binding for the Gtk+ toolkit. The toolkit is written in C for speed and compatibility, while the GTK# binding provides an easy to use, object oriented API for managed use. It is in active development by the Mono project, and there are various real-world applications available that use it (Banshee , F-Spot, Beagle, MonoDevelop).

        In general, GTK# applications are written using MonoDevelop, which provides a visual designer for creating GTK# GUIs.

        Platforms: Unix, Windows, OSX

        Pros:

        • Good support for accessibility through its Gtk+ heritage.
        • Layout engine ideal for handling internationalized environments, and adapts to font-size without breaking applications.
        • Applications integrate with the Gnome Desktop.
        • API is familiar to Gtk+ developers.
        • Large Gtk+ community.
        • A Win32 port is available, with native look on Windows XP.
        • The API is fairly stable at this point, and syntactic sugar is being added to improve it.
        • Unicode support is exceptional.

        Cons:

        • Gtk+ apps run like foreign applications on MacOS X.
        • Incomplete documentation.

        Windows.Forms:

        Windows.Forms is a binding developed by Microsoft to the Win32 toolkit. As a popular toolkit used by millions of Windows developers (especially for internal enterprise applications), the Mono project decided to produce a compatible implementation (Winforms) to allow these developers to easily port their applications to run on Linux and other Mono platforms.

        Whereas the .Net implementation is a binding to the Win32 toolkit, the Mono implementation is written in C# to allow it to work on multiple platforms. Most of the Windows.Forms API will work on Mono, however some applications (and especially third party controls) occasionally bypass the API and P/Invoke straight to the Win32 API. These calls will likely have to changed to work on Mono.

        In general, Winforms applications are written using Microsoft's Visual Studio or SharpDevelop, which both provide a visual designer for creating Winforms GUIs.

        Platforms: Windows, Unix, OSX

        Pros:

        • Extensive documentation exists for it (books, tutorials, online documents).
        • Large community of active developers.
        • Easiest route to port an existing Windows.Forms application.

        Cons:

        • Internationalization can be tricky with fixed layouts.
        • Looks alien on non-Windows platforms.
        • Code that calls the Win32 API is not portable.

        Source: Picking the Right Toolkit

        这篇关于GTK#和Windows Forms有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆