Functional languages compiled to JavaScript in practice

Thesis title: Funkcionální jazyky kompilované do JavaScriptu v praxi
Author: Mladý, Lukáš
Thesis type: Diplomová práce
Supervisor: Bruckner, Tomáš
Opponents: Kosek, Jiří
Thesis language: Česky
Abstract:
Práce se zaměřuje na funkcionální přístupy ve vývoji front-endových aplikací. Cílem je analyzovat použitelnost funkcionálního jazyka Elm v praxi v porovnání se současným JavaScriptem stavějícím na knihovnách React a Redux. Cíle bylo dosaženo skrze analýzu a porovnání JavaScriptu a Elmu z hlediska jejich architektury a podpory tvorby reálných front-endových aplikací. Přínosem práce je ucelená analýza a přehled možností vývoje front-endových aplikací v jazycích JavaScript a Elm. Nabízí podklady a argumenty pro užití Elmu v praxi již dnes a zároveň doplňuje podporu BroadcastChannel API v Elmu pomocí naprogramovaného balíčku. Text práce začíná analýzou podpory funkcionálních konceptů JavaScriptem. Dále popisuje nejpoužívanější funkcionální jazyky kompilované do JavaScriptu včetně jejich použitelnosti JavaScriptovými vývojáři. Poté porovnává front-endovou architekturu JavaScriptu a Elmu a pak analyzuje vývoj reálných aplikací v obou jazycích. Práci zakončuje praktická implementace balíčku řešícího chybějící podporu BroadcastChannel API v Elmu.
Keywords: BroadcastChannel; React; Elm; Redux; JavaScript; Funkcionální programování
Thesis title: Functional languages compiled to JavaScript in practice
Author: Mladý, Lukáš
Thesis type: Diploma thesis
Supervisor: Bruckner, Tomáš
Opponents: Kosek, Jiří
Thesis language: Česky
Abstract:
The thesis focuses on functional principles applied in front-end application development. The main goal is to analyze applicability of functional language Elm in practice, in comparison to contemporary JavaScript that builds on React and Redux libraries. The goal was attained through analysis and comparison of JavaScript and Elm in regards to their architecture and support of real-life front-end application development. Main contribution of this thesis lies in comprehensive analysis and overview of front-end development using JavaScript and Elm. It offers strong argument for using Elm in practice today. It also fills a gap in BroadcastChannel API support in Elm using a dedicated package. The text of this thesis begins with a functional principles support analysis in JavaScript. Next, it describes the most used functional languages compiled to JavaScript, including their applicability by JavaScript developers. Then it compares front-end architecture of both JavaScript and Elm followed by a real-life development experience analysis. The thesis concludes with a practical implementation of a package that fills in for missing BroadcastChannel API support in Elm.
Keywords: JavaScript; BroadcastChannel; Elm; Redux; Functional programming; React

Information about study

Study programme: Aplikovaná informatika/Informační systémy a technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 26. 9. 2016
Date of submission: 29. 4. 2017
Date of defense: 1. 6. 2017
Identifier in the InSIS system: https://insis.vse.cz/zp/58835/podrobnosti

Files for download

    Last update: