Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma

Detalhes bibliográficos
Autor(a) principal: Freitas, Breno Coll de
Data de Publicação: 2022
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRJ
Texto Completo: http://hdl.handle.net/11422/19671
Resumo: O mercado de dispositivos móveis, atualmente dominado pelos sistemas operacionais Android e iOS, está em constante crescimento, tornando essa tecnologia cada vez mais acessível. Cada sistema operacional possui sua própria forma de gerenciar os recursos do dispositivo e de exibir suas funcionalidades para os desenvolvedores de aplicações. Com a evolução deste mercado, criou-se a necessidade de diminuir os custos de desenvolvimento e manutenção de aplicativos móveis. Diferentes ferramentas que permitem o desenvolvimento de aplicativos multiplataformas foram criadas, possibilitando a distribuição de um aplicativo para os dois sistemas operacionais a partir de um único código fonte. Atualmente, Flutter e React Native são os dois frameworks de desenvolvimento multiplataforma mais consolidados no mercado, sendo utilizados por mais de 35% dos desenvolvedores. Neste trabalho, comparamos o desempenho desses dois frameworks por meio de um estudo empírico. Desenvolvemos duas versões, uma para cada framework, de cinco aplicativos diferentes, abrangendo funcionalidades como interação com o usuário, navegação entre telas e rolagem de uma lista. Utilizamos a taxa de frames renderizados por segundo como métrica principal para comparar o desempenho dos aplicativos durante um experimento, simulando interações com o usuário. Também efetuamos um experimento adicional comparando o desempenho dos frameworks ao lidar com listas, utilizando a quantidade de espaço em branco apresentado durante uma rolagem como métrica de comparação. Concluímos que, apesar de ambos os frameworks apresentarem resultados similares nos demais aplicativos, o React Native possui certa deficiência ao lidar com listas, apresentando uma alta quantidade de espaço em branco e baixa taxa de frames renderizados por segundo quando esse recurso é utilizado.
id UFRJ_96525b89e364949be9adac7ea9a3791f
oai_identifier_str oai:pantheon.ufrj.br:11422/19671
network_acronym_str UFRJ
network_name_str Repositório Institucional da UFRJ
repository_id_str
spelling Freitas, Breno Coll dehttp://lattes.cnpq.br/0054098292730720http://lattes.cnpq.br/0118219348119161Bastos, Valeria Menezeshttp://lattes.cnpq.br/6948667770415330Gonçalves, Kelly Cristina Motattp://lattes.cnpq.br/1715326722961736Rossetto, Silvana2023-02-06T15:14:32Z2023-11-30T03:03:35Z2022-11-07http://hdl.handle.net/11422/19671Submitted by Elaine Almeida (elaine.almeida@nce.ufrj.br) on 2023-02-06T15:14:32Z No. of bitstreams: 1 BCFreitas.pdf: 1090641 bytes, checksum: 95232db637968c2be2a01c6d3e0a37de (MD5)Made available in DSpace on 2023-02-06T15:14:32Z (GMT). No. of bitstreams: 1 BCFreitas.pdf: 1090641 bytes, checksum: 95232db637968c2be2a01c6d3e0a37de (MD5) Previous issue date: 2022-11-07O mercado de dispositivos móveis, atualmente dominado pelos sistemas operacionais Android e iOS, está em constante crescimento, tornando essa tecnologia cada vez mais acessível. Cada sistema operacional possui sua própria forma de gerenciar os recursos do dispositivo e de exibir suas funcionalidades para os desenvolvedores de aplicações. Com a evolução deste mercado, criou-se a necessidade de diminuir os custos de desenvolvimento e manutenção de aplicativos móveis. Diferentes ferramentas que permitem o desenvolvimento de aplicativos multiplataformas foram criadas, possibilitando a distribuição de um aplicativo para os dois sistemas operacionais a partir de um único código fonte. Atualmente, Flutter e React Native são os dois frameworks de desenvolvimento multiplataforma mais consolidados no mercado, sendo utilizados por mais de 35% dos desenvolvedores. Neste trabalho, comparamos o desempenho desses dois frameworks por meio de um estudo empírico. Desenvolvemos duas versões, uma para cada framework, de cinco aplicativos diferentes, abrangendo funcionalidades como interação com o usuário, navegação entre telas e rolagem de uma lista. Utilizamos a taxa de frames renderizados por segundo como métrica principal para comparar o desempenho dos aplicativos durante um experimento, simulando interações com o usuário. Também efetuamos um experimento adicional comparando o desempenho dos frameworks ao lidar com listas, utilizando a quantidade de espaço em branco apresentado durante uma rolagem como métrica de comparação. Concluímos que, apesar de ambos os frameworks apresentarem resultados similares nos demais aplicativos, o React Native possui certa deficiência ao lidar com listas, apresentando uma alta quantidade de espaço em branco e baixa taxa de frames renderizados por segundo quando esse recurso é utilizado.porUniversidade Federal do Rio de JaneiroUFRJBrasilInstituto de ComputaçãoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOdesenvolvimento mobileambientes multiplataformaFlutterReact NativeFlutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataformainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisabertoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRJinstname:Universidade Federal do Rio de Janeiro (UFRJ)instacron:UFRJLICENSElicense.txtlicense.txttext/plain; charset=utf-81853http://pantheon.ufrj.br:80/bitstream/11422/19671/2/license.txtdd32849f2bfb22da963c3aac6e26e255MD52ORIGINALBCFreitas.pdfBCFreitas.pdfapplication/pdf1090641http://pantheon.ufrj.br:80/bitstream/11422/19671/1/BCFreitas.pdf95232db637968c2be2a01c6d3e0a37deMD5111422/196712023-11-30 00:03:35.868oai:pantheon.ufrj.br:11422/19671TElDRU7Dh0EgTsODTy1FWENMVVNJVkEgREUgRElTVFJJQlVJw4fDg08KCkFvIGFzc2luYXIgZSBlbnRyZWdhciBlc3RhIGxpY2Vuw6dhLCB2b2PDqihzKSBvKHMpIGF1dG9yKGVzKSBvdSBwcm9wcmlldMOhcmlvKHMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBjb25jZWRlKG0pIGFvIFJlcG9zaXTDs3JpbyBQYW50aGVvbiBkYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gZGUgSmFuZWlybyAoVUZSSikgbyBkaXJlaXRvIG7Do28gLSBleGNsdXNpdm8gZGUgcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vKSBlbSB0b2RvIG8gbXVuZG8sIGVtIGZvcm1hdG8gZWxldHLDtG5pY28gZSBlbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8sIG1hcyBuw6NvIGxpbWl0YWRvIGEgw6F1ZGlvIGUvb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVUZSSiBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhZHV6aXIgYSBhcHJlc2VudGHDp8OjbyBkZSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gY29tIGEgZmluYWxpZGFkZSBkZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgYSBVRlJKIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXNzYSBzdWJtaXNzw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8OjbyBkaWdpdGFsLgoKRGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZSB2b2PDqiB0ZW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIGEgc3VhIGFwcmVzZW50YcOnw6NvLCBjb20gbyBtZWxob3IgZGUgc2V1cyBjb25oZWNpbWVudG9zLCBuw6NvIGluZnJpbmdpIGRpcmVpdG9zIGF1dG9yYWlzIGRlIHRlcmNlaXJvcy4KClNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCB2b2PDqiBuw6NvIHRlbSBkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBlIGNvbmNlZGUgYSBVRlJKIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRhIHN1Ym1pc3PDo28uCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIHF1ZSBmb2ksIG91IHRlbSBzaWRvIHBhdHJvY2luYWRvIG91IGFwb2lhZG8gcG9yIHVtYSBhZ8OqbmNpYSBvdSBvdXRybyhzKSBvcmdhbmlzbW8ocykgcXVlIG7Do28gYSBVRlJKLCB2b2PDqiBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWxxdWVyIGRpcmVpdG8gZGUgUkVWSVPDg08gb3UgZGUgb3V0cmFzIG9icmlnYcOnw7VlcyByZXF1ZXJpZGFzIHBvciBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUkogaXLDoSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8ocykgc2V1KHMpIG5vbWUocykgY29tbyBhdXRvcihlcykgb3UgcHJvcHJpZXTDoXJpbyhzKSBkYSBzdWJtaXNzw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EsIG5vIGF0byBkZSBzdWJtaXNzw6NvLgo=Repositório de PublicaçõesPUBhttp://www.pantheon.ufrj.br/oai/requestopendoar:2023-11-30T03:03:35Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)false
dc.title.pt_BR.fl_str_mv Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma
title Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma
spellingShingle Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma
Freitas, Breno Coll de
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
desenvolvimento mobile
ambientes multiplataforma
Flutter
React Native
title_short Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma
title_full Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma
title_fullStr Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma
title_full_unstemmed Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma
title_sort Flutter e react native: uma análise comparativa entre dois frameworks de desenvolvimento mobile multiplataforma
author Freitas, Breno Coll de
author_facet Freitas, Breno Coll de
author_role author
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0054098292730720
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/0118219348119161
dc.contributor.author.fl_str_mv Freitas, Breno Coll de
dc.contributor.referee1.fl_str_mv Bastos, Valeria Menezes
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/6948667770415330
dc.contributor.referee2.fl_str_mv Gonçalves, Kelly Cristina Mota
dc.contributor.referee2Lattes.fl_str_mv ttp://lattes.cnpq.br/1715326722961736
dc.contributor.advisor1.fl_str_mv Rossetto, Silvana
contributor_str_mv Bastos, Valeria Menezes
Gonçalves, Kelly Cristina Mota
Rossetto, Silvana
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
desenvolvimento mobile
ambientes multiplataforma
Flutter
React Native
dc.subject.por.fl_str_mv desenvolvimento mobile
ambientes multiplataforma
Flutter
React Native
description O mercado de dispositivos móveis, atualmente dominado pelos sistemas operacionais Android e iOS, está em constante crescimento, tornando essa tecnologia cada vez mais acessível. Cada sistema operacional possui sua própria forma de gerenciar os recursos do dispositivo e de exibir suas funcionalidades para os desenvolvedores de aplicações. Com a evolução deste mercado, criou-se a necessidade de diminuir os custos de desenvolvimento e manutenção de aplicativos móveis. Diferentes ferramentas que permitem o desenvolvimento de aplicativos multiplataformas foram criadas, possibilitando a distribuição de um aplicativo para os dois sistemas operacionais a partir de um único código fonte. Atualmente, Flutter e React Native são os dois frameworks de desenvolvimento multiplataforma mais consolidados no mercado, sendo utilizados por mais de 35% dos desenvolvedores. Neste trabalho, comparamos o desempenho desses dois frameworks por meio de um estudo empírico. Desenvolvemos duas versões, uma para cada framework, de cinco aplicativos diferentes, abrangendo funcionalidades como interação com o usuário, navegação entre telas e rolagem de uma lista. Utilizamos a taxa de frames renderizados por segundo como métrica principal para comparar o desempenho dos aplicativos durante um experimento, simulando interações com o usuário. Também efetuamos um experimento adicional comparando o desempenho dos frameworks ao lidar com listas, utilizando a quantidade de espaço em branco apresentado durante uma rolagem como métrica de comparação. Concluímos que, apesar de ambos os frameworks apresentarem resultados similares nos demais aplicativos, o React Native possui certa deficiência ao lidar com listas, apresentando uma alta quantidade de espaço em branco e baixa taxa de frames renderizados por segundo quando esse recurso é utilizado.
publishDate 2022
dc.date.issued.fl_str_mv 2022-11-07
dc.date.accessioned.fl_str_mv 2023-02-06T15:14:32Z
dc.date.available.fl_str_mv 2023-11-30T03:03:35Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/11422/19671
url http://hdl.handle.net/11422/19671
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.publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.publisher.initials.fl_str_mv UFRJ
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto de Computação
publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRJ
instname:Universidade Federal do Rio de Janeiro (UFRJ)
instacron:UFRJ
instname_str Universidade Federal do Rio de Janeiro (UFRJ)
instacron_str UFRJ
institution UFRJ
reponame_str Repositório Institucional da UFRJ
collection Repositório Institucional da UFRJ
bitstream.url.fl_str_mv http://pantheon.ufrj.br:80/bitstream/11422/19671/2/license.txt
http://pantheon.ufrj.br:80/bitstream/11422/19671/1/BCFreitas.pdf
bitstream.checksum.fl_str_mv dd32849f2bfb22da963c3aac6e26e255
95232db637968c2be2a01c6d3e0a37de
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)
repository.mail.fl_str_mv
_version_ 1784097277123493888