Kavita is a passionate software engineer with over a decade of experience in various roles. She has a keen interest in creating clean user interfaces with intuitive access to product functionality. An expert in Scala, Scala.js, React, and CSS, she deftly switches between developing the frontend and the backend. When not programming, she learns and practices Indian Classical Music.
Sufficiently complex requirements require sufficiently sophisticated patterns and practices to tame the overall complexity! Only then do we have any hope of delivering a useful and high-quality product that meets those requirements.
Scala.js combined with React present a coherent combination with emphasizing both functional programming and immutability. In this talk, we will examine how we used this combination to deliver a complex set of requirements in a user-friendly application. We will explore several patterns we utilized: custom hooks to ensure reusable code and consistent user-experience, isomorphic implementation of algorithms to run the same code on servers and clients, and use of memoization to ensure a responsive UI.