Avoid mistakes in API design, implementation and evolution with Smithy
Most back-end projects eventually reach a point when they have to define an API. We implement their routes, document them, sometimes we write a client. We do essentially the same work multiple times - each view of an endpoint contains the same path, and yet we don't have a "single source of truth".
In this talk, I'll show how Smithy (https://smithy.io) and smithy4s enable defining an API in a single place, and how they make it easy to build its server, client, and even a CLI - in a Scala-friendly, tooling-compatible way.
How to leverage Scala with scala.js to write frontend as functional programmers would do.
How to make Scala more approachable and productive?
How Scala 3 addresses concerns around implicits and how implicits work in Scala 3.
I'll share a handful of techniques that can help you avoid runtime errors and shift them to the realm of compile time