Normal web site
On the internet
Covered elsewhere. It’s called the web. Except there is a wrinkle of
interest to some of us -offline mode
ServiceWorker tech allows you to
serve a web app even without connectivity. I don’t care enough about
this to really understand the API; I just cargo culted enough bits to
make it go. Seems to work.
Local dev website
You can do a lot by just hosting a webpage somewhere, and even some things with an HTML files on your hard disk, although these are locked down for security reasons.
So you run a local server.
npm builtin servers
For npm browser apps, beefy and run-browser and their ilk work.
Oh wait but I need SSL
Crap. I understand, but this is tricky in general. Perhaps you don’t need SSL stuff? most SSL-secured things are also available without SSL on localhost. See secure servers.
Desktop embedded browser
The approach popularised by the abominable Adobe AIR is now much better.
Yep, you can run this on the desktop with a GUI and everything.
Now, choose your weapon (Not Adobe AIR).
Newsflash! node-webkit is now called NW.js!
Newsflash newsflash! NW.js is too much 5-minutes-ago! Quickly, switch everything to electron!
- electron boilerplate makes it particularly easy to build a real app.
Compare these two options.
Smartphone framework apps
react-native is facebook’s attempt to generalise to native apps. I don’t understant its precise relationship.
ionic builds on cordova with native look-and-feel.
Run it straight in your Chrome browser.
- Weird script inclusion style that is not quite the native web
- doesn’t generalise to other browsers
- more powerful than usual web-pages (UDP!)
- instant web store
- Can include compiled C++ code vial PNaCl
- chrome apps extension (essential)
- chrome apps documentation (explanatory)
- chrome dev editor is useful for building apps, but it has been abandoned for unspecified reasons
- Frameworks need to support Content Security policy, whatever that is. At least two frameworks can handle this.