Every time I created software for Windows in recent years I used Qt, WxWidgets or even Delphi, which all have wrappers to handle system-specific quirks. Is it common these days to code directly to the Windows API? It feels like it would lead to code that's harder to maintain and certainly less portable.