Live Programming in Low-Code Platforms
Autor(a) principal: | |
---|---|
Data de Publicação: | 2024 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Texto Completo: | http://hdl.handle.net/10362/178455 |
Resumo: | The OutSystems Platform is a visual model-driven development and delivery platform that allows developers to create enterprise-grade web and mobile applications, using Service Studio, the platform’s IDE. Low-code development platforms, such as this, aim to improve the agility of the development process, by allowing developers to prototype, test and deploy applications quickly. Compared to other technologies, OutSystems makes it faster to create applications with a modern design without the need to write a single line of code. However, even in low-code platforms, the develop-compile-test pipeline is explicit, and the experience can sometimes be slow and cumbersome. This limitation becomes more relevant when it is necessary to make many small, iterative changes to an application. This is the case when a developer is fine-tuning the UI, for example. After a developer makes changes to an application, they are required to publish it before being able to see the results. It includes, among other tasks, the transportation of the model and its compilation, that takes place in the OutSystems Platform Server. This process takes a non-negligible amount of time, which breaks workflow fluidity and negatively impacts the developer’s experience. That is the problem we aimed to solve in this work, focusing on the saving, transporta- tion, and loading of the model. To achieve this, we explore two approaches. In the first approach we propose that the IDE and the Compiler share the same model, eliminating the need for transporting and loading it in every publication. One of the challenges that it poses is one of concurrency, since the Compiler needs to be able to see the model while the developer may be changing it in the IDE. The second approach is simpler and consists of only transporting and loading what was modified, instead of the entire model. We developed a prototype which shows that our approaches have the potential to reduce the duration of these operations, reducing the Publication time and improving the development experience in OutSystems. |
id |
RCAP_88fbd79d6a6befb53e79a6c52ea9286b |
---|---|
oai_identifier_str |
oai:run.unl.pt:10362/178455 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
Live Programming in Low-Code PlatformsLive programmingCompilationOutSystemsLow-CodeModel driven developmentDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaThe OutSystems Platform is a visual model-driven development and delivery platform that allows developers to create enterprise-grade web and mobile applications, using Service Studio, the platform’s IDE. Low-code development platforms, such as this, aim to improve the agility of the development process, by allowing developers to prototype, test and deploy applications quickly. Compared to other technologies, OutSystems makes it faster to create applications with a modern design without the need to write a single line of code. However, even in low-code platforms, the develop-compile-test pipeline is explicit, and the experience can sometimes be slow and cumbersome. This limitation becomes more relevant when it is necessary to make many small, iterative changes to an application. This is the case when a developer is fine-tuning the UI, for example. After a developer makes changes to an application, they are required to publish it before being able to see the results. It includes, among other tasks, the transportation of the model and its compilation, that takes place in the OutSystems Platform Server. This process takes a non-negligible amount of time, which breaks workflow fluidity and negatively impacts the developer’s experience. That is the problem we aimed to solve in this work, focusing on the saving, transporta- tion, and loading of the model. To achieve this, we explore two approaches. In the first approach we propose that the IDE and the Compiler share the same model, eliminating the need for transporting and loading it in every publication. One of the challenges that it poses is one of concurrency, since the Compiler needs to be able to see the model while the developer may be changing it in the IDE. The second approach is simpler and consists of only transporting and loading what was modified, instead of the entire model. We developed a prototype which shows that our approaches have the potential to reduce the duration of these operations, reducing the Publication time and improving the development experience in OutSystems.A Plataforma OutSystems é uma plataforma visual de desenvolvimento e entrega baseada em modelos que permite aos programadores criar apicações móveis e web, utilizando o Service Studio, o IDE da plataforma. Plataformas de desenvolvimento low-code, como esta, visam melhorar a agilidade do processo de desenvolvimento, permitindo aos pro- gramadores prototipar, testar e implementar aplicações rapidamente. Comparando com outras tecnologias, OutSystems torna mais rápida a criação de aplicações com um design moderno sem a necessidade de escrever uma única linha de código. No entanto,mesmo em plataformas low-code,o pipeline de desenvolvimento-compilação- teste é explícito, e a experiência pode por vezes ser lenta e desagradável. Esta limitação torna-se mais relevante quando é necessário fazer várias alterações pequenas e iterativas a uma aplicação. É o caso quando um programador está a ajustar a interface de utilizador, por exemplo. Após um programador fazer alterações a uma aplicação, é necessário publicá- la antes de ser possível ver os resultados. Isto inclui, entre outras tarefas, o transporte do modelo e a sua compilação, que ocorre no OutSystems Platform Server. Este processo leva um tempo não desprezível, o que quebra a fluidez do workflow e tem um impacto negativo na experiência do programador. Este é o problema que pretendemos resolver neste trabalho, focando-nos nas operações de guardar, transportar e carregar o modelo. Para isso, explorámos duas abordagens. Na primeira abordagem propomos que o IDE e o Compilador partilhem o mesmo modelo, eliminando a necessidade de o transportar e carregar em cada publicação. Um dos desafios que isso coloca é um desafio de concorrência, pois o Compilador precisa de poder ver o modelo enquanto o programador pode estar a modificá-lo no IDE. A segunda abordagem é mais simples e consiste em transportar e carregar apenas o que foi modificado, em vez do modelo completo. Desenvolvemos um protótipo que demonstra que as nossas abordagens têm o potencial de reduzir a duração destas operações, reduzindo o tempo de Publicação e melhorando a experiência de desenvolvimento em OutSystems.Seco, JoãoLourenço, HugoRUNSilva, Nuno André de Almeida e2025-02-05T11:39:11Z2024-122024-12-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10362/178455enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-02-10T01:39:10Zoai:run.unl.pt:10362/178455Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T19:46:50.219850Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
Live Programming in Low-Code Platforms |
title |
Live Programming in Low-Code Platforms |
spellingShingle |
Live Programming in Low-Code Platforms Silva, Nuno André de Almeida e Live programming Compilation OutSystems Low-Code Model driven development Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
Live Programming in Low-Code Platforms |
title_full |
Live Programming in Low-Code Platforms |
title_fullStr |
Live Programming in Low-Code Platforms |
title_full_unstemmed |
Live Programming in Low-Code Platforms |
title_sort |
Live Programming in Low-Code Platforms |
author |
Silva, Nuno André de Almeida e |
author_facet |
Silva, Nuno André de Almeida e |
author_role |
author |
dc.contributor.none.fl_str_mv |
Seco, João Lourenço, Hugo RUN |
dc.contributor.author.fl_str_mv |
Silva, Nuno André de Almeida e |
dc.subject.por.fl_str_mv |
Live programming Compilation OutSystems Low-Code Model driven development Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
Live programming Compilation OutSystems Low-Code Model driven development Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
The OutSystems Platform is a visual model-driven development and delivery platform that allows developers to create enterprise-grade web and mobile applications, using Service Studio, the platform’s IDE. Low-code development platforms, such as this, aim to improve the agility of the development process, by allowing developers to prototype, test and deploy applications quickly. Compared to other technologies, OutSystems makes it faster to create applications with a modern design without the need to write a single line of code. However, even in low-code platforms, the develop-compile-test pipeline is explicit, and the experience can sometimes be slow and cumbersome. This limitation becomes more relevant when it is necessary to make many small, iterative changes to an application. This is the case when a developer is fine-tuning the UI, for example. After a developer makes changes to an application, they are required to publish it before being able to see the results. It includes, among other tasks, the transportation of the model and its compilation, that takes place in the OutSystems Platform Server. This process takes a non-negligible amount of time, which breaks workflow fluidity and negatively impacts the developer’s experience. That is the problem we aimed to solve in this work, focusing on the saving, transporta- tion, and loading of the model. To achieve this, we explore two approaches. In the first approach we propose that the IDE and the Compiler share the same model, eliminating the need for transporting and loading it in every publication. One of the challenges that it poses is one of concurrency, since the Compiler needs to be able to see the model while the developer may be changing it in the IDE. The second approach is simpler and consists of only transporting and loading what was modified, instead of the entire model. We developed a prototype which shows that our approaches have the potential to reduce the duration of these operations, reducing the Publication time and improving the development experience in OutSystems. |
publishDate |
2024 |
dc.date.none.fl_str_mv |
2024-12 2024-12-01T00:00:00Z 2025-02-05T11:39:11Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10362/178455 |
url |
http://hdl.handle.net/10362/178455 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833598321193648128 |