Live data from Hacker News

Why I chose Electron.js for my side business

getloaf.io

21–30 of 127 posts

Re: Why I chose Electron.js for my side business

#21
post #5

Perfectly valid decision. For my own desktop apps, I'd choose Qt, since cross platform support is top notch. With that said, I understand that nowadays, C++ developers are harder to come by, and memory corruption issues are not fun to work with.

I started working with C++ several months ago, mostly due to curiosity.

Though I haven't done anything that I would consider extremely complex, memory corruption seems easy enough to deal with by planning.

Maybe because it is so ingrained as whenever I heard discussions of C++, memory (de)allocation and memory corruption was always the first thing people talked about. Dealing with de-allocation feels like closing a curly brace, almost automatic.

Re: Why I chose Electron.js for my side business

#22
This is the entire reason Electron is so popular, and generally users love these apps and don't care about whether apps use native OS controls. This is the same approach Capacitor takes for mobile. Being able to use your existing frontend skills and access the existing web dev market is really compelling.

Re: Why I chose Electron.js for my side business

#23
We're in the same boat. One of our main driving factors is that in the issue tracker we're building [0], we use an editor (SlateJS) that has its own format for how documents are represented, and our issues are pretty rich and complex. To try and reproduce an editor that adhered to the same schema across multiple platforms is simply more work than we can take on as a small startup.

We will of course ship native iOS/Androids apps at some point and then there will come a reckoning. Some sort of a hybrid solution is an option of course (make the bulk of the app native and have a small webview for the editor).

0: https://kitemaker.co, a super fast issue tracker with deep integrations to all of your tools

Re: Why I chose Electron.js for my side business

#24
post #6

No matter how much I hate the bloat, and no matter how much I don't like JavaScript as and language due to it's behaviour around type coercion, I can't help it but to agree with everything in this article. Reusing the frontend skills I learned throughout the years to build desktop apps when needed, instead of having to learn an OS toolkit (and in the case of linux, multiple desktop environments, neve mind Wayland vs…

Werid. You hate the language and the bloat, but you still would choose Electron over something like Lazarus?

> Reusing to the frontend skills I learned throughout the years

Not weird at all.

Re: Why I chose Electron.js for my side business

#25
post #13

For me the big win is that it feels familiar to users. It's not a native app, but it looks like their native browser. Users are acutely sensitive to apps that feel right. It's something Java learned the hard way, or not at all: there's an uncanny valley if you get it wrong, and users hate that. Native apps will always be better than a web app, but a web app will be better than an app that doesn't really have a home o…

Users don't recognize Swing, but I wouldn't say it didn't succeed. There are an unbelievable number of little utilities, obscure programs, and company-internal tools written in Swing that people use every day and don't really think about. Swing didn't catch on much for big name software, but it still manages to be everywhere, and is much of the reason a lot of intermediate users reflexively install Java on new systems when they get them.

Re: Why I chose Electron.js for my side business

#26
post #11
post #9

Earlier quoted context omitted.

You should check Gnome Disks, it alrady has bencmarking builtin and is installed by default on Gnome environments.

Thanks for pointing this out to me, I did not know about it, is it new? I remember a few years ago when I would start "Disks" in Ubuntu it would open the "baobab" tool. Might be just an unfortunate naming colision...

A few years ago Ubuntu was still using Unity.

Re: Why I chose Electron.js for my side business

#27
Shameless self-promotion: I built Video Hub App using Electron and Angular. It allowed me with virtually 0 new learning build a cross-platform app in a few months.

Currently I sell about 100 copies per month (and donate $350 of it to charity).

Public: https://videohubapp.com/

GitHub: https://github.com/whyboris/Video-Hub-App

ps - and I have a free file renamer made in Electron and Angular: https://yboris.dev/renamer/

Re: Why I chose Electron.js for my side business

#28
post #6

No matter how much I hate the bloat, and no matter how much I don't like JavaScript as and language due to it's behaviour around type coercion, I can't help it but to agree with everything in this article. Reusing the frontend skills I learned throughout the years to build desktop apps when needed, instead of having to learn an OS toolkit (and in the case of linux, multiple desktop environments, neve mind Wayland vs…

Werid. You hate the language and the bloat, but you still would choose Electron over something like Lazarus?

Lazarus meaning the Delphi / Pascal IDE? I haven't touched any Pascal code since the first year of highschool over a dousen years ago :). Forgot it even existed.

Yes I hate bloat but I'm starting to hate it less and less each day due to understanding more and more the effort required to build things (in general, not just desktop apps).

I think, unless you have the resources to dedicate yourself to just one OS/toolkit, for which your app performance is an absolute must, it's better to prioritize delivery speed and adoption, using generic tools, with plenty of resources and skills that can be transfered from other areas, like web frontend is in this case. One thing is for sure, I don't have time and resources but I have a pretty fast laptop, so the choice is easy in my case.

Re: Why I chose Electron.js for my side business

#30

I understand performance concerns, but not "native" app. Most popular thing on desktop used by people are Facebook, Youtube, Instagram, Gmail and Google Calendar, Reddit, Netflix, Wikipedia. I have never seen people avoiding them, because they don't have a native interface. As long as interface is intutive, people are happy to use them.

I’m working on some Windows apps currently in the native-ish WPF and UWP frameworks. Being somewhat detail-oriented, I’ve noticed a few major areas where Electron apps tend to deviate from native:

* button/link handling: win desktop uses the pointer with hover effects; electron uses a hand cursor with hover effects

* minimize/maximize/close buttons, and title bars in general; electron apps tend to have them being bigger than native. Native tends to vary by framework, with UWP explicitly not allowing some of the desired customization.

* Electron and web apps in general tend to allow more text selection than native does, and with different patterns; there are pros and cons to this.

* Electron apps tend to handle high and mixed DPI better than the native frameworks (I can’t believe I’m typing this). UWP dialogs are super buggy on high and mixed DPI. WPF needs lots of manual configuration otherwise it will look blurry at least some of the time (the very latest changes _may_ have fixed this)

I tend to support native development in general, but in the case of win desktop, the native frameworks are so bad and inconsistent, I’d rather just follow the web patterns. E.g. I think the hand cursor on buttons and things is actually quite nice and worth emulating, same with non-shit titlebars.

Because so many daily use apps (VS Code, Teams, Slack, all of the web) are electron, electron often feels more native than native, at least on Windows.

Edit, since I was suddenly triggered: SVG support on Windows is shit. WPF can sort of do it if you convert to Path geometries, but that isn’t a perfect match or convenient in any way. UWP does that, but with the added bonus of an extremely buggy rendering engine that falls down on even the simplest icons.

Post reply on HN