Hacker Newsnew | past | comments | ask | show | jobs | submit | kasperisager's commentslogin

Bare supports both QuickJS (https://github.com/holepunchto/libqjs) and JerryScript (https://github.com/holepunchto/libjerry), yes, allowing it to run on much more constrained devices than what Node.js is capable of. I'm running it on my MediaTek-based LTE router, for example, using JerryScript.


Bare runs on iOS, yes. The tricky part with iOS in particular is loading of native addons. Bare solves this through https://github.com/holepunchto/bare-link which is capable of generating XCFrameworks on-demand that can then be linked with and signed as part of the application bundle.


The point of Bare isn't to do what Node.js already does. If that had been the case we'd just have continued using Node.js. The point of Bare is that on its own it can't really do anything. To do actually useful stuff, you have to resort to userland modules and those can evolve independently of Bare itself. Contrast that with the Node.js standard library which is tied to a particular version of Node.js and brings with it tons of legacy that's still there for the sake of backwards compatibility. Bare has none of that, not just because it's newer but because it ships with nothing but a handful of solid fundamentals that we don't expect will evolve much, if at all.


As someone who isn't well versed in this Node ecosystem, why is omitting a standard library a separate project? It sounds like something you'd do as a Node feature, or variant of Node, or some command line switch or env var or whatever else is needed to avoid whatever it is you are trying to avoid.


There's no way to not bring along the entire Node.js standard library when you're using Node.js. It also doesn't provide a way to fully abstract over the underlying JavaScript engine, which Bare needs to be able to support swapping out the underlying JavaScript engine without any code changes. See https://news.ycombinator.com/item?id=43559532 for more on that.


This is the thing I'm working on, happy to answer questions! It's always an honor getting roasted on Hacker News.


npm allows for simple distribution of the prebuilt binaries, but is by no means a requirement and neither is Node.js. It's just a convenient way to ship things; npm is an excellent package manager!


Bare supports both iOS and Android, yes. Bare Kit provides some convenient abstractions for integrating Bare with native application frameworks like Swift UI and the Android service architecture, but plain Bare runs just fine on iOS and Android out of the box. There's even prebuilt binaries for both platforms.


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

Search: