Building a More Flexible Node.JS
Node.JS gives you an easy to use scripting language with the power of non-blocking I/O and systems level APIs. But it's core is very prescriptive about using callbacks, streams, and event emitters.
Have you ever wished you could use the core power of node without buying into the conventions?
This talk will explain what we've learned over the past from the node.js and luvit.io projects and how these lessons can be applied to build a better platform using a simple recipe:
- C layer with zip asset bundling, openssl, vm, and libuv bindings.
- Set of individual pure script libraries to implement core APIs.
- Package Manager to make working with many packages a breeze. (could be git submodule based)
The luvit project (node in lua) recently was rewritten with this new structure. This talk will show how this new way of splitting the project into layers makes it easier to work with and encourages more core contributions as well as customized forks.