Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis

Detalhes bibliográficos
Autor(a) principal: Mota, Dany Lopes da
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10400.8/5573
Resumo: Atualmente existem tecnologias na área do desenvolvimento de aplicações de software multiplataforma. Estas tecnologias permitem criar uma aplicação com uma única base de código em linguagens de programação mais básicas, que posteriormente irá ser transformada para aplicações executáveis em múltiplos sistemas operativos como o Android OS ou o iOS, proporcionando diversas vantagens tanto a nível de desenvolvimento como na manutenção das aplicações. Neste trabalho, inicialmente era pretendendido realizar um estudo de comparação entre as duas das frameworks multiplataforma mais dominantes da atualidade. No entanto, uma comparação entre duas frameworks pode facilmente tornar-se obsoleta. Isto pode acontecer pelo facto de existir uma grande probabilidade de que, após a disponibilização de uma nova versão de uma das frameworks, a conclusão obtida no estudo já não corresponder à realidade. Deste modo, foram analisados vários estudos que envolviam a comparação de múltiplas tecnologias e abordagens para a criação de aplicações multiplataforma, com o intuito de encontrar possíveis lacunas. No decorrer do estudo foram encontrados diversos lapsos que eram praticados e que colocavam em causa todo o trabalho de análise. Tendo em conta a existência destas lacunas, e ainda a inexistência de um procedimento de testes e métricas padronizado, foi definido como objetivo principal o estudo e a criação de um procedimento completo de como fazer uma comparação da performance de aplicações móveis, desenvolvidas recorrendo a diferentes tecnologias ou abordagens, com a ambição de se tornar num procedimento reconhecido e amplamente usado noutros estudos comparativos. Assim, não só este trabalho envolve a comparação de duas tecnologias de desenvolvimento multiplataforma, como ainda tem um objetivo maior: criar um procedimento credível e exequível para a comparação de performance entre aplicações móveis desenvolvidas quaisquer tecnologias. Contudo, a sua concretização revelou-se mais complexa do que o esperado, devido a determinados aspetos que faltavam ser estudados e definidos e à inexistência de utensílios práticos. Um ponto que é extremamente importante de se encontrar em qualquer estudo comparativo, cujo objetivo seja perceber qual a melhor alternativa no desenvolvimento de uma aplicação móvel, é o modo de release. Este termo é algo que é praticamente inexistente nos diversos estudos que foram analisados, no entanto foi descoberto através de estudos paralelos, nomeadamente na observação de uma palestra realizada pela Apple, relacionada com uma ferramenta de auxílio ao desenvolvimento, o Instruments. Além do modo de release, havia ainda outros pontos importantes a definir, como o caso das funcionalidades a testar e quais as métricas a utilizar na avaliação. Visto que a comparação da performance entre aplicações deve ser feita em modo release, também as ferramentas devem suportar este modo. A ferramenta de medição de performance disponibilizada pela Apple suporta este modo de compilação, mas as ferramentas mais atuais disponibilizadas pela Google para o auxílio no desenvolvimento de aplicações Android não suportam. Surge assim um dos maiores desafios encontrados no decorrer deste trabalho. Foi necessário recorrer a ferramentas mais antigas e mais trabalhosas, por forma a criar vários scripts e mecanismos de execução de testes para dispositivos Android que pudessem ser compatíveis com este modo de release. Depois de todos os pontos anteriormente referenciados estarem resolvidos, foram definidas nove funcionalidades de software mais comuns em aplicações móveis a serem testadas, de onde resultou o desenvolvimento de cinquenta e duas (mini) aplicações móveis e ainda todo o procedimento de testes a realizar às mesmas. Posteriormente, foi feita a análise dos resultados de teste obtidos e tiradas conclusões. Das conclusões obtidas da comparação realizada entre as frameworks React Native e Flutter (aquelas previamente selecionadas tendo em conta vários critérios), pode concluir-se que, maioritariamente, a Flutter é a melhor solução para as funcionalidades selecionadas, independentemente do sistema operativo alvo do dispositivo de smartphone a ser utilizado, entre os sistemas iOS e Android OS.
id RCAP_12626e59b993c4af2ce79df8958d22af
oai_identifier_str oai:iconline.ipleiria.pt:10400.8/5573
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveisMultiplatform mobile applicationsPerformanceFlutterReactiOSAndroidDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaAtualmente existem tecnologias na área do desenvolvimento de aplicações de software multiplataforma. Estas tecnologias permitem criar uma aplicação com uma única base de código em linguagens de programação mais básicas, que posteriormente irá ser transformada para aplicações executáveis em múltiplos sistemas operativos como o Android OS ou o iOS, proporcionando diversas vantagens tanto a nível de desenvolvimento como na manutenção das aplicações. Neste trabalho, inicialmente era pretendendido realizar um estudo de comparação entre as duas das frameworks multiplataforma mais dominantes da atualidade. No entanto, uma comparação entre duas frameworks pode facilmente tornar-se obsoleta. Isto pode acontecer pelo facto de existir uma grande probabilidade de que, após a disponibilização de uma nova versão de uma das frameworks, a conclusão obtida no estudo já não corresponder à realidade. Deste modo, foram analisados vários estudos que envolviam a comparação de múltiplas tecnologias e abordagens para a criação de aplicações multiplataforma, com o intuito de encontrar possíveis lacunas. No decorrer do estudo foram encontrados diversos lapsos que eram praticados e que colocavam em causa todo o trabalho de análise. Tendo em conta a existência destas lacunas, e ainda a inexistência de um procedimento de testes e métricas padronizado, foi definido como objetivo principal o estudo e a criação de um procedimento completo de como fazer uma comparação da performance de aplicações móveis, desenvolvidas recorrendo a diferentes tecnologias ou abordagens, com a ambição de se tornar num procedimento reconhecido e amplamente usado noutros estudos comparativos. Assim, não só este trabalho envolve a comparação de duas tecnologias de desenvolvimento multiplataforma, como ainda tem um objetivo maior: criar um procedimento credível e exequível para a comparação de performance entre aplicações móveis desenvolvidas quaisquer tecnologias. Contudo, a sua concretização revelou-se mais complexa do que o esperado, devido a determinados aspetos que faltavam ser estudados e definidos e à inexistência de utensílios práticos. Um ponto que é extremamente importante de se encontrar em qualquer estudo comparativo, cujo objetivo seja perceber qual a melhor alternativa no desenvolvimento de uma aplicação móvel, é o modo de release. Este termo é algo que é praticamente inexistente nos diversos estudos que foram analisados, no entanto foi descoberto através de estudos paralelos, nomeadamente na observação de uma palestra realizada pela Apple, relacionada com uma ferramenta de auxílio ao desenvolvimento, o Instruments. Além do modo de release, havia ainda outros pontos importantes a definir, como o caso das funcionalidades a testar e quais as métricas a utilizar na avaliação. Visto que a comparação da performance entre aplicações deve ser feita em modo release, também as ferramentas devem suportar este modo. A ferramenta de medição de performance disponibilizada pela Apple suporta este modo de compilação, mas as ferramentas mais atuais disponibilizadas pela Google para o auxílio no desenvolvimento de aplicações Android não suportam. Surge assim um dos maiores desafios encontrados no decorrer deste trabalho. Foi necessário recorrer a ferramentas mais antigas e mais trabalhosas, por forma a criar vários scripts e mecanismos de execução de testes para dispositivos Android que pudessem ser compatíveis com este modo de release. Depois de todos os pontos anteriormente referenciados estarem resolvidos, foram definidas nove funcionalidades de software mais comuns em aplicações móveis a serem testadas, de onde resultou o desenvolvimento de cinquenta e duas (mini) aplicações móveis e ainda todo o procedimento de testes a realizar às mesmas. Posteriormente, foi feita a análise dos resultados de teste obtidos e tiradas conclusões. Das conclusões obtidas da comparação realizada entre as frameworks React Native e Flutter (aquelas previamente selecionadas tendo em conta vários critérios), pode concluir-se que, maioritariamente, a Flutter é a melhor solução para as funcionalidades selecionadas, independentemente do sistema operativo alvo do dispositivo de smartphone a ser utilizado, entre os sistemas iOS e Android OS.Martinho, Ricardo Filipe GonçalvesIC-OnlineMota, Dany Lopes da2021-03-30T12:20:29Z2021-02-102021-02-10T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.8/5573TID:202688542porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-01-17T15:51:24Zoai:iconline.ipleiria.pt:10400.8/5573Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T01:49:03.154323Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis
title Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis
spellingShingle Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis
Mota, Dany Lopes da
Multiplatform mobile applications
Performance
Flutter
React
iOS
Android
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis
title_full Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis
title_fullStr Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis
title_full_unstemmed Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis
title_sort Estudo comparativo de frameworks multiplataforma de desenvolvimento de aplicações móveis
author Mota, Dany Lopes da
author_facet Mota, Dany Lopes da
author_role author
dc.contributor.none.fl_str_mv Martinho, Ricardo Filipe Gonçalves
IC-Online
dc.contributor.author.fl_str_mv Mota, Dany Lopes da
dc.subject.por.fl_str_mv Multiplatform mobile applications
Performance
Flutter
React
iOS
Android
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Multiplatform mobile applications
Performance
Flutter
React
iOS
Android
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Atualmente existem tecnologias na área do desenvolvimento de aplicações de software multiplataforma. Estas tecnologias permitem criar uma aplicação com uma única base de código em linguagens de programação mais básicas, que posteriormente irá ser transformada para aplicações executáveis em múltiplos sistemas operativos como o Android OS ou o iOS, proporcionando diversas vantagens tanto a nível de desenvolvimento como na manutenção das aplicações. Neste trabalho, inicialmente era pretendendido realizar um estudo de comparação entre as duas das frameworks multiplataforma mais dominantes da atualidade. No entanto, uma comparação entre duas frameworks pode facilmente tornar-se obsoleta. Isto pode acontecer pelo facto de existir uma grande probabilidade de que, após a disponibilização de uma nova versão de uma das frameworks, a conclusão obtida no estudo já não corresponder à realidade. Deste modo, foram analisados vários estudos que envolviam a comparação de múltiplas tecnologias e abordagens para a criação de aplicações multiplataforma, com o intuito de encontrar possíveis lacunas. No decorrer do estudo foram encontrados diversos lapsos que eram praticados e que colocavam em causa todo o trabalho de análise. Tendo em conta a existência destas lacunas, e ainda a inexistência de um procedimento de testes e métricas padronizado, foi definido como objetivo principal o estudo e a criação de um procedimento completo de como fazer uma comparação da performance de aplicações móveis, desenvolvidas recorrendo a diferentes tecnologias ou abordagens, com a ambição de se tornar num procedimento reconhecido e amplamente usado noutros estudos comparativos. Assim, não só este trabalho envolve a comparação de duas tecnologias de desenvolvimento multiplataforma, como ainda tem um objetivo maior: criar um procedimento credível e exequível para a comparação de performance entre aplicações móveis desenvolvidas quaisquer tecnologias. Contudo, a sua concretização revelou-se mais complexa do que o esperado, devido a determinados aspetos que faltavam ser estudados e definidos e à inexistência de utensílios práticos. Um ponto que é extremamente importante de se encontrar em qualquer estudo comparativo, cujo objetivo seja perceber qual a melhor alternativa no desenvolvimento de uma aplicação móvel, é o modo de release. Este termo é algo que é praticamente inexistente nos diversos estudos que foram analisados, no entanto foi descoberto através de estudos paralelos, nomeadamente na observação de uma palestra realizada pela Apple, relacionada com uma ferramenta de auxílio ao desenvolvimento, o Instruments. Além do modo de release, havia ainda outros pontos importantes a definir, como o caso das funcionalidades a testar e quais as métricas a utilizar na avaliação. Visto que a comparação da performance entre aplicações deve ser feita em modo release, também as ferramentas devem suportar este modo. A ferramenta de medição de performance disponibilizada pela Apple suporta este modo de compilação, mas as ferramentas mais atuais disponibilizadas pela Google para o auxílio no desenvolvimento de aplicações Android não suportam. Surge assim um dos maiores desafios encontrados no decorrer deste trabalho. Foi necessário recorrer a ferramentas mais antigas e mais trabalhosas, por forma a criar vários scripts e mecanismos de execução de testes para dispositivos Android que pudessem ser compatíveis com este modo de release. Depois de todos os pontos anteriormente referenciados estarem resolvidos, foram definidas nove funcionalidades de software mais comuns em aplicações móveis a serem testadas, de onde resultou o desenvolvimento de cinquenta e duas (mini) aplicações móveis e ainda todo o procedimento de testes a realizar às mesmas. Posteriormente, foi feita a análise dos resultados de teste obtidos e tiradas conclusões. Das conclusões obtidas da comparação realizada entre as frameworks React Native e Flutter (aquelas previamente selecionadas tendo em conta vários critérios), pode concluir-se que, maioritariamente, a Flutter é a melhor solução para as funcionalidades selecionadas, independentemente do sistema operativo alvo do dispositivo de smartphone a ser utilizado, entre os sistemas iOS e Android OS.
publishDate 2021
dc.date.none.fl_str_mv 2021-03-30T12:20:29Z
2021-02-10
2021-02-10T00:00:00Z
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/10400.8/5573
TID:202688542
url http://hdl.handle.net/10400.8/5573
identifier_str_mv TID:202688542
dc.language.iso.fl_str_mv por
language por
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ório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799136983579099136