Hacker News new | past | comments | ask | show | jobs | submit login

Some of us are. I make https://beekeeperstudio.io.

I think there's a huge market need for good desktop apps, many folks prefer them to online tools. Bonus: It's never been easier to build a cross-platform desktop app.

I know there's a lot of hate in here for Electron, but it truly makes cross-platform desktop app development achievable for small companies and indies.




Is an electron app really a desktop app? I suppose from the users point of view it could be, but I read the OPs post as asking about native desktop apps, ie. providing a better experience than a webapp.

To answer (my interpretation of) the question, there are still plenty of good native desktop apps for MacOS. I don't have data to back this up but I wonder if Mac users are more willing to pay for native desktop apps than Windows or Linux, which makes it easier for indie devs to support themselves full time writing these niche apps.


I can't speak for all Electron apps, but Beekeeper Studio is a true desktop app yes.

All the assets (css, html, js) are bundled in the app, nothing loads from the web, it is truly 'local', and works 100% offline. It's possible to change styles based on what OS you're running on, and there's the full suite of native APIs you can call.

To weigh in on who pays for software -- I'll let you know once I've sold more copies of my paid version, my guess is that more MacOS using individuals pay for apps, but more businesses running Windows pay for bulk licenses.

Maybe Peldi from Balsamiq will weigh in here.


I think OP means native app. JS based Electron apps are noticeably less responsive and suck a lot more battery+RAM than native apps, easily a 10x difference.


Not only Electron apps, also any desktop program made with web technologies.

At an example, let's look at Dropbox desktop programs. In Windows is made mixing Qt, Python scripts, and native solutions (just have a look at the installation folder), resulting in both a worse performance an a use of RAM.


I'd consider Qt (including PyQt) to be a native app. Qt is not something I'd call a "web technology".


That's totally true. I forgot to write that Dropbox uses Qt WebEngine in combination with HTML + CSS + JS to achieve what could be done with just plain Qt with nothing more.


Eh, there have been quite a lot of good Electron apps lately.

Where do you draw the line exactly?

edit: spelling


Even very well written Electron apps consume a lot more battery and memory and are less responsive than very well written native apps. It's the nature of the technology.


Please, name a _single_ good Electron app besides VSCode. I'll wait.


Notion, Obsidian, and the like are getting pretty popular and are all Electron based. Postman was good after the Chrome App -> Electron port, though now they've bloated it to do more upsells.


In most cases the choice is not between an Electron app and an (imaginary) "good" app. The choice is between an Electron app and no app at all.


Sure, I understand that. But that's not what the parent was saying. The parent was saying there have been a number of good Electron apps recently. The only Electron app I ever see anyone hold up as good is VSCode, an app that makes a herculean effort to mitigate the latency and performance problems that Electron apps usually have.

If the choice is between an Electron app and no app at all? I would rather the Electron app not lie to my face that it's a real application. No one expects a website in your browser to follow system conventions perfectly or behave like any other app on your system would. That expectation instantly and reasonably changes the moment it has its own application icon and windows, and Electron apps don't give a shit. I would rather not need to have Teams and Slack both installed and chewing up my CPU and GPU at work just because they both decided they're special enough to try and claim all of my resources.


> VSCode, an app that makes a herculean effort to mitigate the latency and performance problems that Electron apps usually have.

Can you point to the parts of the program (source) that implement such optimizations? I'm curious, in particular, about how other editors solve the performance problems.


Large parts of VSCode is implemented in C++ and running webassembly to avoid the problems with electron. An electron app that doesn't have parts in webassembly can't be as good as VSCode.


Can you point to such files in the VSC repository? The `src` directory doesn't contain any.


Obsidian.md


> Where do you draw the line exactly?

UI guidelines from Apple.


That even Apple regularly does not follow. Yeah. Great example... :>


I would argue that a desktop app is an app that does not require a remote server to render the UI. Ideally it would be also useful without access to the internet. In this instance, it should be able to load up, connect to a local db instance running on my machine and allow me to get work done.

As a user the underlying technology does not matter to me. I just need to be able to get stuff done without a WiFi or wired connection.


> Is an electron app really a desktop app?

I don't have a hate on for Electron apps as such, and use quite a few, but they really are the worst of all worlds, particularly from the security point of view: you have all the ability of an Internet-connected web app to execute arbitrary code, but without any of the work that a full browser puts in to try and sandbox the ability to fuck up your machine.



Oh yeah, another fun one: the content inside the macOS native Dictionary app is HTML styled with CSS!


For a cloud related settings page. You could as well call it "connects to iCloud via RESTful api"


Is an iOS to macOS Catalyst convered app a Desktop app?

I've litterally done this I'm puzzled myself as to whether I consider it hybrid or native.


> makes cross-platform desktop app development achievable

Personal opinion - this has never been not achievable. It just requires making it a priority.

And it's not as if creating and maintaining an Electron app is somehow free. This "not free" aspect is compounded if you care about making it fit in with the rest of the desktop environment. Which, being fair, most developers (PMs, Managers, Execs) don't, even when their customers do.


You're right that it's possible, and electron development isn't free, but it's significantly easier for a team of two than it is to maintain native Windows, MacOS, and Linux.

One way I think of Electron is that it's fine if it's a primary app I'm using, but when it's a side thing that I have to leave open (Spotify, Slack), it can annoying. I agree that I'd rather native apps for better performance and resource usage, but I understand the developer's plight.


There's no developer's plight for Spotify and Slack. They both have tens of millions of clients running. They can afford to make something better and if they had any respect for their users or the planet, they would.


I think one of the biggest problems with modern app development (web and desktop) is how much developers assume that their app is your primary app (and thus can hog resources/screen space/etc). The only apps that can ever reasonably make that assumptions imo are ones with real-time interaction, e.g. games. Anything else can and will be a side app in some scenarios.


You omitted half of that quote. OP is talking about small companies and indie developers.


There was a great cross-platform environment called Visix Galaxy in the 1990's. You could compile your C++ source into native apps that ran on Windows NT as well as Solaris and HP-UX. It had a fantastic GUI builder which is similar to what is available today.


It's possibly still around: http://www.ambiencia.com/overviewgalaxytd.php . Expensive as fuck, though; if I understood the pricing page correctly, it's $1.5K for a single-developer no-support license of the cheapest version. (Dunno what the differences between versions are.)

Free Pascal / Lazarus is a FOSS cross-platform language and GUI IDE. I'd recommend trying that in stead.

Found via: https://news.ycombinator.com/item?id=19754073 -- Thanks, @DonHopkins!


>I know there's a lot of hate in here for Electron, but it truly makes cross-platform desktop app development achievable for small companies and indies.

So does Qt


As a dev with a lot of experience in JS/HTML/CSS Electron makes things super easy, especially when it can be part of the regular build pipeline.

Learning Qt means figuring out a whole new stack and build chain. Maybe the result would be better, but with only a few hours a week I didn't feel like it would have been worth the time investment.

See for example:

https://nklayman.github.io/vue-cli-plugin-electron-builder/g...


> regular

I think the reason you consider the web app publishing pipeline the “regular” pipeline is the reason we’re having this discussion =p


Qt is not nearly as easy to use as Electron, especially if you're a small company and need to hire front end devs for cheap.

Also Qt GUIs look like garbage, but it's hard to quantify why.


>Qt is not nearly as easy to use as Electron, especially if you're a small company and need to hire front end devs for cheap.

Sure it is.

>Also Qt GUIs look like garbage, but it's hard to quantify why.

No more garbage-like than you're getting with Electron and just as style-able (with arguable superior layout engines). Qt has a number of style palettes; perhaps you're used to using applications which chose to use non-native/standard palettes.


I've written apps with GTK, Qt and Electron in the past. Of the three frameworks, Qt is easily the hardest (albeit "the best" for cross-platform native development). I'm not sure what your experience is with it, but I never once felt like it was easier than writing an Electron app.


What are some examples of great-looking QT applications?


Kdenlive, Okular, KeePassXC, Dolphin.


J has an IDE written in Qt. It's nice.


Qt has provided us with a solid multi-platform solution. If you want power and control, you always have to pay in complexity and learning curve.


And wxWidgets :-)


You do have to pay for Qt if your app isn't open source.


No you don't. You can use LGPL just fine in commercial, non-open desktop apps.


Just wanted to thank you. I used Beekeeper for some time instead of PGAdmin and it was a very nice experience.


Thanks for the kind words! Lots of nice quality of life improvements for Postgres coming in the next couple of weeks :-)


Thanks for your work on beekeeper. I've been using it for about 12 months and in that time it's really improved.


Thanks so much! Lots more updates coming soon :-). Got a pretty meaty one coming in the next week or two


I've been following for a while, really love the Beekeeper Studio! But I always was interested, how do you evaluate the market and your income? Would you advice to join and develop tools for the desktop? Is it your fulltime job? Does it take a lot of time?

Thanks!


Does anyone have any thoughts about DBeaver?


It's super powerful, but with that power comes complexity. I found it too overwhelming to use when building Rails apps. I really missed SequelPro, so I built Beekeeper Studio to scratch my own itch. Others had the same itch I guess!


I use DBeaver a lot, it's a great tool, their sales approach is mind boggling however. It took me several days to buy a license.. what the hell!


I use DBeaver a lot for Postgres and Mysql. I find it to be a great tool. Not as slow as other db clients, yet is full-featured.


I prefer pgadmin, especially now that they dropped the hard dependency on chrome (that was added semi-recently for version 4)


I use it occasionally, it tends to be my app of choice when I need to modify a MySQL database directly.


Keep up the good fight! Also, have you looked at react native for Windows and Mac?


Hey! Well I use Linux full time, so supporting Linux is a non-negotiable for me. Make the future you want to live in right? :-)


What about Flutter? I heard so many complaints before I now hesitate to look at it. But maybe these were just teething problems and things are running more smoothly now?


It wasn't available when I started Beekeeper Studio, so I never tried it.

I used to hate native-apps-that-are-actually-web-apps, but I'm a full convert after using VSCode, that's what encouraged me to take the leap with BKS.

Electron is the market leader, so maybe Flutter will end up better, but at this point I'm skeptical.


Flutter is great. Web support is still not all there, but if you're looking at making apps for iOS/Android/Linux/Windows/Mac and you're not worried about it looking 100% native, it's a huge timesaver.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: