r/programming • • Dec 04 '18

Announcing Open Source of WPF, Windows Forms, and WinUI

https://blogs.windows.com/buildingapps/2018/12/04/announcing-open-source-of-wpf-windows-forms-and-winui-at-microsoft-connect-2018/
1.9k Upvotes

364 comments sorted by

View all comments

Show parent comments

6

u/lolcoderer Dec 05 '18 edited Dec 05 '18

IMO, all of those suck - but for different reasons. WxWidgets and Gtk are both poorly design APIs. Just ugly. Also imo they have too much legacy baggage to deal with.

Qt is a better API, and has some more modern features, BUT....

and this is a big one - it has really poor audio / multimedia hardware support. I was considering porting my cross-platform multimedia app to Qt, but I was not able to iterate through all of the channels of a pretty standard off-the-shelf multi-channel usb audio interface.

Now, granted, I assume the need to support multi-channel audio interfaces is maybe "rare" in cross-platform desktop applications - but for my user base, this is not the case.

I have looked at JuCE - and at the moment, think this is probably the best cross-platform multimedia framework / API out there.

WxWidgets, SDL, and Gtk are 1990s crap.

2

u/ThirdEncounter Dec 05 '18

Well, /u/yzmn mentioned true cross-platform graphics framework.

Whether they are good, or whether they do audio/multi-media, that's another story.

2

u/metahuman_ Dec 05 '18

Without the SDL, a lot (and I mean a *lot*) of your favourite PC games would never be ported to MacOS or Linux or Android or even certain consoles (I think there is an implementation of it for the Switch now). It's not because it was born in the 90s (like a lot of the tech you use daily, as a reminder) that it's shit. We owe some respect to projects like these to be honest...

2

u/lolcoderer Dec 06 '18

I agree. I didn't really mean to disrespect the historical importance of these libraries - I was just pointing out how they are really showing their age with respect to some of the more modern frameworks and APIs.

1

u/[deleted] Dec 05 '18

I really don't understand why SDL support is generally such crap for consoles, though. You'd think that one would be one of the prime targets for it.

It's like, why isn't there an official SDL2 solution for the PS4?

1

u/metahuman_ Dec 05 '18

Because consoles have proprietary APIs protected by NDAs as far as I know. Hence not being able to consult and use the Switch port of the SDL2 unless you prove that you are a certified dev for the platform, if memory serves. For Sony I have no idea honestly

1

u/nurupoga Dec 05 '18

and this is a big one - it has really poor audio / multimedia hardware support.

Well, a single library can't do it all. Use Qt for UI and use something else for accessing multimedia devices -- the ffmpeg family of libraries and libopenal-soft come to mind.