4 ms·
What is your recommended tutorial/book for learning to build well-designed desktop UIs that work on Windows, OSX, and multiple different flavours of Linux?
by afarrell 10y ago
What is your recommended tutorial/book for learning to build well-designed desktop UIs that work on Windows, OSX, and multiple different flavours of Linux?
- TeMPOraL 10y ago1) documentation of any chosen cross-platform UI framework 2) any decent software book that teaches to separate the presentation layer and platform layer from the rest of the program (that way, you have much less to port between platforms and maintaining it is not as costly as people fear)
- afarrell 10y ago> of any chosen cross-platform UI framework such as... EDIT: my purpose in this line of questioning is to assert that if you are trying to persuade someone to not do a thing, you will be more effective if you can give someone a straightforward alternative. I likewise think that the folks trying to get people to stop writing python2 should pick a release of python3 to become an LTS release in the same way that in 2014 python2.7 was effectively declared an LTS release with support until 2020.
- TeMPOraL 10y agohttps://en.m.wikipedia.org/wiki/List_of_platform-independent_GUI_libraries https://en.m.wikipedia.org/wiki/List_of_platform-independent... EDIT to parent's edit: I'm not really trying to persuade anyone; not anymore. I understand the incentives that push people toward wasteful solutions. This won't stop until we hit a resource limit. All I'm saying is that there's a lot more we can do with current hardware once Moore's law is definitely dead. The mostly untapped potential is conditioned on people not doing extremely wasteful things just to shave off a little development time.
- pas 10y agoThat list seems to be useless. Skia is not a GUI library for example. CEF is not a GUI library, it's a WebView. And there should be at least a column indicating whether the library has support for usual desktop applications and/or for multimedia full screen things (such as games, or a movie player with OSD and custom graphical design and elements, textures). And the GUI debate is about "where are abstract libraries that compile to native apps", after all, anything else is just for prototyping a "native app". And usually people just answer but Qt is nice enough, yet everyone uses Electron :/
- adrianN 10y agoLuckily it's a wiki, so you can improve it :)
- afarrell 10y agoOf that list, what is the one that you would recommend from your experience working with it and what book or tutorial would you recommend someone work through to get a solid mental model of it?
- BoorishBears 10y agoQt, learn Qt and you can write performant native applications for all the major desktop platforms.
- logfromblammo 10y agoI'm not complaining about Qt. It seems like a perfectly cromulent framework. But I have personally seen at least one application that would suggest that some people have tried to write Qt applications without first learning Qt. Please, people, for the love of those whom your customer may hire after you, take the time to understand signals and slots before porting that godawful mess of garbage you got from your customer's previous contractor to Qt.
- afarrell 10y agoFantastic, I have heard of Qt before and I know I've seen python bindings for it. What is the go-to tutorial/book that humans who are knowledgeable in Qt recommend for efficiently learning it?
- nickporter 10y agoIt's been a few years since I've touched QT. The official documentation was quite good at the time.
- mingodad 10y agoFLTK http://fltk.org/ http://fltk.org/ simple dead easy. Juce https://www.juce.com/ https://www.juce.com/