Scale By the Bay Scale By the Bay

Thursday, October 28, 2021

Pure-Scala Approach for Building Frontend and Backend Applications
Taro Saito
Taro Saito
Treasure Data, Principal Software Engineer

Scala is a versatile programming language that can be used for building both frontend and backend applications. To further leverage this advantage, we built Airframe RPC, a framework that uses Scala as a unified RPC interface between servers and clients. With Airframe RPC, you can build HTTP/1 (Finagle) and HTTP/2 (gRPC) services just by defining Scala traits and case classes. It simplifies web application design as you only need to care about Scala interfaces without using existing standards like REST, ProtocolBuffers, OpenAPI, etc. Scala.js support of Airframe RPC also enables building interactive Web applications that can dynamically render DOM elements while talking Scala-based RPC servers. With Airframe RPC, the value of Scala developers will be unprecedentedly higher both for frontend and backend development.