
Lesson Description
The "Wrapping Up" Lesson is part of the full, API Design in Node.js, v5 course featured in this preview video. Here's what you'd learn in this lesson:
Scott wraps up the course by suggesting further learning with tools like GraphQL, gRPC, serverless APIs, Web Sockets, Docker, and GitHub Actions. He recommends students continue experimenting, expanding on the API, and using it as a reference.
Transcript from the "Wrapping Up" Lesson
[00:00:00]
>> Speaker 1: So we got all of that, we talked about deploying to Render We got the health checks going, all that's good Really, all that's left is my suggestions on what to learn next because congrats, you know how to make APIs and Node now, believe it or not
[00:00:00]
This is most of what makes an API I would say the other stuff beyond what I just taught you today and the things that I'm about to suggest are just organizational stuff like how you organize your routes and controllers and different optimizations and tricks around that, but at its core, it's all this
[00:00:00]
Further learning beyond REST APIs includes things like GraphQL I highly recommend checking that out soon Get a feel of what we did today and be comfortable with that, and then give GraphQL a shot
[00:00:00]
Just don't do it right now because it is a doozy I know we have some courses here because I specifically have taught some courses on GraphQL, and because the GraphQL specification is actually pretty much the same, a lot of those courses still hold up even though the SDKs that I'm using might be outdated
[00:00:00]
The concept of GraphQL holds up pretty well today, even with the courses being a few years old, but I'll get that updated if folks are interested I would say check it out eventually
[00:00:00]
I think it is a standard It's here, and a lot of people use it—it's in production We use it at Netflix It's a good technology; it just doesn't solve every problem
[00:00:00]
One of the biggest problems it solves is being able to query relational data and get back something from the server in the exact shape that you want it, and it promises to do that
[00:00:00]
It's basically like TypeScript for your API—that's the best way I can describe it It's pretty good, it's just a pain to set up I know someone talked about earlier gRPC and Protocol Buffers
[00:00:00]
You can check out gRPC, you can check out Protocol Buffers—it's just another framework made by Google This is more like enterprise, super performance stuff You probably wouldn't be doing this on a personal project unless you're doing something that really required performance at a different level
[00:00:00]
It's a little different; you have these proto files that register RPC endpoints It's very efficient, with bidirectional and streaming support, which is really good
[00:00:00]
Obviously, it's type-safe, and the big thing about it is that it's binary and doesn't send JSON, so it's faster Serverless APIs are worth checking out We built a traditional server that's always on, but with serverless APIs, you pretty much just write the handlers/controllers
[00:00:00]
There's nothing else—no ports, no servers You just write the controllers and you're done There are some constraints like you can't do database pooling because it's not long-lived, so you have to reimplemente everything from a service architecture
[00:00:00]
Edge Functions are literally serverless but on a CDN with even more constraints They actually don't run in Node; they run in something called a Web Worker, which is a subset of JavaScript that is not the same as JavaScript in a browser or Node
[00:00:00]
It's a very lightweight version, and you can't use most things you would in Node or a browser But you can do some interesting stuff with Edge Functions Real-time WebSockets enable two-way communication between server and client
[00:00:00]
Think of a chat app with typing indicators, or a dashboard updating in real time WebSockets allow a server to broadcast to connected clients It's different from HTTP polling because events are pushed rather than requested
[00:00:00]
If you're serious, look into DevOps with Docker and Kubernetes Kubernetes might be complex, but I highly recommend everyone learn Docker It's not as intimidating as it looks, and many deployment platforms can take a Dockerfile and deploy it
[00:00:00]
With AI and containerization, it's surprisingly simple GitHub Actions can help automate workflows, like running tests before deployment Those are the things I recommend continuing to learn
[00:00:00]
You might also want to implement additional features, expand the API, build a GUI or mobile app, or even create an AI agent to interact with the API Use this project as a reference
[00:00:00]
When I was learning, I looked at other people's code, adopted their approaches, and gradually developed my own opinions It's a great way to learn and get inspired
[00:00:00]
I appreciate you all for coming out and learning with me Hopefully, you feel more confident in creating APIs, not just in Node but in general Node.js is a great tool for demonstrating software engineering concepts
[00:00:00]
I hope you understand APIs better and can take these concepts into your next project or job If you get excited about something or want to ask a question, I'm always here
Learn Straight from the Experts Who Shape the Modern Web
- In-depth Courses
- Industry Leading Experts
- Learning Paths
- Live Interactive Workshops