Then optimize what actually needs optimizing.
There's no easy, generic answer on how to get a given electron app to "appear performant". I say "appear", because even vscode leverages various strategies to appear more performant than it might actually be in certain scenarios. I'm not saying this to bash vscode, but because techniques like "lazy loading" are simply a tool in the toolbox called "performance tuning".
BTW: Not even using C++ will guarantee a performant application in the end, if the application topic itself is complex enough (e.g. video editors, DAWs, etc.) and one doesn't pay attention to performance during development.
All it takes is to let a bunch of somewhat CPU intensive procedures pile up in an application and at some point it will feel sluggish in certain scenarios. Only way out of that is to measure where the actual bottlenecks are and then think about how one could get away with doing less (or doing less while a bunch of other things are going on and then do it when there's more of an "idle" time), then make resp. changes to the codebase.
Is this site insane? On Linux I have access to so many more applications than other platforms. Sorry apple, ios apps repeating the same thing infinitely doesn't count.
You are comparing Apples to oranges. While it may be true that Linux may have more software available, in my experience macOS has a shit ton of productivity software as well, and many times, due to being for-profit, of higher quality. That's exactly why I've been thinking about giving my own try to making a launcher like Raycast for Linux.
Can completely agree.
On Apple systems I can find a ton of productivity and editing software, but no luck doing things like file operations or automating. On Linux I can find absolutely anything related to processing data, customization, science or protocol clients, but no luck finding good note taking tool.
If I were to end up doing it (too many things I would like to do, too little time), I'd do it foss. At most I'd paywall features that have an ongoing cost (like hosting or server costs), though I am a bigger fan of keeping things local. That way its simpler and also easier to trust.
Personally, I think that paying for software isn't a bad thing as long as the price is right and the licensing reasonable (I really hate unnecessary subscriptions). Devs (specially if working on complex stuff) got to eat too, and sometimes donations aren't enough.
Yeah I recently went back to Linux as a daily driver and was blown away how easy stuff like flatpaks made it to do everything I need quickly. That wasn’t the case last time I used Linux for something more than a quick and dirty VM host.
It's fun and games... until you get lots of "...just like X command?" commentaries from randoms. Until you get sick of such and decide to do something non-productive instead. Unless there is money included in the former.
No wonder when installing anything on Windows have so much friction compared to Linux and MacOS. Every program have it's own installer and updater, bundling dependencies with no deduplication making simpliest program heavy.
Like, when writing a Python program you are supposed to bundle Python or user would need to install it manually.
GNOME created awesome app ecosystem recently. I have hundreds of them installed, no slowdowns or problems with space, all updated in single menu with quick search which one I want.
Apps on desktops have even more sense than on mobile, as they can benefit from less isolation and more integration with rich filesystem and system functions.
How about instead of making yet another Linux distro, you just make an install script instead? I'm personally more likely to try out an install script over a totally pointless ISO....
I'm interested in new distributions, but it really needs to do something new. Different default packages with a handful of custom things on top of an existing distro just doesn't cut it. Give me a NixOS, Puppy Linux, ReactOS(I know it's not a distro) or something else unique. I'm tired of Debian/Ubuntu based distros, if I wanted Debian or Ubuntu, I would use them.
I’d been playing with the idea of building a Linux app. I used Post Haste on Windows to help me organise footage but haven’t found a substitute on Linux yet.
What a fucking joke. As someone well known once said, if you're a bug on a software and people start leveraging it and depending on it then it isn't a bug, it is a feature - the same goes for MS Office, since it has the largest user base and the standard actually came from there then what it renders is actually the correct thing no matter what you may think.
Yes the ODF is obviously a better standard than OOXML and that's because ODF was designed from the ground up after seeing the fuckups MS did for years while trying to get something to work. It's very easy to point fingers after the fact, same way it's easy to know the lottery numbers of last week's draw but not for next week's.
Making apps for Linux sucks big time. No one wants to deploy 10+ variants in a multitude of formats. The current userland in Linux is a huge clusterfuck.
If people want to see Linux on the desktop to take off for real, then here's what needs to happen:
Userland API should be standardized. One API for all distros, no exceptions.
Userland API should be binary backwards compatible. If I build my app and it works today on Ubuntu 22, it should work tomorrow without any changes on Ubuntu 24 and RedHat 10.
GUI API should be part of userland. I don't give a shit about GTK and Qt, I need one API which works everywhere at all times.
Deployment format should be standardized. No more deb and rpm bullshit. Just one format for all distros.
Init system should be standardized as well. If I want to auto start my app, I shouldn't care if it's init.d or whatever else bullshit. Just one fucking system!
The current app repo system must die. It should work like App Store - I make a dev account, I publish my apps, they pass some automated checks and then every Linux user can install my apps and they should work on every bloody distro.
There should be a distro test spec - every distro should be tested against it. If some distro doesn't pass the test its devs get back to the drawing board and fix it.
This would easily kill Linux entirely. Doing most of this wouldn't even be legal as you'd have to covert Linux to closed-source. Not even Apple does all of this on the iphone.
I understand what you mean, however,there are at least 3 different kinds of distros that are complementary: LTS based distros, stable distros and rolling distros with cutting edge version releases. These have undeniably distinct use cases.
Init system should be standardized as well. If I want to auto start my app, I shouldn't care if it's init.d or whatever else bullshit. Just one fucking system!
Why some obscure app should touch system-wide init? GTFO of my init!
And generally your comment is filled with super wierd stuff.
There are hundreds of thousands of "apps" for Linux so it doesn't seem that distro diversity is hurting Linux. Besides, if it bothers you, just make an AppImage and don't worry about variants.
That's not it, though, I bet. I think you just don't like the fact that there isn't an easy ad-based monetization pipeline on Linux, like there is on Android and Apple. That's not what Linux is for.
I don't care if Linux "takes off" on the desktop. Why would I want that? We already have Windows. I like the Linux community as it is, thanks.
Also, complaining that you can't make your app autostart on my computer... really? Fuck that.
WDYM so I shouldn’t make an anime flavored, Arch based distro named Archuwu?
ETA iso, wen?
UwUntu needs some competition
I can totally picture this. Cutesy sound effects, characters pulling up/down menus, sparkle effects...
Where can I get it?
UwUntu
Thanks
Reminds me of this
Where is it? Give it to me now
You can make pony flavored Debian based distro named Derpian
You should, and you shouldn't let anyone stop you!
Just please no more electron.
Can”t we just re-write Electron in Rust and then use it for everything else? /s
You're only half sarcastic, I can tell!
And they did apparently. It's called Tauri
Are there other leptons I can create apps with?
Obviously the version of Electron re-written in Rust would be Muon.
Tauri is much better than Electron, but still not near close just native program. Let the web be simple, please.
Putting it on my list! Thanks
They will rewrite rust in electron
We already sort of did, it's called tauri
Rewrote electron in rust you mean!
yeah you're right, wasn't fully awake I guess
Make a Linux app, make a Linux distro, who cares...
How about you just let people do what they enjoy doing.
Make a Linux app, not war.
Yeah, this is obnoxious.
It's also truly terrible at being persuasive.
The “Where to start” section should be a “Not You” meme, with Electron in the middle square
I'm curious what witchcraft Microsoft did with VSCode to make it so responsive and performant when no other electron app is.
The term to look up is Monaco. That's the secret sauce part of VS Code that made it faster but I don't know enough about it to describe it well
Just looked it up a bit: https://microsoft.github.io/monaco-editor/
AFAIU,
monacois just about the editor part. So if an electron application doesn't need an editor, this won't really help to improve performance.Having gone through learning and developing with
electronmyself, this (and the referenced links) was a very helpful resource: https://www.electronjs.org/docs/latest/tutorial/performanceIn essence: "measure, measure, measure".
Then optimize what actually needs optimizing. There's no easy, generic answer on how to get a given electron app to "appear performant". I say "appear", because even
vscodeleverages various strategies to appear more performant than it might actually be in certain scenarios. I'm not saying this to bash vscode, but because techniques like "lazy loading" are simply a tool in the toolbox called "performance tuning".BTW: Not even using C++ will guarantee a performant application in the end, if the application topic itself is complex enough (e.g. video editors, DAWs, etc.) and one doesn't pay attention to performance during development.
All it takes is to let a bunch of somewhat CPU intensive procedures pile up in an application and at some point it will feel sluggish in certain scenarios. Only way out of that is to measure where the actual bottlenecks are and then think about how one could get away with doing less (or doing less while a bunch of other things are going on and then do it when there's more of an "idle" time), then make resp. changes to the codebase.
Atom was a lot less responsive and generally laggier than VSCode though. I used to use Atom and was surprised how much more responsive VSCode was.
Didn't they basically take all the slow bits and rewrite them in not electron?
Is this site insane? On Linux I have access to so many more applications than other platforms. Sorry apple, ios apps repeating the same thing infinitely doesn't count.
You are comparing Apples to oranges. While it may be true that Linux may have more software available, in my experience macOS has a shit ton of productivity software as well, and many times, due to being for-profit, of higher quality. That's exactly why I've been thinking about giving my own try to making a launcher like Raycast for Linux.
Can completely agree. On Apple systems I can find a ton of productivity and editing software, but no luck doing things like file operations or automating. On Linux I can find absolutely anything related to processing data, customization, science or protocol clients, but no luck finding good note taking tool.
I think I live in a foss bubble, haven't paid for software for... Too long 😹. Would you make it foss or paid or something else?
If I were to end up doing it (too many things I would like to do, too little time), I'd do it foss. At most I'd paywall features that have an ongoing cost (like hosting or server costs), though I am a bigger fan of keeping things local. That way its simpler and also easier to trust.
Personally, I think that paying for software isn't a bad thing as long as the price is right and the licensing reasonable (I really hate unnecessary subscriptions). Devs (specially if working on complex stuff) got to eat too, and sometimes donations aren't enough.
Yeah I recently went back to Linux as a daily driver and was blown away how easy stuff like flatpaks made it to do everything I need quickly. That wasn’t the case last time I used Linux for something more than a quick and dirty VM host.
Electron? Really? At this point you should pick web app.
An app is an app, and my computer will take it all the same. ¯\_(ツ)_/¯
It's fun and games... until you get lots of "...just like X command?" commentaries from randoms. Until you get sick of such and decide to do something non-productive instead. Unless there is money included in the former.
t. Been there, done that.
Its not like there many Windows "Apps" being made. Almost everything these days is web based on the desktop.
No wonder when installing anything on Windows have so much friction compared to Linux and MacOS. Every program have it's own installer and updater, bundling dependencies with no deduplication making simpliest program heavy. Like, when writing a Python program you are supposed to bundle Python or user would need to install it manually.
GNOME created awesome app ecosystem recently. I have hundreds of them installed, no slowdowns or problems with space, all updated in single menu with quick search which one I want. Apps on desktops have even more sense than on mobile, as they can benefit from less isolation and more integration with rich filesystem and system functions.
How about instead of making yet another Linux distro, you just make an install script instead? I'm personally more likely to try out an install script over a totally pointless ISO....
I'm sorry but no AUR mention?
I'm interested in new distributions, but it really needs to do something new. Different default packages with a handful of custom things on top of an existing distro just doesn't cut it. Give me a NixOS, Puppy Linux, ReactOS(I know it's not a distro) or something else unique. I'm tired of Debian/Ubuntu based distros, if I wanted Debian or Ubuntu, I would use them.
Maybe we need a new distro that comes with vscode installed so we don’t have to do it!
I’d been playing with the idea of building a Linux app. I used Post Haste on Windows to help me organise footage but haven’t found a substitute on Linux yet.
Why bother making Linux apps if people think that LibreOffice is a 1:1 replacement for MS Office and everything is perfect already?
Certainly perfect.
Oh yes, I certainly blame them, however how hard is it to get the spacing on a bullet list correct? Fucks sake.
So you're telling me MS Word that actually invented the format and it is the most popular document editor is doing it wrong. lol
What a fucking joke. As someone well known once said, if you're a bug on a software and people start leveraging it and depending on it then it isn't a bug, it is a feature - the same goes for MS Office, since it has the largest user base and the standard actually came from there then what it renders is actually the correct thing no matter what you may think.
Yes the ODF is obviously a better standard than OOXML and that's because ODF was designed from the ground up after seeing the fuckups MS did for years while trying to get something to work. It's very easy to point fingers after the fact, same way it's easy to know the lottery numbers of last week's draw but not for next week's.
Suprise, if going the other way around it also would be broken.
Making apps for Linux sucks big time. No one wants to deploy 10+ variants in a multitude of formats. The current userland in Linux is a huge clusterfuck.
If people want to see Linux on the desktop to take off for real, then here's what needs to happen:
So... Windows?
LinuxNT
This would easily kill Linux entirely. Doing most of this wouldn't even be legal as you'd have to covert Linux to closed-source. Not even Apple does all of this on the iphone.
Linux kernel is stable and standardized. How is it close sourced and dead? You guys are dumb af.
I understand what you mean, however,there are at least 3 different kinds of distros that are complementary: LTS based distros, stable distros and rolling distros with cutting edge version releases. These have undeniably distinct use cases.
Why some obscure app should touch system-wide init? GTFO of my init!
And generally your comment is filled with super wierd stuff.
It's normal stuff. Linus himself talked about it for years. And nothing has improved.
rotfl
There are hundreds of thousands of "apps" for Linux so it doesn't seem that distro diversity is hurting Linux. Besides, if it bothers you, just make an AppImage and don't worry about variants.
That's not it, though, I bet. I think you just don't like the fact that there isn't an easy ad-based monetization pipeline on Linux, like there is on Android and Apple. That's not what Linux is for.
I don't care if Linux "takes off" on the desktop. Why would I want that? We already have Windows. I like the Linux community as it is, thanks.
Also, complaining that you can't make your app autostart on my computer... really? Fuck that.
If you don't care, then keep quiet.
I don't even like Linux for end users and even I know this is a bad idea. It's anathema to what Linux is.
Wut?