Scale your code with Scala.js
![Scale your code with Scala.js](/2016/images/all/oreilly_hud65600b59d1e38fc68bc705db1cca132_23814_900x500_fit_q75_box.jpg)
Web apps are complex and comprised of many technologies. It can be difficult to simultaneously scale large server and client codebases. Scala is an expressive, performant language that can now run in your browser as well as on the JVM. Paul Draper explains how Scala's presence on the two most ubiquitous runtimes greatly assists web developers.
Talk Title | Scale your code with Scala.js |
Speakers | Paul Draper (Lucid Software) |
Conference | Fluent |
Conf Tag | The Web Platform in Practice |
Location | San Francisco, California |
Date | March 8-10, 2016 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
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.