Hacker News new | ask | show | jobs
by hadtodoit 2221 days ago
Please, no. Your application belongs on the web. I can already tell when applications are written with middleware, cross-platform tools, electron, etc. because they always run like trash. They offer no benefit over a website and only open up your machine to new attack vectors. I know I'll catch flack for this, but we shouldn't lower the bar to entry here. Native app development is not significantly more difficult than web and it's drastically better for the end user.
5 comments

You’re welcome to not use it.

I don’t mean to sound overly negative but for small shops or individual developers there is simply no way for them to create a web, Mac and Windows version of their app at the same time. Personally, I’m glad that the likes of Electron give them the option. I’d much prefer a fully native version but I’d take Electron over nothing. You’re free to disagree of course, but no one is forcing you to install these things on your computer.

What if it's a massive developer and everyone in your workplace uses it?
It sounds like you didn't read the blog post: https://kofi.sexy/blog/multi

The problem this solves is that web apps don't have (1) cmd-tab icons or (2) decent notifications. And it does that without using "cross-platform tools" or "electron". That's why it's cool.

The web is a cross-platform tool. It's fine for what it is, but it can't provide an experience that feels native, or runs nearly as fast as native.
PWA is coming.
It sounds like you didn't read my post. My complaint was that its lazy developing to just take your web app and put it on the desktop. I was not commenting on the merits of this tool.
I would suggest tempering your comments with the merits of this tool rather than immediately jumping to calling them lazy.
While I don't entirely disagree with your sentiment, this is pretty distinctly not middleware/crossplatform/electron.

The closer analogy here is the iOS ecosystem, where folks ship apps that are really just Safari WebViews inside an app icon, and who would probably be perfectly happy to ship a PWA if users weren't thoroughly trained to use the AppStore.

There are a handful of electron apps I've run into that I didn't realize were electron. For example, GD Launcher. It's not always so bad.
Another example is VS Code, when I found out I was very surprised.
so writing it twice on Swift and Java is better than once on something like Dart/Flutter?

what’s the best cross-platform strategy?

Historically, developing an app with tools that are native to the platform provided asymptotically better user experience. So, if your goal is to perfect the UX, native is your choice.

In reality, rarely do you need to work on the UX first. It is usually more wise to sketch the idea using cross platform tools, validate the idea, then rewrite parts of it / develop new features with native technologies.

my concern with not releasing it correctly the first time is that someone else picks up the idea and does it better before you can.
This goes back to the argument of first to market or best. I have yet to see a definitive answer.
If all you're doing is creating an MVP do whatever is easiest. But yes ideally you would have two separate codebases and obviously it's dependent on your project how much tools can be shared between the projects.