Qual è la differenza tra i moduli GTK # e Windows? Sono totalmente diversi?Qual è la differenza tra GTK # e Windows Form?
Grazie
Qual è la differenza tra i moduli GTK # e Windows? Sono totalmente diversi?Qual è la differenza tra GTK # e Windows Form?
Grazie
Gtk#:
GTK # è un NET vincolante per il toolkit Gtk +. Il toolkit è scritto in C per velocità e compatibilità, mentre l'associazione GTK # fornisce un'API orientata agli oggetti facile da usare per l'uso gestito. È in sviluppo attivo dal progetto Mono e sono disponibili varie applicazioni del mondo reale che lo utilizzano (Banshee, , Beagle, MonoDevelop).
In generale, le applicazioni GTK # vengono scritte utilizzando MonoDevelop, che fornisce un visual designer per la creazione di GUI GTK #.
Piattaforme: Unix, Windows, OSX
Pro:
Contro:
Windows.Forms è un legame sviluppato da Microsoft per il toolkit Win32. Come popolare toolkit utilizzato da milioni di sviluppatori Windows (specialmente per applicazioni aziendali interne), il progetto Mono ha deciso di produrre un'implementazione compatibile (Winforms) per consentire a questi sviluppatori di trasferire facilmente le proprie applicazioni per l'esecuzione su piattaforme Linux e Mono.
Mentre l'implementazione .Net è vincolante per il toolkit Win32, l'implementazione Mono è scritta in C# per consentirne il funzionamento su più piattaforme. La maggior parte dell'API Windows.Forms funzionerà su Mono, tuttavia alcune applicazioni (e in particolare i controlli di terze parti) saltano occasionalmente l'API e P/Invoke direttamente all'API Win32. Probabilmente queste chiamate dovranno essere cambiate per funzionare su Mono.
In generale, le applicazioni Winforms sono scritte utilizzando Microsoft Visual Studio o SharpDevelop, che forniscono entrambi un visual designer per la creazione di GUI di Winforms.
piattaforme: Windows, Unix, OSX
Pro: esiste
Contro:
Fonte: Picking the Right Toolkit
In breve: Sì
Entrambi sono GUI-Tookits, ma WinForms (come dice il nome) è stato sviluppato principalmente per le finestre. GTK è stato sviluppato per Gimp ed è un approccio per un toolkit multi os gui.
Se l'applicazione viene eseguita solo su Windows, nella maggior parte dei casi è necessario utilizzare WinForms.
Se l'applicazione verrà eseguita in un sistema operativo diverso (come linux, bsd, windows, macos, ...) preferirai GTK.
Per una spiegazione migliore, consultare here.
Sono diversi toolkit grafici per la memorizzazione di applicazioni con finestre, con origini diverse.
GTK # è un binding per la libreria GTK, destinato principalmente a linux/unix. Funziona anche su Windows, ma non è l'ambiente nativo per cui è stato progettato.
Winforms è un altro toolkit, questo proveniente da Microsoft.
Sono API completamente diverse per ottenere gli stessi risultati, ma ognuna è più adatta per una piattaforma.
Se stai cercando una finestra multipiattaforma in .net, Qt potrebbe essere un'opzione ora che ha LGPLed.
Sono entrambi toolkit GUI, ognuno con la sua forza e debolezza. Dalla mia esperienza:
In breve, non consiglierei l'uso di Winforms (tranne quando c'è una forte ragione per non avere più dipendenze rispetto a .NET FW), ma usando Gtk # o WPF.
Divertente come improvvisamente parla WPF alla fine della vostra risposta :) –
La domanda era su Gtk # e SWF, WPF è stato off-topic :) –
C'è tutto ciò che devi fare in fase di compilazione per farlo funzionare su Windows e Linux, oppure puoi semplicemente raggruppare le librerie Gtk # e funzionerà in modo cross-platform per l'out-of-the-box? Inoltre, il modello di programmazione è difficile da avviare o è per lo più come Winforms ma con una denominazione diversa per le cose (ad esempio, c'è un evento paint)? Grazie in anticipo. –