6 ms·
I am fully aware how much more performant native desktop applications can be compared to the “let’s ship a browser” popular alternative. That said, do you, or
by skinner927 2y ago
I am fully aware how much more performant native desktop applications can be compared to the “let’s ship a browser” popular alternative.
That said, do you, or anyone else who often makes this (fair) complaint, have any experience writing native desktop applications? Have you ever tried to implement drag and drop, animations (like accordions), modals, gradients, and custom elements? Not to mention, GPU acceleration.
I can only speak for Windows and Linux, but the native APIs are atrocious. The frameworks for these native APIs are cumbersome and inflexible. Styling is, without a doubt, the most complex part. It’s all so complex that shipping a browser + an api to talk to the host is easier.
- jeremyjh 2y agoIf you use Qt, like in TFA, then you don't have those issues. You use a markup language for layout if you want, javascript if you want, C++ if you want.
- nikau 2y agoCall me a boomer, but I preferred old apps that had a consistent interface instead of all the random wheel inventing.
- riffraff 2y agoI don't recall a single time I thought "gosh, I wish this app used an accordion". But custom controls, e.g. the table-and-chair view in TFA seems a sensible thing to have in specific apps.
- andrekandre 2y ago> Have you ever tried to implement drag and drop, animations (like accordions), modals, gradients, and custom elements? not to sound like a salesperson but its not too hard in (apple) appkit [1] using cocoa and core animation [2] (and all of this is even easier in swiftui especially animation and styling [3]) [1] https://developer.apple.com/documentation/AppKit/drag-and-drop https://developer.apple.com/documentation/AppKit/drag-and-dr... [2] https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreAnimation_guide/CreatingBasicAnimations/CreatingBasicAnimations.html https://developer.apple.com/library/archive/documentation/Co... [3] https://swiftui-lab.com/custom-styling/ https://swiftui-lab.com/custom-styling/
- koakuma-chan 2y agoYou have to own a MacBook though.
- mixmastamyk 2y agoDon't style it, please. I chose my system theme for a reason.
- gmueckl 2y agoYou found the reason why Qt is popular.
- lazypenguin 2y agoYou are right, building a good UI for the desktop has become exceedingly difficult. In my experience new UI toolkits try to mimic the web experience (kivy, QML, Slint, Flutter, etc.) and end up being threadbare with the simplest widgets available. In my opinion, every new UI toolkit since QtWidgets/WinForms/Delphi/WPF/Win32/Gtkmm era has missed the point. The desktop is a power tool and requires powerful widgets. Virtualized lists, data grid with complex interactions, drag and drop, OS integration, modals, background tasks, docking windows, etc. A toolkit that puts a slider, some text and buttons on the screen doesn’t solve the harder problems and the web browser will run circles around that workflow. Easier UX can be built in anything really. Until there’s a desktop app framework that solves the hard problems in desktop UI dev then desktop will languish and hard stuff will continue to be hard.
- ogoffart 2y agoI'm developer of Slint and I'm glad to see Slint mentioned. I want to clarify that we're not trying to mimic the web. We have a great vision for the desktop integration, but we unfortunately have limited resources. Our team is fairly small and we are mainly working with paying customers to pay the bills, which are mostly in embedded space at the moment. I agree with your points, and while there’s still a lot to do, I hope Slint can become a strong option for building powerful complex desktop applications.
- lazypenguin 2y agoI like Slint, the technical work is extremely impressive. I even contributed to the project! I hope you can realize those goals, you would fill a massive vacuum in the wider ecosystem.
- hulitu 2y ago> Not to mention, GPU acceleration. I mean, a static Save button, clicked one time per hour really benefits from GPU acceleration. /s