Wpis z mikrobloga

@barteq999: zależy co taka aplikacja ma robić. Bo jak do tego dojdą wymogi akceleracji rysowania 2D/3D, może jakaś baza danych, może wykresy, a może komunikacja sieciowa itp to najlepiej wziąć wszystkomający framework.
@barteq999: C++/CLI to jest narzędzie do łączenia kodu .NET managed i unmanaged. Używanie go do czegoś więcej niż bindingi których nie da się ogarnąć przez P/Invoke to skazywanie się na dobrowolne tortury.
QT to chyba najlepszy dojrzały wieloplatformowy framework do pisania aplikacji, ale doczytaj licencję, bo w darmowej wersji nie wszystko można.
Poza tym wygląda na to ze Electron jest teraz niestety najlepszym wyborem na GUI (,)
tylko Qt, ewentualnie GTK jak jestes masochista


@Passer93: Złośliwi twierdzą, że GTK wygląda obco (nienatywnie) na wszystkim poza Gnome. Qt wygląda obco na wszystkim.
@barteq999: To się lepiej zastanów ponownie, to podejście już nie jest praktykowane poza sztandarowymi aplikacjami jak przeglądarki czy jakieś IDE. Przypomnij sobie jak często instalujesz programy okienkowe na komputerze.
@lionbest: Akurat co jest lepsze GTK czy Qt to odwieczna święta wojna, analogicznie jak Emacs vs vim. I tak serio trudno powiedzieć aby jednoznacznie któryś framework był lepszy. Są trochę inne i mają trochę inna filozofię. Np. Qt jest ściśle przywiązany do C++, przez co jego możliwości bindowania z innymi językami są bardzo ograniczone, a nie każdy chce pisać w C++. Dla kogoś piszącego w C++ oczywiście to będzie zaletą. Jest
@Krolik:

np po co we frameworku UI własne sockety

By pisać multiplatformowo co w C++ jest trudne, na szczęście Qt dodaje coraz więcej obsługi systemu.

która mocno narzuca styl kodowania niezbyt zgodny z konwencjami przyjetymi obecnie w modern C++

Już nieaktualne, Qt6 mocno bazuje na modern C++, pomijając takie pierdoły jak kontenery.

GTK jest natywne przynajmniej na większości Linuksów

CO XD, jeżeli według ciebie natywność oznacza, że interfejs jest napisany w
Już nieaktualne, Qt6 mocno bazuje na modern C++, pomijając takie pierdoły jak kontenery.


@lionbest: no to raczej chyba jakieś inne modern C++ masz na myśli. W oficjalnych przykładach do Qt 6.4 na stronie widzę wszędzie ręcznie wołane new i nagie wskaźniki w polach obiektów. I jeszcze masa dziedziczenia i wszystko wirtualne. Przypomina mi się styl w jakim kodowalismy na laborkach z C++. Ale to było 20 lat temu. A moc dalej
@Krolik: Przy okazji Qt6 chwalili się przejściem na standard C++17. Natomiast wskaźników tak prosto nie pozbędą się ze względu na to, że fundamentem, zwłaszcza w przypadku UI, jest ich kompozytowy model zarządzania pamięcią. W praktyce zdecydowanie ogranicza się jego wykorzystanie, albo godzi smart pointery w przypadku zarządzanych obiektów, które są uwalniane w momencie przekazywania do klas Qt. Można korzystać z Qt alokując bez używania new/delete. Tylko, że takie przykłady na pewno
@Tytanowy: dziedziczenie jest niepotrzebną komplikacją - zwłaszcza reimplementacja już istniejących metod prowadzi często do subtelnych błędów. Im bardziej rozbudowane hierarchie klas tym trudniej analizuje się kod. Ponadto jest to intruzywne i silnie wiąże ze sobą komponenty - przykładowo Qt wymusza jak mają wyglądać dane wyświetlane w QListView - klasy reprezentujące dane muszą implementować odpowiednie interfejsy. Jeśli dostanę dane z innej biblioteki, to muszę je najpierw przekonwertować aby chciały działać z Qt.