Unshaped Protos: Beyond Code Generation for Protocol Buffers

May 17, 2018

Speakers

About

Protocol Buffers is a data serialization format and a message definition language. Traditionally, Protocol Buffers libraries take message definitions and generate source code for encoders and decoders for these messages. In this talk, we will explore a different approach that is coming to ScalaPB that not only avoids code generation but also does not require the user to provide message definitions. Instead, the schema is automatically inferred from the user's domain model using shapeless and type-classes for encoders and decoders are derived by the compiler. Required knowledge Attendees should have intermediate-level knowledge of Scala. Specifically, familiarity with generic classes and implicit parameters. I am planning to give a gentle introduction to the more advanced concepts such as Shapeless's HList and type-class derivation. No knowledge of protocol buffers is necessary. Learning objectives In this talk I will demonstrate a specific application of an advanced technique: automatically deriving encoders and decoders from case classes. This technique is pretty general, and the objective is that attendees will learn how to use this general technique in other contexts. Nadav Samet is an ex-Googler and currently an Engineering Manager at Tubular Labs. He is the author of ScalaPB, a Protocol Buffers library for Scala, Scala.js and Scala Native. Scala has been his favorite programming language since 2011.

Organizer

Categories

About Scala Days

Scala Days brings together developers from all corners of the world to share their experiences and new ideas around creating applications with Scala and related technologies, like Spark, Kafka, and Akka. Scala Days provides a unique opportunity for Scala users to interact with the contributors to the language and related technologies and connect with fellow developers.

Store presentation

Should this presentation be stored for 1000 years?

How do we store presentations

Total of 0 viewers voted for saving the presentation to eternal vault which is 0.0%

Sharing

Recommended Videos

Presentations on similar topic, category or speaker

Interested in talks like this? Follow Scala Days