Jaka jest różnica między formularzami GTK # i Windows? Czy są zupełnie inne?Jaka jest różnica między GTK # i Windows Forms?
Dzięki
Jaka jest różnica między formularzami GTK # i Windows? Czy są zupełnie inne?Jaka jest różnica między GTK # i Windows Forms?
Dzięki
Gtk#:
GTK # jest NET wiązania dla zestawu narzędzi GTK +. Zestaw narzędzi jest napisany w C dla szybkości i kompatybilności, a wiązanie GTK # zapewnia łatwy w użyciu, zorientowany obiektowo interfejs API do zarządzania. Jest aktywnie rozwijany przez projekt Mono i dostępne są różne rzeczywiste aplikacje, które go używają (Banshee, , Beagle, MonoDevelop).
Ogólnie, aplikacje GTK # są napisane przy użyciu MonoDevelop, która zapewnia wizualnego projektanta do tworzenia GTK # GUI.
Platformy: Unix, Windows, OSX
Plusy:
Wady:
Windows.Forms jest wiążącym opracowany przez firmę Microsoft do zestawu narzędzi Win32. Jako popularny zestaw narzędzi wykorzystywany przez miliony programistów Windows (szczególnie w wewnętrznych aplikacjach dla przedsiębiorstw), projekt Mono postanowił stworzyć zgodną implementację (WinForm), aby umożliwić tym programistom łatwe przenoszenie swoich aplikacji na platformy Linux i inne platformy Mono.
Podczas gdy implementacja .Net jest wiązaniem zestawu narzędzi Win32, implementacja Mono jest napisana w języku C#, aby umożliwić jej działanie na wielu platformach. Większość API Windows.Forms będzie działała na Mono, jednak niektóre aplikacje (a zwłaszcza kontrolki stron trzecich) czasami omijają API i P/Invoke bezpośrednio do Win32 API. Te połączenia prawdopodobnie będą musiały zostać zmienione, aby działały na Mono.
Ogólnie aplikacje WinForm są napisane przy użyciu programu Visual Studio firmy Microsoft lub SharpDevelop, które zapewniają wizualne narzędzie do tworzenia interfejsów graficznych WinForm.
Platformy: Windows, Unix, OSX
Plusy:
Wady:
Źródło: Picking the Right Toolkit
W skrócie: Tak
Oba GUI Tookits, ale WinForms (jak mówi nazwa) został opracowany głównie dla okien. GTK został opracowany dla Gimp i jest podejściem do zestawu narzędzi multi os gui.
Jeśli twoja aplikacja działa tylko w systemie Windows, w większości przypadków powinieneś używać WinForm.
Jeśli twoja aplikacja będzie działać pod innym systemem operacyjnym (np. Linux, bsd, windows, macos, ...), wolisz GTK.
Aby uzyskać lepsze wyjaśnienie, spójrz na here.
Są to różne zestawy narzędzi graficznych do kreślenia aplikacji okienkowych o różnym pochodzeniu.
GTK # jest wiązaniem biblioteki GTK, przeznaczonym głównie dla Linux/Unix. Działa również w systemie Windows, ale nie jest to środowisko macierzyste, dla którego zostało zaprojektowane.
WinForm to kolejny zestaw narzędzi, ten pochodzący z Microsoft.
Są to całkowicie różne interfejsy API służące do uzyskiwania tych samych wyników, ale każda z nich jest lepiej dopasowana do platformy.
Jeśli szukasz wieloplatformowego okienkowania w .net, Qt może być teraz opcją, która została LGPLed.
Są to zarówno zestawy narzędzi GUI, z których każdy ma swoją siłę i słabe strony. Z mojego doświadczenia:
W skrócie, nie polecam używania Winforms (z wyjątkiem sytuacji, gdy istnieje silny powód, aby nie mieć więcej zależności niż .NET FW), ale przy użyciu Gtk # lub WPF.
Zabawne, jak nagle wspomnieć WPF na samym końcu odpowiedź :) –
Pytanie było o Gtk # i SWF, WPF było nie na temat :) –
Czy istnieje wszystko, co musisz zrobić podczas kompilacji, aby działało w systemach Windows i Linux, lub możesz po prostu spakować biblioteki Gtk # i będzie działać na wszystkich platformach? Czy jest trudny do rozpoczęcia model programowania lub jest on w większości podobny do WinForm, ale z innym nazewnictwem dla rzeczy (na przykład, czy jest jakieś zdarzenie z farbą)? Z góry dziękuję. –