Strongly typed, functional languages as an alternative to the popular React + Redux stack

Dörig, Remo and Fisch, Joel (2019) Strongly typed, functional languages as an alternative to the popular React + Redux stack. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of HS 2019 2020-SA-EP-Fisch-Dörig-Elm als reale Alternative zu React mit Redux (Arbeitstitel).pdf]
Preview
Text
HS 2019 2020-SA-EP-Fisch-Dörig-Elm als reale Alternative zu React mit Redux (Arbeitstitel).pdf - Supplemental Material

Download (998kB) | Preview

Abstract

Der populäre Technologie-Stack TypeScript, React und Redux implementiert eine funktional inspirierte Architektur in einer nicht primär funktionalen Programmiersprache. Konstrukte aus der funktionalen Welt müssen deshalb imitiert werden. Wären funktionale Sprachen für neue Projekte in dieser Architektur eine bessere Alternative? Zwecks Beantwortung dieser Frage wurde in TypeScript, Reason und Elm je eine Beispielapplikation entwickelt.

Die Applikationen und ihre Entwicklung wurden anhand verschiedener Kriterien evaluiert und verglichen. TypeScript wurde wegen seiner Verbreitung untersucht. Elm wurde untersucht, da die Architektur ihren Ursprung in dieser Sprache hat. Reason wurde als Mittelweg und wegen der guten React-Anbindung untersucht. Reason ist momentan noch zu wenig ausgereift, könnte aber in Zukunft eine gute Alternative zu TypeScript darstellen.

Die Vorteile von TypeScript (grosses Ökosystem, Nähe zu JavaScript) überwiegen für langlebige Projekte gegenüber den Nachteilen der Sprache. Elm hat eine sehr stabile Laufzeitumgebung und bietet ideale Voraussetzungen für die Implementation dieser Architektur, hat aber im Bereich der Interaktion mit JavaScript und des Ökosystems starke Einschränkungen. Wenn man sich in einem neuen Projekt für die Elm-Architektur entscheidet, ist man in den meisten Fällen mit TypeScript am besten aufgehoben. Elm bietet Vorteile, man muss sich aber den Limitierungen der Sprache und des Ökosystems klar bewusst sein.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software > Testing and Simulation
Area of Application > Web based
Technologies > Programming Languages
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Mehta, Farhad
UNSPECIFIED
Date Deposited: 09 Apr 2020 12:43
Last Modified: 09 Apr 2020 12:43
URI: https://eprints.ost.ch/id/eprint/841

Actions (login required)

View Item
View Item