W życiu większości backendowych projektów przychodzi moment, gdy trzeba zdefiniować jakieś API. Implementujemy dla nich route'y, dokumentujemy je, czasem piszemy klienta. Wykonujemy praktycznie tę samą pracę kilka razy - w naszych endpointach są wciąż te same ścieżki, a jednak nie mamy "jednego źródła prawdy". I wtedy wchodzi Smithy, cały na biało!
W prezentacji pokażę, jak Smithy (i smithy4s) umożliwia definiowanie API w jednym miejscu i budowanie dla niego serwera, klienta, a także CLI - w przyjazny dla Scali i jej toolingu sposób. Porównam też wady i zalety rozwiązania, jakie oferuje Smithy, z alternatywami (OpenAPI, tapir, http4s-rho etc.).
Linki ze slajdu z linkami:
- https://linktr.ee/kubukoz
- https://smithy.io
- https://disneystreaming.github.io/smithy4s
- https://youtu.be/3GpZzu4guTE
- https://youtu.be/kvBX9u6uRaE
- https://blog.indoorvivants.com/2022-06-10-smithy4s-fullstack-part-1