3 ms·
I agree that language usually associated to "native" apps are actually not so good to write desktop app business logic. Computer have become fast enough that hi
by ogoffart 3y ago
I agree that language usually associated to "native" apps are actually not so good to write desktop app business logic. Computer have become fast enough that higher level programming language (JavaScript, TypeScript, Python, ...) are just fast enough and easier to use.
That say, I disagree that the DOM and the Web in general are the best technologies to do desktop UI. DOM is originaly made for documents and complex UI was retrofitted in a way that you need to use extra framework on top and workaround lots of issues. Plus you need a heavy browser to make it run.
With Slint [1] we're trying to make a Desktop UI framework that can be used from JS/TS, without bringing a browser.
[1] https://slint.dev https://slint.dev
- self_awareness 3y agoWhy do framework authors not respect the keyboard focus and standard keybindings? Do you find them unnecessary/unneeded? For example, the table view doesn't support browsing through pagedown/pageup/home/end, although it supports moving by cursors. Clicking a button with the mouse, and trying to re-click with the keyboard (enter, space) it also doesn't work -- mouse click doesn't move the keyboard focus from the previous widget. Do you target only mouse/touch users with this framework?
- jampekka 3y agoDOM has quite a bit of legacy cruft but you don't have to use those and the new layouting like flexbox and grid and media queries are IMHO way better than anything else out there. Slint seems very good especially for environments where you don't have a (modern) browser, like embedded, and the API looks clean and first class Node.js is great. And the website is great. Property binding looks promising Separating the widget definition from the code is probably a good idea, although IMHO the content-style-logic separation of HTML/CSS/DOM is even better. What brings me some really bad memories is the widget-tree-style API (especially with absolute pixel units in all the examples). But this may be prejudice from my part.