When comparing Javascript / GitHub Electron vs Lobster, the Slant community recommends Lobster for most people. In the question“What are the best languages to write a desktop Linux application in?” Lobster is ranked 11th while Javascript / GitHub Electron is ranked 17th. The most important reason people chose Lobster is:
Unlike Rust doesn't make the programmer jump through hoops, mainly automatic. Does an analysis similar to the Rust borrow checker to infer lifetimes, but makes life easier on the programmer.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Works on Linux, Windows, Mac
Being powered by Javascript, apps build with Electron can be packed to run on all 3 platforms.
Pro Wide spread support
Javascript is a very easy language to learn, and is handy for all manner of other things. There's a good chance you already know it, or that you will need to know it in the future.
Pro WebApps without additional work
If you don't require native features and could write a web app (i.e. a website with dynamic elements), then you could just extend it and turn it into a native app. This means that people just need to type your URL to use you app and may get more by downloading and installing it.
Pro Compile time reference counting
Unlike Rust doesn't make the programmer jump through hoops, mainly automatic. Does an analysis similar to the Rust borrow checker to infer lifetimes, but makes life easier on the programmer.
Pro Python-esque syntax
There's an audience who loves that.
Pro WebAssembly backend
More options for users.
Pro Inline structs
Structs are allocated in their parent, and come at zero overhead.
Pro Automatic memory management
Better than Rust. No sadism.
Pro Type inference algorithm
Just works. Goes further than most languages in terms of allowing code without types.
Cons
Con Low performance
Electron applications use significantly more CPU, RAM, and disk space than applications written in almost any other framework. This results in poor battery life as well as an unpleasant user experience.
Con Backwards incompatibility between versions
Electron is growing and constantly changing, but there is no care whatsoever whether the changes in a new version will break your application or not. Even if you write and maintain one app, changes to how Electron handles JS files and functions will make maintenance of a single app your full time job. Even the development process, programming mindset and tooling changes between versions, so there is no guarantee that your app will even have a proper architecture a year from when you've built it.
Con Small community
Lead doesn't appear to be so ambitious or has a vision to push making more popular.
Con Compile time reference counting not 100%
Around 5% of time, need to escape to runtime reference counting. Working to get the percentage as low as possible.
Con Lobster not yet totally written in Lobster
Core written in C++. Plans to change that, but has been a long time.
Con Python-like syntax, but different use case and domain
Not Python compatible and often significantly different in purpose and use cases.