This document discusses using Scala for full stack development, with Scala in both the backend and frontend. It provides an overview of using Scala and Scala.js for backend and frontend development, including architectures, frameworks, and techniques. The backend is built with Scala and Spring Boot, using techniques like dependency injection and immutable data structures. The frontend is built with Scala.js and React for the UI, using Flux architecture and immutable data. It also discusses mobile development with Scala and React Native.
1 of 89
Downloaded 73 times
More Related Content
Full Stack Scala
1. Full Stack Scala
Scala in the backend and frontend!
Ramnivas Laddad
Founder, Paya Labs
@ramnivas
2. @ramnivas
• Spring framework and Cloud Foundry
contributor
• Main interests
• Scala and functional programming
• Cloud computing
• Author of books and articles
• AspectJ in Action (1st and 2nd edition)
• Speaker at many professional conferences
• JavaOne, ScalaDays, JavaPolis, SpringOne, Software
Development, No Fluff Just Stuff, OSCON etc.
80. Bridging Native React Components
• Problem:
• You got to use components developed in the
wild
• Requires significant boilerplate to make it work
from scalajs-react
• Solution: Some macro magic!
81. Bridging Native React Components
• Problem:
• You got to use components developed in the
wild
• Requires significant boilerplate to make it work
from scalajs-react
• Solution: Some macro magic!
github.com/payalabs/scalajs-react-bridge
84. Using MDL in React
• Problem:
• Components need to be “upgraded”
• Solution:
• React wrapper component around a ReactTag
• Upgrades element upon mounting
• Implicits to avoid noise
85. Using MDL in React
• Problem:
• Components need to be “upgraded”
• Solution:
• React wrapper component around a ReactTag
• Upgrades element upon mounting
• Implicits to avoid noise
github.com/payalabs/scalajs-react-mdl
86. Example MDL Use
a(className := "mdl-button mdl-js-button
mdl-button--raised mdl-button—colored
mdl-js-ripple-effect",
onClick --> saveAction())("Save").material
87. Example MDL Use
a(className := "mdl-button mdl-js-button
mdl-button--raised mdl-button—colored
mdl-js-ripple-effect",
onClick --> saveAction())("Save").material
88. Things on the Horizon
• GraphQL?
• Stitch?
• Relay?
• Falcor?