Node.js
As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications. Upon each connection, the callback is fired, but if there is no work to be done, Node.js will sleep. This is in contrast to today's more common concurrency model, in which OS threads are employed. Thread-based networking is relatively inefficient and very difficult to use. Furthermore, users of Node.js are free from worries of dead-locking the process, since there are no locks. Almost no function in Node.js directly performs I/O, so the process never blocks except when the I/O is performed using synchronous methods of Node.js standard library. Because nothing blocks, scalable systems are very reasonable to develop in Node.js. Node.js is similar in design to, and influenced by, systems like Ruby's Event Machine and Python's Twisted. Node.js takes the event model a bit further. It presents an event loop as a runtime construct instead of as a library.
Learn more
Sails
Build practical, production-ready Node.js apps in a matter of weeks, not months. Sails is the most popular MVC framework for Node.js, designed to emulate the familiar MVC pattern of frameworks like Ruby on Rails, but with support for the requirements of modern apps, data-driven APIs with scalable, service-oriented architecture. Sails makes it easy to build custom, enterprise-grade Node.js apps. Building on top of Sails means your app is written entirely in JavaScript, the language you and your team are already using in the browser. Sails bundles a powerful ORM, Waterline, which provides a simple data access layer that just works, no matter what database you're using. Sails comes with blueprints that help jumpstart your app's backend without writing any code. Since Sails translates incoming socket messages for you, they're automatically compatible with every route in your Sails app. Sails offers commercial support to accelerate development and ensure best practices in your code.
Learn more
Claudia
Claudia makes it easy to deploy Node.js projects to AWS Lambda and API Gateway. It automates all the error-prone deployment and configuration tasks and sets everything up the way JavaScript developers expect out of the box. This means that you can get started with Lambda microservices easily, and focus on solving important business problems instead of dealing with AWS deployment workflows. AWS Lambda and API Gateway are incredibly flexible, but they can be tedious to set up, especially for simple scenarios. Running Node.js functions requires you to iron out quite a few quirks, that aren't exactly well documented. Claudia automates all those steps for you. Deploy and update using a single command. Just use standard NPM packages, no need to learn Swagger. Skip all the boilerplate and just focus on your work. Manage multiple versions easily. Get started in minutes, with a very low learning curve.
Learn more
QUnit
The powerful, easy-to-use JavaScript testing framework. Easy, zero-configuration setup for any Node.js project and minimal configuration for browser-based projects. Tests can be run anywhere; Node, your browser, even inside a web worker. Test your code where it runs. Flexible APIs for custom assertions, runners, and reporters mean you can extend QUnit to fit your needs. Getting started with QUnit for Node.js projects is quick and easy. First, install the QUnit package using npm. You can now run the test suite through the QUnit CLI. It is recommended that you run the QUnit command via an npm script, which will find the QUnit command automatically from your local dependencies. Check out the API documentation to learn more about the QUnit APIs for organizing tests and making assertions.QUnit follows the Node.js Long-term Support (LTS) schedule and provides support for current, active LTS, and maintenance LTS releases.
Learn more