Free views, likes and subscribers at YouTube. Now!
Get Free YouTube Subscribers, Views and Likes

Introduction to Smithy Smithy4s by Olivier MELOIS

Follow
ScalaIO FR

Talk's page https://scala.io/talks/introductiont...

Description:
AWS (Amazon Web Services), one of the biggest cloud providers, provides hundreds of services, and offers SDKs in multiple languages to interact with these services. These publicfacing services are backed by tens of thousands of services internal to the AWS platform. In order to streamline the development process of such a behemoth, AWS relies on codegeneration.

Smithy is the culmination of ~14 years of iterations in the field of codegeneration. It is an elegant declarative language that enables defining data types, operations and services in a clear and concise manner. The unique aspect of Smithy is that protocol concerns (transport, serialisation) are abstracted away in an extensible annotationbased mechanism. This means that Smithy can be used to describe things like rest/json services, but an infinite amount of other things.

Smithy4s is a Scala codegenerator that feeds off Smithy files. It is unique in that it retains the protocolagnostic nature of Smithy :the codegenerator is not biased towards any protocol or serialisation mechanism. Users can generate Scala code from Smithy to get case classes and interfaces, that can be wired in runtimeinterpreters in an optin fashion, to derive http services, or CLIs, or even pureScala AWS SDKs. Developers could provide support for specific protocols as third party libraries, without ever having to touch codegeneration.

This talk will serve as an introduction to the Smithy IDL, and a demo of what is possible with Smithy4s

posted by sloinnefg