Prerequisites
You need to already be a programmer familiar with both Play and Scala as well as Web programming:
- You need to understand basic Web technologies such as HTML and HTTP. If that is not the case yet, start to Learn web development and go back to the MDN project whenever you are unfamiliar with or unsure about a piece of Web technology. (If you understand German, you could also start with Einstieg in HTML und CSS.)
- You need to know Scala. If you are new to programming, read chapters 1 to 10 as well as 13, 15, and 16 of Introduction to Programming and Problem Solving Using Scala. If you are only new to Scala, read Programming in Scala or Scala for the Impatient.
- You need to be familiar with Play. If you are new to Play, take a quick look at its home page, skim through the Getting Started section, and go through the tutorial in order to gain a first impression of Play.
Depending on which GUI approach(es) you are interested in, you need to be familiar with React & TypeScript and/or with htmx:
- If you are new to React & TypeScript, read Learn React with TypeScript.
- If you are new to htmx, read Hypermedia Systems.
It took me quite a while, but thanks to Scala, I finally learned to appreciate functional programming. Even if you were primarily interested in Java or Kotlin (or any other programming language, for that matter), I would strongly recommend studying Functional and Concurrent Programming as well as Functional Programming in Scala.
If you do not mind learning concepts in another programming language, you could additionally study Programming Clojure. (If you understand German, you could also study Funktionale Programmierung in Java und Kotlin.)
