• Fastify is a Node.js web framework focused on performance and developer experience
  • The Fastify team has spent considerable time building a highly supportive and encouraging community
  • Fastify gained adoption by solving real needs of Node.js developers
  • Contributing to Fastify is strongly encouraged and several active contributors have found contributing as a great way to advance their careers
  • The key to open source success is finding balance and not trying to do everything for everyone.

Fastify is an open source, low performance overhead Node.js web framework filling a significant need in the ecosystem. Fastify emphasizes developer experience as a driving force in building a solid open source project and community. The Fastify project is part of the OpenJS Foundation.

To learn more about the recent Fastify 3 release and the Fastify project as a whole, we’ve invited Matteo Collina, Technical Director at NearForm, co-creator of Fastify and active contributor to the Node.js project, to join us.

InfoQ: Thanks for joining us Matteo. How did you first get started working on Fastify?

Collina: In 2016 I started helping companies scale their Node.js deployments and solve their performance issues and bottlenecks together with my colleague David Mark Clements (who also worked for NearForm at the time). We identified a common set of problems between all our clients:

  1. Generating a flamegraph to identify CPU bottlenecks was too hard. We needed a quicker user feedback loop to make the progress we were aiming to make, so 0x was born (part of Node Clinic now).
  2. Logging was a major bottleneck of all Node.js applications, so we wrote Pino. At the time Pino was about 10x faster for certain common cases. Thanks to improvements on the V8 side and a renewed focus on performance by other loggers, the gap shortened to a 2x factor. Pino has been a huge success and is now downloaded 2 million times per month.
  3. All major web frameworks at the time (e.g. Express, Restify, Hapi and Koa) introduced a huge overhead in Node.js, cutting the throughput to 10-25% of what Node.js could do. In order to compete with the incumbents, a new web framework would have to keep track of the development of the language, have an extensible plugin system and have close to zero overhead.

After we introduced Pino at Node.js Summit 2016 in San Francisco, I started thinking more about the third problem: writing a web framework. I decided this task was too big for just me (David had been pulled in another direction) and that I needed somebody else from another company to help.

#javascript #typescript #node.js #web frameworks #web development #development #architecture & design #article

Interview With Fastify Node.js Web Framework Co-Creator Matteo Collina
3.15 GEEK