Full stack Scala - by Ramnivas Laddad
This talk was recorded at Scala Days New York, 2016. Follow along on Twitter @scaladays and on the website for more information http://scaladays.org/. Abstract: Using Scala in the backend is a fairly uncontroversial idea. Using it in the frontend, however, is a new possibility with the advent of Scala.js. It brings a fresh set of possibilities in combating complexity along with a few new challenges. Modern single-page and mobile apps feature sophisticated functionality, intuitive user experience, and the requirement of working across various browsers and devices. This leads to significant complexity in frontend development; it is not uncommon to spend the majority of development effort on the frontend. For such apps, you need significant machinery to keep code and developers sane! Scala.js offers one such possibility by extending the benefits of Scala to the frontend. There is a movement in JavaScript land to embrace immutability, functional programming, and type safety--something already available in Scala. Combining this trend with good interoperability support in Scala helps to leverage JavaScript libraries in Scala.js projects with reduced philosophical friction. With all these considerations, we decided to use Scala.js for frontend development for our startup. In this talk, I will talk about how this choice has served us and lessons learned in using Scala in every layer of the stack.