Am 1. Februar 2019 hat heise Developer den ersten Teil eines zweiteiligen Tutorials über skalierbare, robuste Webanwendungen veröffentlicht. Verteilte Applikationen sicher entwickeln und ohne Laufzeitfehler ausführen soll das Zusammenspiel aus dem Webserver Phoenix und den Programmiersprachen Elixir und Elm ermöglichen. Der Beitrag von Martin Grotz führt in die Erlang-Laufzeitumgebung BEAM ein und kündigt einen zweiten Teil über die Frontend-Sprache Elm an.
Erlang und die BEAM als Ausgangspunkt
Die Erweiterung bestehender Architekturmuster um Microservices erscheint laut dem Artikel eine relativ neue Entwicklung zu sein, tatsächlich werden verteilte Systeme etwa in der Telekommunikation seit Jahrzehnten genutzt. Dort kommt vor allem Erlang mit der Ausführungsumgebung BEAM und dem Framework OTP für den Betrieb verteilter Anwendungen zum Einsatz. Auf Basis von Erlang entstand mit Elixir eine funktionale Programmiersprache, die die Vorteile von Erlang mit einer modernen Syntax und zeitgemäßem Tooling zugänglicher macht.
Ratespiel als Beispielprojekt
Als Beispielprojekt entwickelt der Zweiteiler ein einfaches Ratespiel, bei dem ein Spieler eine Zahl zwischen 1 und 100 erraten muss. Der erste Teil beschreibt die Server-Anwendung mit Elixir und Phoenix. Dabei nutzt der Server das Aktor-Modell von Erlang, um für jeden Spieler eine eigene Spiel-Session zu erzeugen und unabhängig von allen anderen zu verwalten.
Zur Einordnung der Frontend-Seite stellt der Artikel fest, dass sich in der Entwicklung von Web-Frontends, angeschoben durch Angular und TypeScript, zunehmend statisch typisierte Sprachen durchsetzen, während Architekturmuster wie React Redux den Zustand umfangreicher werdender Anwendungen verwalten. Reichen die Sicherheiten von TypeScript und Redux nicht aus, nennt der Beitrag Elm als Alternative, das ein starkes Typsystem mit einer unidirektionalen Datenarchitektur kombiniert und eine Ausführung ohne Laufzeitfehler erlauben soll. Der zweite Teil der Reihe widmet sich der Elm-Oberfläche, über die der Spieler seine geratene Zahl in ein Formular eingibt.
Der erste Teil erschien am 1. Februar 2019 mit einer Lesezeit von 22 Minuten in der Rubrik Sprachen von heise Developer.

