Protobuf Goes Scala-First
summary
Claims a Scala-first workflow that generates protobuf from Scala types, using ZIO Blocks Schema to derive codecs and producing Protobuf files plus encoders/decoders and gRPC bindings. Implements Protist, open sourced, runs in production 5 months, handles a codebase with ~5,600 messages and 94 services, migrates two of three APIs so far, and yields about a 25% compile time reduction while keeping runtime encoding close to ScalaPB+Chimney and allocating less memory.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 1:08What is Protocol Buffers
- 3:15Protobuf in Scala codebase
- 7:37ScalaPB challenges
- 8:39Compile time and IDE issues
- 11:07Solutions and alternatives
- 13:53Protos library
- 16:21Protos codecs from Scala
- 18:06Macros for codegen
- 19:51Schema differences handling
- 21:15Schema evolution safety
- 22:42Performance comparison
- 24:51Migrating to Protos
- 26:16Should you use Protos
related talks
29mPure Scala Approach for Building Frontend and Backend Apps
27mEvolution of serialization formats and usage in Go
30mNext Generation of Scala
43mAPI first with Swagger and Scala
38mScaling Scala
35mDevelop seamless web services with Mu
23mBeyond protoc --decode: Schema Inference, Lossless Decoding, and...
37mScala with Bazel
