So, please, help me welcome Felix.
Perfect.
Okay.
So, well, as you can see...
Louder?
No, bigger.
Oh, bigger.
So, this is a common React project.
Not React, but Express project.
It has gotten wide global.
So, and I, at this point, don't even want to touch Express anymore.
Sure, there are better solutions.
For example, Happy, which has some of the common stuff already built in.
But something that really reduces the boilerplate, as well, has already spoiled.
It's about PRPC.
Basically, what PRPC is about is layers, so to say, that connects the frontend and the backend
by allowing you to find some remote procedure calls.
First of all, what are remote procedure calls, or in short, PRPC?
Basically, functions that you can call from somewhere else other than your backend.
A famous other example is, for example, Google's gRPC.
So, okay.
PRPC got its name from TypeScript, because its strong point is that everything is strongly typed.
So, I guess we can see that quite well here.
On the left, this is the server definition where we use X.
I'm sure you all know and love X.
To generate strong typings for the input, so there's no more fussing around with some input validation logic,
handling some batch input, HTC stuff.
But rather, it's all strongly typed.
And the really important part is, you instantly, without any code generation,
there's a huge benefit over something like GraphQL, where you need some kind of setup.
You instantly get strong typings in your frontend.
So, you can call your functions as if they were part of your frontend code.
So, this is then used in a classic HTTP website setup.
But, where it really shines, in my opinion, is its ability to use custom adapters.
Not only transmitting data from a website to some HTTP server,
but this right here is how you usually do communication in a Chrome extension.
So, you have this really awful outdated API with callbacks, no typings at all.
But, if you were to then, for example, this amazing adapter, PRPC Chrome,
it allows you to take all the benefits from PRPC, as we've talked about,
and then apply it to this otherwise very outdated format,
and get all the benefits from communicating with strong typings,
having built-in input handling and error handling,
and, in the end, reducing your boilerplate to a minimum.
Then, of course, I talked about adapters.
This doesn't only apply to Chrome extensions,
but also, for example, we talked about Next.js.
We talked about Elongus Lambda.
So, your PRPC API is really sort of platform agnostic,
and you can move it wherever you want,
even to the edge with, like, top-level workers or edge functions.
But, what the key insight for me was, at first,
before knowing about this adapter concept,
I really wasn't too convinced by PRPC.
But the thing is, it can just be another tool in your toolkit.
It's not like a GraphQL killer or a REST API killer.
Every tool has its uses, and PRPC can be one of them.
Just like GraphQL can be a great tool if you know what you're looking for.
Thank you.