Scala libraries

Compatible Scala libraries

Many Scala libraries have been updated to be compatible with Scala.js. To quickly start using one of these libraries, just click on the dependency clipboard button to get the relevant SBT dependency definition.

Common Scala libraries

Name Description Dependency
Scalaz Library for functional programming.
Shapeless Generic programming for Scala.
Cats Lightweight, modular, and extensible library for functional programming.
NICTA/rng Pure-functional random value generation.
Monocle Optics library strongly inspired by Haskell Lens.
Akka (Scala.js port) Toolkit and runtime for building concurrent, distributed applications

Web libraries/frameworks

Scalatags HTML templating library/DSL that works on both Scala/JVM and Scala.js
Widok Reactive web framework for the JVM and Scala.js
ScalaJS Binding Scala.js HTML binding library

Serialization/pickling libraries

uPickle Statically-typed pickling (via typeclasses/macros) for both Scala and Scala.js
BooPickle Highly efficient binary serialization for both Scala and Scala.js
Prickle Statically-typed pickling library with support for pickling object graphs containing shared objects and cycles
Pushka Pure Scala pickler with annotations
Circe Yet another JSON library for Scala (built with Cats and Shapeless)
Scala.js Pickling Pickling library based on explicit registration of picklers

Client-server communication

autowire Cross-compiling statically-typed Ajax calls and RPCs

FRP/reactive extensions

Scala.Rx Change-propagation/FRP library
Monifu Reactive extensions (Rx) with back-pressure, atomic references and other multi-threading primitives

Miscellaneous

Scala-Async (works out-of-box with Scala.js)
Scalaxy Streams Make your Scala collections faster!
jsext Utilities for developing facades and working with Futures
slogging A simple logging library with an API compatible to scala-logging (and slf4j)
FastParse Fast to write, fast-running parser-combinators in Scala/Scala.js

Additions and corrections to this section may be reported through GitHub issues. Please include Name, Url, Description and Dependency