Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I love the idea of applications which exist in one file which you can run anywhere. I've been working towards this with my serverless platform; you can build complex data-driven apps with just one .html file and mostly declarative HTML markup (thanks to web-components which are loaded from a remote server). With modern browser features, you don't need a bundling system. Once you do away with it; a whole universe is opened up.

The ability to load .html files over the file:// protocol is a powerful, often neglected feature. In practice, it means you can double-click an HTML file and it runs an app in your browser instantly.



Sadly a lot of browser features are inaccessible from non-https contexts.


Don't most (all?) browsers consider file:// and localhost to be secure for the sake of enabling those features?

https://developer.mozilla.org/en-US/docs/Web/Security/Defens...


Unfortunately, no. CORS will block this on Chrome and Firefox.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/COR...

The security risk : https://www.mozilla.org/en-US/security/advisories/mfsa2019-2...

You need a local webserver. Or bundle everything in one html file.


So that's why I have to keep booting a Windows 7 computer in order to use an html file I saved 10+ years ago? Some dumb shit android app.


or you could use something like caddy (https reverse-proxy, local cert), and have a dedicated ws running in the background that serves your files


> I implemented the game three times in total: once in C for the i686 Visual C platform using WinAPI, once in C for the x86_64 Linux platform using clang and X11, and once in JavaScript for the browser using HTML5 Canvas.

The OP actually wrote two native applications instead of just instantiating a browser.


How are you approaching the development of your single file html apps, is there any examples publicly available, sounds very interesting.




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

Search: