This guide is meant for full-stack developers or developers that would like to build full stack serverless applications. By providing a step-by-step guide for both the frontend and the backend we hope that it addresses all the different aspects of building serverless applications. There are quite a few other tutorials on the web but we think it would be useful to have a single point of reference for the entire process. This guide is meant to serve as a resource for learning about how to build and deploy serverless applications, as opposed to laying out the best possible way of doing so.
So you might be a backend developer who would like to learn more about the frontend portion of building serverless apps or a frontend developer that would like to learn more about the backend; this guide should have you covered.
On a personal note, the serverless approach has been a giant revelation for us and we wanted to create a resource where we could share what we’ve learned. You can read more about us here. And check out a sample of what folks have built with SST.
We use TypeScript across the board for this guide from the frontend, to the backend, all the way to creating our infrastructure. If you are not familiar with TypeScript you might be wondering why does typesafety matter.
One big advantage is that of using a fully typesafe setup is that your code editor can autocomplete and point out any invalid options in your code. This is really useful when you are first starting out. But it’s also useful when you are working with configuring infrastructure through code.
Aside from all the autocomplete goodness, typesafety ends up being critical for the maintainability of codebases. This matters if you are planning to work with the same codebase for years to come.
It should be easy for your team to come in and make changes to parts of your codebase that have not been worked on for a long time. TypeScript allows you to do this! Your codebase no longer feels brittle and you are not afraid to make changes.
TypeScript made easy
If you are not used to TypeScript, you might be wondering, “Don’t I have to write all these extra types for things?” or “Doesn’t TypeScript make my code really verbose and scary?”.
Let’s start by looking at what we’ll be covering.