Hacker News new | ask | show | jobs
by greyskull 3984 days ago
How do you deal with getting the execution environment, and the software itself, onto the client machine? With HTML+CSS+JS, it's automatic because the assets are loaded with the website and the browser itself is the execution environment. That's the biggest draw to making "web applications", there's no difficulty in delivering and executing the software; e.g. if I want to write in Java instead, the user needs to go and download a JRE.

I would love to be able to eschew the web tech altogether, since we can all agree that HTML/CSS/JS is a terrible solution for building rich applications. But how else do I deliver my software without making users jump through download + install + update hoops?

1 comments

That's really only the situation for Windows users. Unix derivatives usually have a package management system, where you can get your package included — dependencies taken care of and all.

But yes, I agree. Many people use windows, and the download-install-update circus seems to be driving people to develop web applications.

Which means also that Unix as a whole has many dozens of package management systems... So you package your app as deb, rpm, yum, pacman, ports, brew, nix, and plain tarball and then hopefully most Unix users can get it to work. That's a maintainance nightmare in itself...
Javascript package managers like npm tend to work much more seamlessly than the old unix ones. Wouldnt mind scrapping them all for https://node-os.com/

Also, the reason package managers suck is because.. entropy. See Joe Armstrong, The Mess We're In http://www.youtube.com/watch?v=lKXe3HUG2l4

I find that the Nix package manager is much more principled, general, and promising as a model for robust and easy package managing. And with NixOS, it's a huge step towards a declarative and reversible way of managing a whole computer system.