11 ms·
> the desktop/UI sucks, its awful in almost every way, you are essentially targeting X11 which was developed in the 70’s and it shows. It works and it brings a
by JCWasmx86 4y ago
> the desktop/UI sucks, its awful in almost every way, you are essentially targeting X11 which was developed in the 70’s and it shows. It works and it brings a couple of quirky features to the table which are quite nice, but, in essence, if you love Linux, just forget targeting GUI desktop stuff, you need a graphics screen, a browser (for a real UI) and a terminal window – that’s it… there is the Wayland stuff but its far too early, it’s also disjointed, barley supported and is grappling with compatibility with legacy stuff…
When would you even want to target X11/Wayland directly? Just use a toolkit and ignore the underlying stuff. For 90% of the application it does not matter.
> I find it difficult to see why this is going to change any time soon, the performance of a well written UI in a modern browser out-performs a native desktop application in every category of sped, usability and presentation for most usual use cases.
I always encounter the exact opposite. I've never found any web application with a good UI or any web application that outperformed a native one.
> Could you imagine a future where desktop applications were built like this, and in every sense of the word, “portable between operating systems” with the experience being identical on all platforms…
This sounds more like a really crappy future, if anything looks everywhere the same. Applications must integrate with the "host"-OS.
The only reason the web stack is used for desktop applications is because it is a bit cheaper and less effort than writing a good - native application.
The lock-in argument is just a very weak one. At some point you depend on something. Oh, your HTML only renders fine in Chromium or you use Chromium only JS APIs - you are locked-in to Chromium now.
- dylan604 4y ago>The only reason the web stack is used for desktop applications is because or is it that there are less bootcamps teaching OS native app UI development as there are JS front end library usage?
- deleted 4y ago[deleted]
- yen223 4y agoThere's just straight up less educational material of any kind that teaches native desktop app development. I would love to see the equivalent of the MDN but for AppKit, but alas
- johnbernier 4y agoThe issue is exactly this. More and more people are coming into the development space using HTML/CSS/JavaScript and the information on the other technologies is harder to grasp and get a hold of.
- pjmlp 4y agoIt is called books, and when payment is an issue, many places have libraries.
- yen223 4y agoOh another issue I found was that there are way more people being condescending about native desktop development, than there are people who teach native desktop development
- rwalle 4y agoYou mean those books that have not been updated for years, with tons of deprecated APIs, using bad practice or confusing examples, and as a beginner you don't have anyone to talk to about the material? You may want to go to a public library and see what books they actually have. Those are not good stuff. I have actually looked at those, have you? At least on Youtube you have a comment section where people discuss the material. Or if you are willing to pay some money, udemy provides some decent discussions and Q/A. And there are even better options out there.
- laughinghan 4y agoNah, the supply follows demand. There are fewer native app bootcamps because that's not what people want to hire or learn.
- ilyt 4y ago>The only reason the web stack is used for desktop applications is because it is a bit cheaper and less effort than writing a good - native application. Another reason is that it can just run in browser without installing anything and "just click and it starts working" is HUGE feature, especially if you're in corpo where every fucking app needs management/helpdesk approval to be installed And so we're damned to this miserable existence of using webapps
- danielvaughn 4y agoIs it so miserable? Certainly there are problems with modern web apps, but I can't think of any that are insurmountable.
- MSFT_Edging 4y agoThe feature parity of the web app and the electron app is often noticeable. Microsoft products are a big one. oneNote web lacks a ton of features, teams Linux is very unstable and will outright not show the message history, jumping days or weeks at a time. I needed to make a powerpoint once and it just wouldn't save, the page would repeatedly reload and lose all the changes.
- nawgz 4y agoWhy would you criticize a platform because corporations misuse that platform? MS intentionally cripples its web offerings because native ones can collect way more data. The web and its featureset are not responsible for issues like "unstable Teams on Linux" and "a page repeatedly reloading and losing all the changes"
- schaefer 4y agoThe only issue I have with teams for linux is it doesn't wake from suspend properly. So if I suspend I kill it and restart the app. Give that a try and see if it resolves your issues with message updates.
- xboxnolifes 4y ago
- dheera 4y agoOne of the problems is ALL of the toolkits suck. Just try creating a Qt5 application in Python, it's a royal pain in the ass compared to HTML+CSS, especially if you want to get things aligned in a certain way, e.g. having an widget always be the window height minus a certain fixed number of points, or 33% of the width minus 20 points, or something of that sort. Native widgets are also just design-wise ages behind web widgets. Rounded corners and a slight blurred drop shadow? Forget it.
- JanisErdmanis 4y agoHave you tried QML? It has options for alignment, and the reactivity built-in is just beautiful.
- bombolo 4y agoqwidget has layouts too. He probably tried to use qt for about 3 minutes and gave up.
- wvenable 4y agoXAML toolkits on Windows have the same issue -- styling stuff is an esoteric nightmare compared to HTML/CSS. And HTML/CSS is hardly the easiest way to do stuff and yet it's still better than what most desktop toolkits give us.
- AnIdiotOnTheNet 4y agoCould you just, stop styling shit and let your application look like the rest of the damned computer does? FFS, in 1995 styling was something the user did to applications, now it is a way for developers to mangle the fucking GUI so they can look 'unique' and 'on brand'. Fuck this entire goddamned industry.
- tabtab 4y ago> Could you just, stop styling shit That's part of the problem, eye-candy sells, but carries a complexity tax with it. Oracle Forms was butt-ugly, but got the every-day CRUD/GUI job done good-enough and was quick to develop with. Oracle Forms dev's ran circles around our web devs in terms of productivity. I looked into why, and Oracle Forms just required less code and less keystrokes to make apps and apps changes. (Oracle ruined OF when they rewrote the GUI client/browser into Java from C. Otherwise, OF would still be common. I don't like Oracle the company, but OF was magical productivity.) KISS style = KISS stack.
- alerighi 4y agoI think the difference is about frameworks. Typically desktop application frameworks (Windows Forms, GTK, QT, etc) follow an imperative approach, where you design your UI (maybe with a graphical designer) and attach callbacks to events, than then update the UI elements directly. Web frameworks (and modern desktop frameworks are starting to do so) use a functional approach, the view is a pure function of the state of the application, when you need to change something you change the application state and the view updates automatically. This solves a lot of problems that you otherwise have.
- ognarb 4y agoWith Qt you can use QML and use a declarative language and this was way ahead of it's time when it was first released in 2009.
- deleted 4y ago[deleted]
- rzzzt 4y agoWPF and its markup language, XAML was added to Visual Studio in the 2008 edition. (But of course "there is only XUL" was way ahead-er when compared to either.)
- tabtab 4y agoXAML is generally static. A GUI markup browser/client should be interactive in my opinion. XUL had awkward command structures and syntax in my opinion. I didn't see the rhyme and reason for their odd choices.
- super256 4y ago> Web frameworks (and modern desktop frameworks are starting to do so) use a functional approach, the view is a pure function of the state of the application, when you need to change something you change the application state and the view updates automatically. This solves a lot of problems that you otherwise have. Exactly! The React pattern is incredibly intuitive, to the point where even google implemented something similar with JetPack Compose for native android apps. The only thing I dislike about Compose is the actual state management and a few quirks, but in general, I'd love to see more native UI solutions to adopt this.
- pcthrowaway 4y ago> I always encounter the exact opposite. I've never found any web application with a good UI or any web application that outperformed a native one. VS Code seems to outperform all the other IDEs I've used in the past
- cleyclun 4y agoAlthough I agree, VS Code also uses excessive amount of RAM. More than any IDE I've used in the past. Still, I use it because it's the best free option.
- canadianfella 4y ago[dead]
- georgemcbay 4y agoVS Code for me is the exception that proves the rule. Its great and in most ways feels like a native app, but this is a very different experience than every other Electron app I use which all tend to leak significant amounts of memory over time (VS Code does this too but to a lesser degree), lock up in weird ways (task still running in task manager but any attempt to invoke a new UI window results in nothing happening until I go and manually kill all the zombie tasks running in the bg), etc.
- pjmlp 4y agoBy offering a subset of their capabilities, with key features implemented in a multi-process architecture, using plenty of C++ and Rust written modules. Additionally the terminal has to use WebGL to achieve usable performance.
- iudqnolq 4y agoYes, web app programming sucks. But a web framework UI that communicates with a native backend has a lot of advantages when compared with the actual alternatives I could use instead. The web has gotten orders of magnitude more investment in tools, and it shows.
- rbanffy 4y ago> The only reason the web stack is used for desktop applications is because it is a bit cheaper and less effort than writing a good - native application. HTML, CSS, and JavaScript are the lowest common denominator of all modern desktops. It's just another toolset in a long series that started with teletype control codes, and went on to curses, Motif, Java's AWT, and so on...
- xg15 4y ago> I always encounter the exact opposite. I've never found any web application with a good UI or any web application that outperformed a native one. As an illustrative example, try to find a conversation in microsoft teams (electron app) that's more than a week old by scrolling through the chat history. We're in a situation where scrolling up a list cannot be implemented without breaking the UI.
- selfmodruntime 4y agoThis in on teams. The exact feature works perfectly fine in discord.
- xg15 4y agoDiscord's desktop app isn't browser-based though, is it?
- CharlesW 4y agohttps://twitter.com/discord/status/822874230631100416?lang=en https://twitter.com/discord/status/822874230631100416?lang=e... Discord (@discord): "We use electron for the desktop app, so it’s all javascript and react!"
- xg15 4y agoHat's off to them then! That would be the first electron app I've used that didn't feel like an electron app at all.
- txtsd 4y agoLots of users find it to be the most sluggish app on their desktops.
- jen20 4y agoIt feels exactly like an electron app. Garish theme that does not respect system preferences, a memory hog, lack of integration with system services, and a general feeling of being build for some product manager rather them users.
- devwastaken 4y ago"I always encounter the exact opposite. I've never found any web application with a good UI or any web application that outperformed a native one." Consumers disagree. Almost every application is running chromium now and they couldn't be happier that it just works. It's great on Linux too. "The only reason the web stack is used for desktop applications is because it is a bit cheaper and less effort than writing a good - native application" You will have to write an electron application before commenting. Native UI's cannot be universal UI's, it breaks user experience, causes more bugs and looks terrible. I want my system menu to have a system UI. I do not want my user applications to look like the system. Times are already changed, native is dead, long live the chromium desktop.
- naikrovek 4y ago> Consumers disagree. Almost every application is running chromium now and they couldn't be happier that it just works. It's great on Linux too. consumers don't make that choice. developers choose electron because it is the only cross-platform target where almost all the cross-platform fiddly bits are handled for you. there are lots of cross-platform approaches where the fiddly bits are not handled out of the box, and those are all little more than background noise compared to electron. consumers neither know nor care how the app they use is implemented. they care only about which devices the app is available on. now to be clear, electron fucking sucks as a user of applications. it is dog slow and awful on RAM, and the billions of devices running electron apps definitely contribute to global warming far more than native apps would, but developers think that the One True Language is JavaScript and that the One True Platform is the browser, and well, cults are immune to logic.
- devwastaken 4y agoIf electron is dog slow on your PC, upgrade. You're not the target platform. Runs fine on any device of the last 5 years with more than 4gb of ram. I suspect it runs just fine on your computer. Computer power usage is not even on a blip on the chart of power usage globally. A cult would infer the usage is small. On the contrary chromium is in almost everything nowadays, even medical equipment. The most robust graphics rendering engine is of course going to be used everywhere for graphics.
- deleted 4y ago[deleted]
- ozim 4y agoGot triggered by “bit cheaper”. To develop windows desktop app you have to pay MS tax. To develop Apple desktop or iOS app you have to pay Apple tax. To develop Android app you pay Google tax. You could develop Linux desktop app but you are not going to make people pay for it because people will expect that it will be free - because Linux…. You make web app that runs on only free GUI standards that in reality exist and you are free and don’t have to pay anyone anything. Your business is not tied to App Store or whims of a corporation.
- Const-me 4y ago> To develop windows desktop app you have to pay MS tax. No, making windows desktop apps is free. Microsoft even has a free IDE, with a caveat that it's only usable by independent developers, or small businesses.
- ozim 4y agoWhat about if I have a big business and don't want to be bullied by a company order of magnitude bigger than mine?
- doublerabbit 4y agoMaking apps may be free but you still have to pay to obtain the OS.
- Const-me 4y agoNo, you don’t have to. For development, Microsoft ships free VM images, there: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/ https://developer.microsoft.com/en-us/windows/downloads/virt... VirtualBox is free and open-source software, GPLv3 license.
- doublerabbit 4y agoDevelopment yes. But for me to push to the user, they have to have a copy of Windows. That costs money; MS Tax.