Abstract:
|
[ANGLÈS] Typically, a final project is supposed to cover topics learned during the engineering degree. This is not my case, because my idea was to find something new to learn, motivation outside the classroom that not only fill pages, but to complete my training and myself. Through the year of practices I made in agreement with the university I met some software developers, and one of his projects caught my attention. AlterNative was the name, and its essential idea was to provide a tool to port high-level applications to low-level in a fully automatic manner. Beyond translating applications, we wanted to be able to execute online translations from a web page, allowing AlterNative to be tested, seeing the results and downloading them. I liked being able to get involved in something new, and I wanted to make my contribution with this final project. Therefore I did not limit myself to do a simple website that returned a translated file, I wanted to do something further. This project aims to translate real applications, showing the input and output directories, and letting the user edit the files needed to create a compilable code ported to native. To achieve this, a web server will be developed with Node.js, whose files will be structured a little differently than what you would expect. The aforementioned server will handle files of each user session, it will also keep a record of errors, shall any arise during use, as well as the most used features. [SPANISH] Normalmente, un proyecto final se supone que tiene que abarcar temas que has aprendido durante la titulación. Este no es mi caso, pues mi idea era encontrar algo nuevo que aprender, una motivación fuera de las aulas que no solo llenara páginas, sino que completara mi formación y mi persona. Durante las prácticas que realicé en convenio con la universidad, conocí a unos desarrolladores de software y uno de sus proyectos me llamó la atención. Se llamaba AlterNative. La idea fundamental era proporcionar una herramienta para portar de forma completamente automática aplicaciones de lenguajes de alto nivel a bajo nivel. Más allá de traducir aplicaciones, queríamos ser capaces de ejecutar traducciones online desde una página web, permitiendo probar AlterNative, examinar los resultados y descargarlos. Me gustó poder implicarme en algo nuevo, y quise hacer mi aportación con este proyecto final. Por este motivo no me limité a hacer una simple página web que devolviera un archivo, quise hacer algo más allá. Este proyecto pretende traducir aplicaciones reales, mostrando los directorios de entrada y salida, y permitiendo editar los archivos necesarios para crear un código compilable que portar a nativo. Para conseguirlo, se desarrollará un servidor web con Node.js y con una estructura de archivos un poco diferente a la habitual. Gracias a ella se podrán manejar los archivos de cada sesión de usuario, además de llevar un registro con los fallos que puedan surgir durante su uso, así como las funcionalidades que más se utilizan. |
Abstract:
|
[CASTELLÀ] Normalmente, un proyecto final se supone que tiene que abarcar temas que has
aprendido durante la titulación. Este no es mi caso, pues mi idea era encontrar
algo nuevo que aprender, una motivación fuera de las aulas que no solo llenara
páginas, sino que completara mi formación y mi persona.
Durante las prácticas que realicé en convenio con la universidad, conocí a unos
desarrolladores de software y uno de sus proyectos me llamó la atención. Se
llamaba AlterNative. La idea fundamental era proporcionar una herramienta para
portar de forma completamente automática aplicaciones de lenguajes de alto
nivel a bajo nivel.
Más allá de traducir aplicaciones, queríamos ser capaces de ejecutar
traducciones online desde una página web, permitiendo probar AlterNative,
examinar los resultados y descargarlos. Me gustó poder implicarme en algo
nuevo, y quise hacer mi aportación con este proyecto final. Por este motivo no
me limité a hacer una simple página web que devolviera un archivo, quise hacer
algo más allá.
Este proyecto pretende traducir aplicaciones reales, mostrando los directorios
de entrada y salida, y permitiendo editar los archivos necesarios para crear un
código compilable que portar a nativo.
Para conseguirlo, se desarrollará un servidor web con Node.js y con una
estructura de archivos un poco diferente a la habitual. Gracias a ella se podrán
manejar los archivos de cada sesión de usuario, además de llevar un registro
con los fallos que puedan surgir durante su uso, así como las funcionalidades
que más se utilizan. |