Please use this identifier to cite or link to this item:
http://hdl.handle.net/10773/33695
Title: | Dart’s viability in full-stack development: a case study |
Other Titles: | A viabilidade de Dart em desenvolvimento full stack: um estudo de caso |
Author: | Aguiar, Sérgio Gabriel Pacheco de |
Advisor: | Fernandes, José Maria Amaral |
Keywords: | Dart Flutter Full-stack development Spring boot Proof of concept |
Defense Date: | 3-Dec-2021 |
Abstract: | In 2012, Google released the Dart language which, more recently, due to Flutter,
has received a boost in popularity and is being often referred to as a full-stack
language / ecosystem suitable for developing front-end and back-end solutions.
However, aside from Flutter for mobile, Dart usage is still quite low when it
comes to developing enterprise level solutions.
In this dissertation, we tried to investigate the adequacy of using Dart to develop
a full-stack solution with special focus on its back-end support. With that in mind,
a typical scenario involving both a mobile and a web-supported front end, where
both communicate with a back-end server via a REST endpoint, was
established. For performance comparison, we deployed an equivalent back-end
server developed using Spring Boot, a popular Java-based solution, which was
used as reference.
The main result was that a full-stack system can be developed with just a Dart /
Flutter ecosystem and, in our scenario, this system’s performance surpassed
Spring Boot’s. From a developer’s perspective, off-the-shelf Dart embedded
asynchronous solutions (e.g., streams, Futures, etc.) are clearly an
improvement over similar mechanisms in Java / Spring Boot due to avoiding
typical Java solutions, namely asynchronous configurations, and
annotations. However, despite some interesting projects arising, when
excluding Google’s own developed packages/resources, most third-party
packages are either using out-of-date dependencies due to compatibility issues
or have been abandoned entirely – this had an impact during the development
stage as it led to unplanned constraints when choosing packages and / or
frameworks used. Em 2012, Google lançou a linguagem Dart que, mais recentemente, devido ao Flutter, recebeu um impulso em popularidade e é muitas vezes referida como uma linguagem / ecossistema full stack adequado para o desenvolvimento de soluções front end e back end. No entanto, além do Flutter para dispositivos móveis, o uso de Dart ainda é muito baixo quando se trata de desenvolver soluções de nível corporativo. Nesta dissertação, tentamos investigar a adequação do uso de Dart para desenvolver uma solução full stack com foco especial no seu suporte de back end. Com isso em mente, foi estabelecido um cenário típico envolvendo um front end móvel e um compatível com web, em que ambos comunicam com um servidor back end por meio de um endpoint REST. Para comparação de desempenho, implementamos um servidor back end equivalente desenvolvido usando Spring Boot, uma solução popular baseada em Java, que foi usada como referência. O resultado principal foi que um sistema full stack pode ser desenvolvido com apenas um ecossistema Dart / Flutter e, no nosso cenário, o desempenho desse sistema ultrapassou o Spring Boot. Do ponto de vista do programador, soluções assíncronas incorporadas Dart prontas para uso (por exemplo, streams, Futures, etc.) são claramente uma melhoria em relação a mecanismos semelhantes em Java / Spring Boot devido a evitarem soluções Java típicas, nomeadamente configurações assíncronas e anotações. No entanto, apesar de alguns projetos interessantes surgirem, ao excluir os pacotes / recursos desenvolvidos pela própria Google, a maioria dos pacotes desenvolvidos por terceiros usam dependências desatualizadas devido a problemas de compatibilidade ou foram abandonados inteiramente - isso teve um impacto durante a fase de desenvolvimento, pois levou a restrições não planeadas na escolha de pacotes e / ou frameworks usados. |
URI: | http://hdl.handle.net/10773/33695 |
Appears in Collections: | UA - Dissertações de mestrado DETI - Dissertações de mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Documento_Sérgio_Aguiar.pdf | 4.94 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.