Fascia: Improving on Express by Brian Schiller
RSVP ON MEETUP
Details
Talk:
Fascia: Improving on Express
Express has served the Node.js community pretty well, but it's starting to show its age. Frameworks from other languages have explored new ground, and we can learn from their work. We can leverage TypeScript to improve our ability to reason about code, and catch errors early. In this talk, I will propose a new framework that improves upon express, specifically in these ways:
1. Built on express' foundation. No reason to throw away the many existing libraries and codebases already using express.
2. "Type-aware middleware". If middleware adds a req.user or req.token property, we should have type-level confirmation. If the middleware isn't included, we should get a compile-time error in trying to use it.
3. Consistent returns. Express controllers and middleware have five different ways to terminate. Let's reduce that to 2: success and error.
4. Promises instead of callbacks. Return values instead of mutations. In addition to the usual benefits, this change makes controllers and middleware easier to test and more composable. We'll see that promises are the key to our accomplishing our other improvements
These ideas, first presented at DVLP DNVR 2019, are now packaged as the fascia library on npm (still in beta).
---
Speaker:
Brian Schiller
Brian is a Senior Software Engineer at Devetry. He likes SQL, TypeScript, Python, and teaching and learning from others.
---
Schedule:
6:30pm: networking
7:00pm: Talk
7:45pm: Questions
Hope you all can make it out to this great talk. If you have any questions, don't hesitate to reach out.
The event will be streamed live at https://www.twitch.tv/brookzerker and archived to YouTube after. View the playlist at https://www.youtube.com/playlist?list=PLrmY5pVcnuE9XsFJVLTbv_08V58xNk7zd
If you would like to speak at the meetup, please fill out this form.
Information about Node.js
This is a group for anyone who is currently using or interested in knowing more about Node.js and JavaScript. A great place to meet, interact, and learn with other developers, designers, managers, and like-minded individuals. Come and share your knowledge, applications, roadbloacks, and get feedback from others. We'll organize regularly scheduled meetings that will focus on Node.js and many of the associated technologies.
About Node.js: Node.js is a platform built on Chrome's JavaScript V8 run time for easily building fast, scalable network applications. Node.js uses and event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.