See also the "Tutorials, Videos & Blog Posts" section below.
Videos & Conference Talks
Community & Support
Discord for support, advice, feature requests, showing off your Laminar projects, posting Laminar jobs, etc.
- Note: Until late 2022, our chat was in Gitter. Please post new questions to Discord.
Github discussions for how-tos, whys, and any questions or discussions that other people would benefit from easily finding online.
Github issues for bugs and buglike issues.
Please consider sponsoring Laminar on Github to make my OSS work more sustainable and increase the pace of Laminar development.
Scribble.ninja to try things on the fly.
Html to Scala Converter can convert HTML strings to Laminar code.
Open Source Laminar Apps
TodoMVC – Standard todo app demonstrating basic state management etc.
Wind Gradient – Simple full stack weather app.
Hippo – web-based heap dump viewer.
Starter Kits & More Examples
keynmol/http4s-laminar-stack – Laminar setup with http4s, sttp, docker, and other niceties
sherpal/full-scala-scala-heroku – Laminar setup with Play & Heroku
keynmol/laminar-static-gh-pages – Template for publishing a static site with Laminar
vic/laminar_cycle/examples – Examples of Cycle.js style apps in Laminar
Examples without Scalajs-bundler
kitlangton/zio-app – Quickly create apps with ZIO and Laminar
ModuleKind.ESModule (e.g when using Vite or Snowpack) results in bigger JS bundle sizes than usual because Scala.js is unable to use gcc in this case. Scala.js #3893
- keynmol/scalajs-tauri-example – Example of using Laminar with Tauri and Vite to build a Desktop application, similar to Electron
Addons & Extensions
Laminext – A collection of useful extensions, utilities and components for Laminar and Airstream
Waypoint – URL router for Laminar
frontroute – Alternative router for Laminar with API inspired by Akka HTTP
Formula – Derive functional, reactive, Laminar forms at compile-time with this type-safe, composable form combinator library
Laminar.cycle – Cycle.js dialogue abstraction in Laminar
Shoelace Web Components for Laminar – WIP? Maybe? Some day.
Material UI Laminar Web Components (Note: appears to be abandoned)
Or, easily make your own interfaces. See the Shoelace and UI5 examples above for good patterns.
Tutorials, Videos & Blog Posts
My Four Year Quest For Perfect Scala.js UI Development – the history and ideological foundations of Laminar
[VIDEO] Laminar – Smooth UI Development with Scala.js – Laminar foundations and mechanics that everyone should know
[VIDEO] Stockholm Syndrome Escape Velocity – Kit Langton sets an impossible standard in conference talk delivery
- See updated repo for safe management of Owner-s
Official Scala.js tutorial explains how to make a Scala.js app with Vite, Laminar, and a JS charting library (using ScalablyTyped). Final code repo. Video version: part 1 (Vite), part 2 (Laminar & ScalablyTyped).
Twotm8 – Building the Frontend walks you through creating a twitter clone in full stack Scala. The chapter on frontend explains how to use Laminar, implement routing with Waypoint, and styling with ScalaCSS. See also the source code and demo.
SoftwareMill's Hands-on Laminar article includes form validation, and integration with ScalaCSS and Monocle
My Other Related Projects
Airstream – The reactive layer of Laminar. Its docs explain everything about streams, signals, event buses, state vars, etc.
Waypoint – URL router for Laminar
Scala DOM Types – Type definitions that we use for all the HTML tags, attributes, properties, and styles.