V8:
- C++ library used by Node to provide its javascript implementation
- It provides ways of creating objects and calling methods Libuv:
- C library that implements Event loops, worker threads and its async behaviour
- Brings in Cross platform capabilities for many common tasks
- Interacting with Filesystem, Sockets, Timers, System Events
- pthreads (POSIX thread, an execution model exists independently from a language) like implementation to handle tasks for addons that need to move beyond event loop to handle parallelisation
- Addon authors are encouraged to avoid blocking IO operations or time intensive tasks (offloading to libuv async system operations, worker threads, or custom use of libuv threads) Internal Node.js libraries:
- Node exports many C++ APIs which Addons can use (eg. node::ObjectWrap) Statically Linked Libraries:
- Has many statically linked libraries like OpenSSL
- OpenSSL, V8, libuv, zlib can be used by addons