6 ms·
Got you, thanks for the link! I've been meaning to write a small native GUI app for fun but all the current options (GTK, Qt) are so large, it's a bit daunting.
by NeutralForest 5y ago
Got you, thanks for the link! I've been meaning to write a small native GUI app for fun but all the current options (GTK, Qt) are so large, it's a bit daunting. So I was full of hope when reading the original comment ^^'
- krapp 5y agoI've dipped my toes into GUI development just enough to know you can have "simple," or you can have "native," but not both. There are smaller projects like nanogui[0] and microgui[1] out there, but of course they're only as small as they are because they don't use native widgets. [0]https://github.com/wjakob/nanogui/tree/master/src https://github.com/wjakob/nanogui/tree/master/src [1]https://github.com/ryankurte/micro-gui https://github.com/ryankurte/micro-gui
- einr 5y agoYou could go with Lazarus[0]. It is dead simple to use (hope you like Pascal, though) and can use native widgets from your choice of Win32, Cocoa, GTK+ or QT. [0] https://www.lazarus-ide.org/ https://www.lazarus-ide.org/
- NeutralForest 5y agoAlright thanks, it's pretty sad we've handed cross-platform development to the web mostly. I see if I find something great along the way.
- pjc50 5y agoCross-platform desktop development never really worked properly, partly because the platforms were competitors and had no interest in making it easy. The web is the "neutral zone" where platform-specific stuff has mostly been fought off, at least since we killed IE and Flash. If you want to make a native app, the first question has to be "native to what platform?"
- NeutralForest 5y agoTrue enough, I'll still hold onto a dream of cross-compatible GUI's which work on most platform. Maybe new advances in VM stuff will make that possible?
- krapp 5y agoI think one big reason the web works as a GUI platform is that it wasn't designed with programmers in mind, but around a much simpler document and box-model paradigm with separate DSLs for layout, style and execution (HTML, CSS and JS respectively) - only one of which is (arguably) a programming language, and a simple one at that. It would be much different if anyone wanting to write an HTML document or GUI application had to do so in C++ using web APIs directly. Most GUI frameworks just aren't at a high enough level of abstraction to be as easy to work with as the web. Also, obviously, because browsers and the web stack are already ubiquitous. Electron is basically just shipping a web app with a standardized runtime (a Chromium instance) which is exactly what many other apps do (eg, most game frameworks and anything written in Python, Java, etc,) but Electron still needs a platform specific binary to distribute. TANSTAAFL. At the end of the day, nothing is truly cross platform.
- NeutralForest 5y agoI agree with what you wrote, but at the same time I dislike how energy-intensive the web is. It doesn't _have_ to be, but it is nowadays. Going back to somewhat native GUI's is a step in the right direction in my opinion, at least in some aspects.
- pjc50 5y ago> I've been meaning to write a small native GUI app for fun Windows + Visual Studio Community + C# + WinForms = you can drag a button on to a panel, double-click it and edit the code behind, and start gluing a native app together in minutes. The install is large, and the limitation of WinForms is that it's not dpi-aware and tends not to be resizable either, but the development experience is still pretty great. And if you somehow like the Windows 3.1 experience, all the C code from that era should still compile and run on a 2022 system. You can learn what a window procedure is; I believe people call this "immediate mode" GUI these days. Oh, and as always, you can have native XOR portable.
- NeutralForest 5y agoI'd like to keep my workflow as Windows independent as possible but I'll maybe check that out if all else fails.