Fastify Course
Get your ticketFastify Course
Language: English
Fastify is an HTTP framework for Node.js that has been gaining popularity in the last few years, raising to 4M downloads/month.
Fastify offers a great developer experience without compromising performance.
It’s suitable for building monoliths or microservices, and anything in between.
Teacher
Matteo Collina
Co-Founder and CTOPlatformatic.dev
Matteo is the Co-Founder and CTO of Platformatic.dev with the goal to remove all friction from backend development. He is also a prolific Open Source author in the JavaScript ecosystem and modules he maintain are downloaded more than 12 billion times a year. Previously he was Chief Software Architect at NearForm, the best professional services company in the JavaScript ecosystem. In 2014, he defended his Ph.D. thesis titled 'Application Platforms for the Internet of Things'. Matteo is a member of the Node.js Technical Steering Committee focusing on streams, diagnostics and http. He is also the author of the fast logger Pino and of the Fastify web framework. Matteo is an renowed international speaker after more than 60 conferences, including OpenJS World, Node.js Interactive, NodeConf.eu, NodeSummit, JSConf.Asia, WebRebels, and JsDay just to name a few. He is also co-author of the book 'Node.js Cookbook, Third Edition' edited by Packt. In the summer he loves sailing the Sirocco.
What we'll do
- Setup your first routes: In this section, we will cover the basics of building Fastify applications: GET and POST routes, radix-prefix trie routing, listen(), inject(), typescript support.
- Validation: Fastify ships with JSON schema validation built-in as not correctly validating inputs is the first cause of security breaches. The default validator for Fastify is Ajv. In this section, we will cover how to validate your HTTP requests with JSON schema: unwanted data in query strings, parameters or bodies are not a problem anymore. Since writing JSON Schema could be cumbersome, we will also cover 'fluent-json-schema' and 'typebox'.
- Hooks, Decorators:Fastify uses lifecycle hooks instead of middlewares. Let’s learn how to use them to customize how Fastify process our requests.
- Encapsulation and plugins: Fastify allows applications to be structured into independent plugins, which can be used to migrate between monoliths and microservices. Plugins can also be used as a simple yet effective dependency injection engine enabling code reuse at scale: as of today, there are more than 300 Open Source plugins you can use.
- File system based routing: Learn how to use @fastify/autoload to structure our routing in multiple folders.
- GraphQL: Learn how to use GraphQL with the Mercurius plugin.
- Platformatic: In this last module, we will show how Platformatic builds on top of Fastify and how to use it in your own project.
- The Fastify community: In this section, we will cover the fundamental principles of the Fastify ecosystem and how you can be a part of it.
Prerequisite
Participants must have past experience with Node.js and intermediate knowledge of JavaScript. The latest Node.js v18.x installed.
Useful information
The workshop is happening in Verona, in the same venue as the conference. Coffee breaks and lunch are included. Please note that tickets for the workshop are sold separately from the conference.
Hurry up. There are only a few available places!
Get your ticketWednesday 12th April 2023, 9:30-17:30
Matteo Collina
Co-Founder and CTOPlatformatic.dev