Hacker News new | ask | show | jobs
by StuckDuck 1353 days ago
> Have you considered that your computer is the problem?

I wouldn't say so, Elementary OS's built in code editor takes a few seconds at most to open a file

Then again, Electron is really slow (among other things), but anyways, regardless of the toolkit you're using, your app is still an overly complex .html page, doing things the DOM was never meant to do or programmed for, e.g. DOM traversal becomes slow. (Unless you use something like React Native, which is 'truly native', but mobile only)

Honestly the idea of web apps sounds a whole lot like trying to make a video editor app in MS Word

3 comments

> your app is still an overly complex .html page, doing things the DOM was never meant to do or programmed for

I mean, maybe it was true when browsers were hypertext-only applications, but now they are performant app-delivery toolkits.

Native might get higher performance, but at a fairly steep cost of coupling and distribution difficulty. I can deliver insanely powerful apps to many OSs and form factors on a 512kB bundle, meanwhile native mobile apps come in at 60-500MB for 1 platform. It's also not really that hard to have smooth 60fps display on big datasets & visualizations, which means I contest what "slow" really means for DOM traversal.

Seems to me like you're hell bent on discounting this one platform instead of arguing the tradeoffs are not worth it, which is a shallow take from my view.

Arguing that web technologies weren’t originally intended to be used to develop apps is completely orthogonal to the discussion. The fact of the matter is that web technologies are the best tool for the job. They’re one of the only tools that allow you to build an identical cross-platform application; not to mention the host of other advantages, like code-sharing with a website, an extensive JS ecosystem, (in the case of a PWA) fully sandboxed, etc.

And, I agree with you that today Electron apps are a worse user-experience a lot of the times. But just brushing off anything made with web technologies because “it wasn’t designed for this” feels very shortsighted in my opinion.

> just brushing off anything made with web technologies because “it wasn’t designed for this” feels very shortsighted in my opinion

That's more of an ideological reason for me. But even setting that aside, you can't ignore the practical downsides I listed

> The fact of the matter is that web technologies are the best tool for the job

As a former app developer, I can assure you that creating truly native apps with the OS's toolkit has been way easier than any web application framework I have ever used, ever.

For example, here are some side projects I built for Windows:

- a web browser, but kind of forgot about it - a web page editor with live HTML preview, finished but never really released it

On the other hand, it took me hours to get started making a simple react project (setting up the project, styling it, making the basic navigation components), and never finished it.

Sure, my experience is no empirical evidence of anything. But it seems to be a common misconception that building with web technologies is easier than native toolkits.

I understand that the main problem is having to write everything from scratch for every platform, assuming you're not targeting a specific one (then you should definitely go native).

But trust me, outside the Windows world the app dev's life is a lot easier (see GTK, Qt, etc. that work on any OS as long as the DE implements it)

For more complex projects porting is often an option, and for those cases I still think cross platform TKs are much better than web apps. And you usually don't need a web version if the software works natively everywhere possible.

I would note that VSCode is instantaneous on my M1 Pro..but yeah.