¿Cuál es la diferencia entre GTK # y formularios de Windows? ¿Son totalmente diferentes?¿Cuál es la diferencia entre GTK # y Windows Forms?
Gracias
¿Cuál es la diferencia entre GTK # y formularios de Windows? ¿Son totalmente diferentes?¿Cuál es la diferencia entre GTK # y Windows Forms?
Gracias
Gtk#:
GTK # .NET es una unión para GTK +. El kit de herramientas está escrito en C para mayor velocidad y compatibilidad, mientras que el enlace GTK # proporciona una API fácil de usar y orientada a objetos para el uso administrado. Está en desarrollo activo por el proyecto Mono, y hay varias aplicaciones del mundo real disponibles que lo usan (Banshee, F-Spot, Beagle, MonoDevelop).
En general, las aplicaciones GTK # se escriben usando MonoDevelop, que proporciona un diseñador visual para crear GUI # de GTK.
plataformas: Unix, Windows, OS X
Pros:
Contras:
Windows.Forms es una unión desarrollado por Microsoft para el kit de herramientas de Win32. Como un popular juego de herramientas utilizado por millones de desarrolladores de Windows (especialmente para aplicaciones empresariales internas), el proyecto Mono decidió producir una implementación compatible (Winforms) para permitir a estos desarrolladores portar fácilmente sus aplicaciones para que se ejecuten en Linux y otras plataformas Mono.
Mientras que la implementación de .Net es un enlace al kit de herramientas de Win32, la implementación de Mono está escrita en C# para permitir que funcione en múltiples plataformas. La mayor parte de la API de Windows.Forms funcionará en Mono, sin embargo, algunas aplicaciones (y especialmente los controles de terceros) ocasionalmente omiten la API y P/Invoke directamente a la API de Win32. Es probable que estas llamadas tengan que cambiar para funcionar en Mono.
En general, las aplicaciones de Winforms se escriben usando Visual Studio de Microsoft o SharpDevelop, que proporcionan un diseñador visual para crear GUI de Winforms.
plataformas: Windows, Unix, OS X
Pros: existe
Contras:
Fuente: Picking the Right Toolkit
En resumen: Sí
Ambos son Gui-Tookits, pero WinForms (como dice el nombre) fue desarrollado principalmente para las ventanas. GTK ha sido desarrollado para Gimp y es un enfoque para un conjunto de herramientas multi os gui.
Si su aplicación solo se ejecuta en Windows, en la mayoría de los casos debe usar WinForms.
Si su aplicación se ejecutará bajo diferentes sistemas operativos (como linux, bsd, windows, macos, ...) preferirá GTK.
Para una mejor explicación mira here.
Son diferentes juegos de herramientas gráficas para crear aplicaciones de ventana, con diferentes orígenes.
GTK # es un enlace para la biblioteca GTK, destinado principalmente para Linux/Unix. También funciona en Windows, pero no es el entorno nativo para el que fue diseñado.
Winforms es otro conjunto de herramientas, este procedente de Microsoft.
Son API totalmente diferentes para lograr los mismos resultados, pero cada una se adapta mejor a una plataforma.
Si está buscando ventanas multiplataforma en .net, Qt puede ser una opción ahora que tiene LGPLed.
Ambos son juegos de herramientas GUI, cada uno con sus puntos fuertes y débiles. Desde mi experiencia:
En resumen, no recomendaría usar Winforms (excepto cuando hay una razón importante para no tener más dependencias que .NET FW), pero usando Gtk # o WPF.
Es curioso cómo de repente se menciona WPF al final de su respuesta :) –
La pregunta fue sobre GTK # y SWF, WPF fue fuera de tema :) ¿Hay –
todo lo que tiene que hacer en tiempo de compilación para que funcione en Windows y Linux, o simplemente puede agrupar las bibliotecas Gtk # y funcionará en plataformas cruzadas de la caja. Además, ¿es difícil comenzar el modelo de programación o es más como Winforms pero con un nombre diferente para las cosas (por ejemplo, hay un evento de pintura)? Gracias por adelantado. –