
This article was co-written by Tomas Della Vedova, who is a software enginner based in Italy and lead enginneer at LetzDoIt, & Matteo Collina, who is a Node.js TSC member and principal architect at nearForm.
After a year and a half of very active development with 1562 commits by 67 individuals through 75 releases, Fastify is graduating to 1.0.0! This marks a very important moment for any project that follows semver as we are finalizing our public API (no more breaking changes for a while) and enter a Long Term Support cycle. We are committed to keeping 1.0.0 stable and safe for at least a year (6 months of active support + 6 months of security fixes).
Fastify is very simple to use and install, simply type`npm i fastify` and then:
https://medium.com/media/89f0e9865b391c9c3510221ffbf5cfa3/href<h3>Our story</h3><p>It has been a long journey beginning in the summer of 2016, when we started developing fast-json-stringify, a little library that doubled the throughput of JSON.stringify. In September 2016, Fastify was born. We initially focused only on performance, but after the first iterations, we realized that performance is not the only important aspect that a framework should offer. So, we started thinking about a way to empower developer productivity and extend the framework itself. By offering the possibility to add plugins and interact with the framework API and lifecycle directly, we enhanced the developer experience.</p><p>While we were continuously improving and optimizing, the stability and resiliency of the API was our main focus. This iterative process finally came to fruition when we perfected the performance and the overall usability of the framework. Fastify 1.0.0 was finally ready to be launched.</p><h3>Features</h3><p>Fastify offers:</p><ul><li>the familiar “callback style” API for die-hard Node.js developers;</li><li>async/await, because we like ES6 too;</li><li>HTTP2 support;</li><li>a powerful hook system that allows the developer to interact with the lifecycle of the application with a minimum overhead;</li><li>support of Express-style middlewares;</li><li>validation of incoming data with JSON-schema;</li><li>zero-cost decorators to enhance the base API;</li><li>a router based on a radix prefix tree, built with performance in mind;</li><li>a built-in logger, because full auditability is a critical feature in enterprise applications (and it’s very easy to underestimate the cost of logging);</li><li>a flexible plugin system based on a direct acyclic graph, based on Avvio, which enables our awesome ecosystem;</li></ul><p>There are more than 50 plugins that have been developed, including those for template rendering, React integration, GraphQL support, serving static files, and database drivers.</p>
<figcaption>Courtesy of Roberta Doyle https://unsplash.com/photos/dqmmx51pVf8</figcaption><hr /><p>Fastify goes LTS with 1.0.0! was originally published in Node.js Collection on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>