While those aren't great numbers, I personally think it's tolerable for most usages.
Cross-Platform GUI Toolkit Trainwreck (2016)
111–120 of 177 posts
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#112"so developers can use hipster technologies like HTML, CSS and JavaScript"
"the vast armies of newskool web developers who grew up on JavaScript and the DOM"
...especially when the author doesn't really appear to know what he's talking about in that space:
"And when things don’t quite work as expected, you can’t do much about it—short of maybe just switching to a different framework as a last attempt."
"and long-term maintenance will be a nightmare."
"web development technologies—which technically don’t provide any advantages over more traditional approaches"
There are legitimate criticisms of Electron as a choice for desktop apps, but that doesn't invalidate an entire domain's worth of developers.
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#113So many sub-debates hidden in this "cross-platform native GUI": 1) I want to write a GUI code once 2) I want to ship something that works on Windows / Linux / MacOS 2.1) I want to ship something that looks the same on Windows / Linux / MacOS 3) I want to ship a binary that works on Windows, a binary that works on Linux, a binary that works 3.1) I want to ship a small and efficient binary 4) I want to ship something t…
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#114We already have browsers installed that are designed to render arbitrary cross-platform GUIs based on HTML/CSS. Why can't I write a desktop application that just asks the OS for the users preferred browser and provides it with HTML/CSS and UI interaction callbacks / events? Render it in a native looking window. We shouldn't need Electron at all! It's like we all have this fantastic rail transport network but insist o…
>Why can't I write a desktop application that just asks the OS for the users preferred browser and provides it with HTML/CSS and UI interaction callbacks / events? Render it in a native looking window. You can: - webview (I mentioned it elsewhere) https://github.com/zserge/webview - sciter https://www.google.com/search?client=firefox-b-1-d&q=sciter - ultralight https://ultralig.ht/ Granted it's not "user's preferred…
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#115Mostly good article, but I don't appreciate the gratuitous dunking on web devs towards the bottom: "so developers can use hipster technologies like HTML, CSS and JavaScript" "the vast armies of newskool web developers who grew up on JavaScript and the DOM" ...especially when the author doesn't really appear to know what he's talking about in that space: "And when things don’t quite work as expected, you can’t do much…
What does slow down Web UIs is the DOM (whose rendering engine in Chromium is written in C++). The DOM is the most advanced layout engine ever created. It does an unbelievable amount of work to make interfaces resizable-by-default and adaptable-by-default, and yet is enormously flexible, allowing one to build virtually any box-based interface imaginable. This isn't simply so newcomers have an easier time. It frees application code to focus on the control logic and the structural side of the view, instead of messing with things like pixels and manual sizing, which makes application code more maintainable and reusable. I can place a piece of DOM in wildly different contexts, with wildly different amounts and types of content, and for the most part it will just respond as expected. This significantly reduces code complexity, which improves long-term maintainability and avoids bugs.
This of course comes with a cost. All of those implicit layout adjustments have overhead. The ability for your code to handle content you never thought it would encounter requires CPU time. That cost isn't worth it for certain applications. But it isn't a waste, or a sign of the moral decline of "kids these days". It's a conscious tradeoff that any good developer can weigh and consider for what it is.
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#116We already have browsers installed that are designed to render arbitrary cross-platform GUIs based on HTML/CSS. Why can't I write a desktop application that just asks the OS for the users preferred browser and provides it with HTML/CSS and UI interaction callbacks / events? Render it in a native looking window. We shouldn't need Electron at all! It's like we all have this fantastic rail transport network but insist o…
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#117So many sub-debates hidden in this "cross-platform native GUI": 1) I want to write a GUI code once 2) I want to ship something that works on Windows / Linux / MacOS 2.1) I want to ship something that looks the same on Windows / Linux / MacOS 3) I want to ship a binary that works on Windows, a binary that works on Linux, a binary that works 3.1) I want to ship a small and efficient binary 4) I want to ship something t…
We're working on a framework that address 1, 2, 2.1, 3, and 3.1 - Revery [0] - a React-like framework that compiles to native code, built with ReasonML [1]. I believe that the React pure-functional model of UI-as-a-function-of-state is such a powerful paradigm, and not leveraged on native today - ReasonML is a perfect fit for that.
Bullet point 4 is a non-goal for Revery, but our sister project, Brisk [2] is built on platform widgets.
I'd personally also add a couple of dev experience bullet points or ideas to the "holy grail":
6) Fast / instant compilation time
7) Hot-reload (see changes to the app instantly)
We're not there yet, but we hope we could also get to the point of including 6/7 - essentially bringing some of the great aspects of React/Redux to desktop application development, with native code.
- [0] Revery: https://github.com/revery-ui/revery
- [1] ReasonML: https://reasonml.github.io/
- [2] Brisk: https://github.com/briskml/brisk
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#118Andy Brice of successfulsoftware.net has a long-time product, Perfect Table Plan (computes seating plan for weddings, given various inputs) that used Qt (and C++), I've read, on his blog. PTP has been there for years now. Seems to be doing well, based on what he says about it. Don't know how good the Windows vs. Mac versions are, but at least they are there. His newer product HyperPlan may also be on the same stack.
https://www.perfecttableplan.com/html/about_us.html
No connection, just have followed the blog for long.
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#119So many sub-debates hidden in this "cross-platform native GUI": 1) I want to write a GUI code once 2) I want to ship something that works on Windows / Linux / MacOS 2.1) I want to ship something that looks the same on Windows / Linux / MacOS 3) I want to ship a binary that works on Windows, a binary that works on Linux, a binary that works 3.1) I want to ship a small and efficient binary 4) I want to ship something t…
Why?
I want my macOS apps to use Mac-native UI elements, and Windows apps to use Windows-native UI elements. (There is no one native Linux UI, so we can leave that one aside...)
Re: Cross-Platform GUI Toolkit Trainwreck (2016)
#120Sadly it's FreePascal, but it really does look like the less bullshit platform to make cross-platform desktop applications.