Universidad Complutense de Madrid
E-Prints Complutense

Interfaces gráficas de usuario con Elixir
Graphical user interfaces with Elixir

Downloads

Downloads per month over past year

62073

Impacto

Downloads

Downloads per month over past year



Nicolás López, Ignacio (2020) Interfaces gráficas de usuario con Elixir. [Trabajo Fin de Grado]

[thumbnail of NICOLAS_LOPEZ_TFG_Ignacio_Nicolas_Lopez_4398577_1484986838.pdf]
Preview
PDF
Creative Commons Attribution Non-commercial.

724kB


Abstract

En este Trabajo de Fin de Grado se desarrolla ElixirElm, una biblioteca de desarrollo de interfaces gráficas de usuario para el lenguaje Elixir.
El desarrollo de interfaces gráficas en Elixir se realiza de una forma demasiado alejada de un paradigma funcional, por lo que resulta lógico buscar alguna alternativa que elimine esta falta de naturalidad en el desarrollo. Así pues, ElixirElm tiene como propósito otorgar a los programadores de aplicaciones gráficas en Elixir una capa de abstracción que solucione esta problemática. El objetivo de esta capa de abstracción es mantener el paradigma funcional de programación que tiene Elixir, pero que la librería WxErlang, utilizada para el desarrollo de interfaces en Elixir, contradice forzando su uso mediante un paradigma imperativo “orientado a objetos”.
El nombre de la biblioteca es fruto de juntar el nombre del lenguaje Elixir, lenguaje en el que está programada y lenguaje objetivo de la librería, y Elm, otro lenguaje funcional de programación de aplicaciones web, cuya arquitectura es el objetivo de la capa de abstracción que otorga ElixirElm.
ElixirElm permitirá a los programadores que hagan uso de ella programar interfaces gráficas de propósito general con un conjunto básico de componentes visuales, manteniendo la coherencia con el resto de su programa. Nuestra biblioteca para la construcción de interfaces de usuario hará uso internamente de la biblioteca WxErlang, pero el programador tan solo tendrá que interactuar con ElixirElm.

Resumen (otros idiomas)

In this Final Degree Project, ElixirElm, a library for developing graphical user interfaces, is developed. The development of graphical interfaces in Elixir is done in a way that does not fit very well in a functional language, seeming only logic to try and find any alternative that bypasses that lack of naturalness in the development. Said that, ElixirElm has as purpose to grant the programmers of graphical application in Elixir an abstraction layer that gives a solution to this problematic. The goal of this abstraction layer is to maintain the functional programming paradigm of Elixir, that the library WxErlang, used for the building of the interfaces in Elixir, contradicts by forcing its imperative “object oriented” paradigm upon the programmers. The name of the library comes from joining the name of the programming language Elixir: language in which the library is programmed and the target of the library as well, and the name of the programming language of Elm: another functional language for web applications, whose syntax is the one to achieve by the abstraction layer of ElixirElm. ElixirElm will allow its programmers to program graphical user interfaces of general purpose with a basic collection of visual components, maintaining the coherence with the rest of the programmers’ code. Behind the scenes, the library will use WxErlang for the construction of the interfaces, while the programmer will only have to interact with the functions of ElixirElm.

Item Type:Trabajo Fin de Grado
Additional Information:

Trabajo de Fin de Grado en Grado de Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2019/2020

Directors:
Directors
Montenegro Montes, Manuel
Uncontrolled Keywords:Elixir, WxWidgets, WxErlang, Elm, GUI, Biblioteca, Librería, Interfaz gráfica, Lenguaje
Palabras clave (otros idiomas):Elixir, WxWidgets, WxErlang, Elm, GUI, Library, Graphical user interface, Functional language.
Subjects:Sciences > Computer science
Título de Grado:Grado en Ingeniería informática
ID Code:62073
Deposited On:07 Oct 2020 16:11
Last Modified:07 Oct 2020 16:11

Origin of downloads

Repository Staff Only: item control page