Citat:
Ursprungligen postat av
A-Good-Man
Jag har precis börjat läsa Petzolds kända bok Programming Windows 5th Edition då jag blivit intresserad av att skapa GUI-applikationer med C/C++. Det är kul att koda på en lägre nivå och ha mer kontroll. Om man använder t.ex. GDI/GDI+/Direct2D m.m. så kan man ju i teorin skapa vilka GUIn man vill. Man kan få till saker som inte är möjligt i t.ex. .NET då man inte är låst på samma sätt.
Den boken är fantastiskt bra på det viset att man lär sig förstå hur GUI fungerar, och den åldras inte. Windows GUI fungerar på precis samma sätt idag som då. Också bra att den framförallt är skriven i språket C för då får man lära sig hur det faktiskt fungerar.
Med det sagt så bör man inte underskatta vilket jobb det är att implementera ett ramverk för ett GUI och hur svårt det är att göra det flexibelt så det går att anpassa för andra GUI.
Det "bästa" ramverket jag använt för win32 är troligen
Windows Template Library. Inget som underhålls eller utvecklas men fungerar fortfarande trots att det nu är över 20 år gammalt. Microsoft skapade först MFC som skal för windowsapplikationer, MFC är inte dåligt men kunde ha gjorts bättre. WTL klarar samma saker, är mindre kod och snabbare. Smartare byggt.
Även om det är få ändringar i Win32 har C++ gått framåt mycket och därför går ramverken förbättra.
Svåraste med GUI är att de är så plattformsspecifika.
Många väljer Dear ImGui eftersom det inte är plattformsspecifikt utan anpassat efter att rita ut grafiken själv men det gör att applikationer skrivna på Dear ImGui är svåra och porta till ramverk som är event anpassade som flera av de andra är eftersom det är så inbyggd grafiskt gränssnitt fungerar.