Live Programming in Low-Code Platforms

Detalhes bibliográficos
Autor(a) principal: Silva, Nuno André de Almeida e
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