Full text
Preview |
PDF
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) | Preview |
Cámara Braña, Sergio (2020). Functional Reactive Programming in ClientSide web applications. Thesis (Master thesis), E.T.S. de Ingenieros Informáticos (UPM).
Title: | Functional Reactive Programming in ClientSide web applications |
---|---|
Author/s: |
|
Contributor/s: |
|
Item Type: | Thesis (Master thesis) |
Masters title: | Ingeniería Informática |
Date: | May 2020 |
Subjects: | |
Freetext Keywords: | Functional Reactive Programming; Web development; Angular; RxJS; Observable |
Faculty: | E.T.S. de Ingenieros Informáticos (UPM) |
Department: | Lenguajes y Sistemas Informáticos e Ingeniería del Software |
Creative Commons Licenses: | Recognition - No derivative works - Non commercial |
Preview |
PDF
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) | Preview |
En esta tesis hemos hecho un estudio sobre el paradigma de programación funcional reactiva (FRP) centrado en el desarrollo de aplicaciones web. Hemos elaborado un estudio de la literatura relacionada con este paradigma, así como de los paradigmas en los que este está basado: la programación funcional y reactiva. Para conocer las aplicaciones prácticas de paradigma, hemos presentado un caso de uso en el que hemos desarrollado una aplicación web para la plataforma “Initative for Digital Transformation” (https://idt.in.tum.de/) en el cual hemos aplicado FRP como el principal paradigma de programación. Hemos presentado las herramientas y librerías más relevantes de FRP para aplicaciones web con Angular (framework usado en el caso de uso), destacando el uso de RxJS, una librería con enfoque declarativo que permite la gestión de los datos de la aplicación a través de Observables y stream de datos; y que está estrechamente unido a Angular. Hemos explicado cómo la aplicación implementa este paradigma, desde su implicación en el desarrollo de la arquitectura de la aplicación hasta cómo se aplica en el diseño de los diferentes componentes y funcionalidades de la aplicación. Finalmente, hemos evaluado los posibles efectos positivos y adversos que el uso de FRP proporciona en el proceso de detección y actualización de cambios en la UI, el consumo de memoria de la aplicación y las posibles pérdidas de memoria causadas por la liberación de los recursos destinados a los stream de datos.---ABSTRACT---In this thesis we have made a study on the reactive functional programming paradigm (FRP) focused on the development of web applications. We have conducted a review of the literature related to this paradigm, as well as the paradigms on which it is based: functional and reactive programming. In order to know the practical applications of this paradigm, we have presented a use case in which we have developed a web application for the "Initiative for Digital Transformation" platform (https://idt.in.tum.de/) in which we have applied FRP as the main programming paradigm. We have presented the most relevant tools and libraries for the implementation of FRP in web applications with Angular (framework used in the use case) highlighting the use of RxJS, a library with a declarative approach that allows managing the data of an application through Observables and data streams and that is strongly linked to Angular. We have explained how the application implements this paradigm, from its involvement in the development of the application architecture to how it is applied in the design of the different components and functionalities of the application. Finally, we have evaluated the possible positive and adverse effects that the use of FRP may have on application performance. These evaluations have measured the benefits that FRP brings in the process of detecting and updating changes in the UI, the application's memory consumption and the possible memory leaks caused by the incorrect release of resources destined to the data streams.
Item ID: | 64383 |
---|---|
DC Identifier: | https://oa.upm.es/64383/ |
OAI Identifier: | oai:oa.upm.es:64383 |
Deposited by: | Biblioteca Facultad de Informatica |
Deposited on: | 06 Oct 2020 09:00 |
Last Modified: | 24 May 2022 13:59 |