The Web Platform
March 7–8, 2016: Training
March 8–10, 2016: Conference
San Francisco, CA

Scale your code with Scala.js

Paul Draper (Lucid Software)
3:00pm–3:30pm Wednesday, 03/09/2016
Cross-platforming Club Room
Average rating: ****.
(4.00, 2 ratings)

Prerequisite knowledge

No experience is necessary, though participants will benefit greatly from a healthy appreciation for the challenges of scaling web codebases.


Scala was named after its purpose: to be a scalable language. Although scalable can refer to many things, including servers, users, and data, Scala’s real mission is to scale with the needs of the developer. Whether writing a script, a mobile application, or a distributed system, Scala is meant to flexibly support these needs with a familiar syntax and feature set. Scala provides a rich and safe, yet nonintrusive, type system, compile-time macros, a huge number of open source libraries, a flexible mix of functional and object-oriented paradigms, and a rapidly growing community.

After starting on the JVM, Scala is growing in a new area: frontend web development. Scala.js is a production-ready Scala-to-JS compiler and ecosystem. It allows developers to run Scala in the most ubiquitous runtime ever: JavaScript engines.

Modern web development is very difficult. Developers must choose to either duplicate similar logic or try to find a language flexible enough to be both a good frontend and backend choice. Scala.js fits the bill perfectly. Server code can run multithreaded, client code can have strong type guarantees, and most importantly it can be the same code.

Paul Draper introduces attendees to Scala and explores how Scala.js works, covering its advantages, library management, and JS interop before looking to the future of Scala.js.

Photo of Paul Draper

Paul Draper

Lucid Software

Paul Draper is a senior software developer and team lead at Lucid Software, where he works on visual, interactive, and high-performance office applications on the Web. Paul believes that every traditional desktop computing task will one day be done better on the Web due to its cross-platform, ubiquitous, and collaborative nature. A self-described “language nut,” he has a strong interest in languages, frameworks, and toolchains that get out of the way of creating awesome experiences.