Please use this identifier to cite or link to this item: http://hdl.handle.net/10316/95497
DC FieldValueLanguage
dc.contributor.advisorIvaki, Naghmeh Ramezani-
dc.contributor.advisorAntunes, Nuno Manuel dos Santos-
dc.contributor.authorDonato, José Maria Campos-
dc.date.accessioned2021-08-05T22:00:30Z-
dc.date.available2021-08-05T22:00:30Z-
dc.date.issued2021-07-12-
dc.date.submitted2021-08-05-
dc.identifier.urihttp://hdl.handle.net/10316/95497-
dc.descriptionDissertação de Mestrado em Segurança Informática apresentada à Faculdade de Ciências e Tecnologia-
dc.description.abstractDuring the last decade, the gap between native, hybrid, and web applications has been reducing. Push notifications, offline fallback, and other features enabled native-like applications that work directly on the browser. Since they can be accessed from the browser, web applications are not limited to a certain platform, which benefits both end-users and developers. Different types of development tools to produce applications are constantly and rapidly emerging. When engineers need to develop a native or web application, they are overwhelmed by the huge diversity of alternatives and lack the means to choose the solution that best fits their needs.In this work, we propose a novel framework to assess different development tools according to certain properties such as performance, reliability, and dependability. As it is not feasible to compare the development tools directly, we propose comparing them through representative applications. The framework defines the components and procedures required to define concrete benchmarks.To demonstrate the applicability of the proposed framework, it was instantiated in a concrete benchmark focused on the performance of entertainment and utility applications developed with JavaScript tools and Kotlin as a native reference. For this, we defined a representative set of features that each application must implement based on an analysis of popular apps. The relevant metrics to characterize performance were identified. For each tool, an application was developed with the defined set of features. A benchmarking campaign was executed, with the help of a supporting tool that automates the functional tests and collects the metrics. The campaign results were analyzed to compare the applications and the development tools that produced them.The results show that the framework can be used to assess and compare the development tools. We observed that even though Ionic uses more Memory and CPU than the native applications, it was the fastest to complete the tests. The observed differences between Expo and React Native are not significant, meaning that Expo is able to ease development and extend the cross-platform development without compromising performance. Finally, the results confirmed that web applications are already a competitive alternative in most mobile application scenarios.por
dc.description.abstractAo longo da última década, as diferenças entre as aplicações nativas, híbridas e web têm vindo a diminuir. Notificações, usabilidade mesmo sem conexão à internet, e outras funcionalidades permitiram a existência de aplicações que funcionam diretamente através do browser como se de nativas se tratasse. Dado que são acedidas pelo browser, estas não ficam limitadas a uma certa plataforma, o que constitui uma vantagem tanto para os utilizadores como para programadores. Para além disso, as ferramentas para desenvolver aplicações web e nativas têm vindo a aumentar exponencialmente e são hoje muito diversas. Consequentemente, os desenvolvedores sentem-se sufocados com tal diversidade e não têm meios para avaliar qual a melhorar solução para as suas necessidades.Neste trabalho é proposta uma framework para avaliar e comparar diferentes ferramentas de desenvolvimento, de acordo com certas propriedades, tais como performance, e confiabilidade. Dado que não é viável comparar as ferramentas diretamente, propomos compará-las através de aplicações representativas. Esta framework define um conjunto de components e procedimentos necessários para definir benchmarks concretos.Para demonstrar a aplicabilidade da framework, ela foi instanciada num benchmark concreto focado na performance de aplicações de utilidade e entertenimento desenvolvidas com ferramentas JavaScript e Kotlin como referência nativa. Definimos um conjunto representativo de funcionalidades que cada aplicação deve implementar com base na análise de aplicações populares. Identificámos métricas relevantes para definir a performance. Para cada ferramenta, uma aplicação foi desenvolvida com o conjunto de funcionalidades. Uma campanha de benchmark foi executada com o suporte de uma ferramenta para automatizar testes funcionais e recolher as métricas. Os resultados desta campanha foram analisados para comparar as aplicações e as ferramentas que as produziram.Os resultados mostram que a framework pode de facto ser utilizada para avaliar e comparar diferentes ferramentas de desenvolvimento. Observámos que Ionic apesar de utilizar mais recursos que as aplicações nativas, foi a mais rápida a completar os testes. As diferenças observadas entre Expo e React Native não são significantes o que demonstra que o Expo pode facilitar o desenvolvimento e suportar ainda mais plataformas sem comprometer a performance. Finalmente, os resultados confirmam que as aplicações web são já uma alternativa competitiva na maior parte dos cenários.eng
dc.description.sponsorshipOutro - This work is partially supported by the project METRICS: Monitoring and Measuring the Trustworthiness of Critical Cloud Systems (POCI-01-0145-FEDER-032504), co-funded by the Portuguese Foundation for Science and Technology (FCT) and by the Fundo Europeu de Desenvolvimento Regional (FEDER) through Portugal 2020 - Programa Operacional Competitividade e Internacionalização (POCI).-
dc.language.isoeng-
dc.rightsembargoedAccess-
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/-
dc.subjectBenchmarkingpor
dc.subjectAndroidpor
dc.subjectAplicações móveispor
dc.subjectAplicações nativaspor
dc.subjectApplicações webpor
dc.subjectBenchmarkingeng
dc.subjectAndroideng
dc.subjectWeb applicationseng
dc.subjectMobile applicationseng
dc.subjectNative applicationseng
dc.titleCan web applications with all the right vitamins be as reliable as native applications?eng
dc.title.alternativePodem as aplicações web com as vitaminas certas ser tão confiáveis como as aplicações nativas?por
dc.typemasterThesis-
degois.publication.locationDEI- FCTUC-
degois.publication.titleCan web applications with all the right vitamins be as reliable as native applications?eng
dc.date.embargoEndDate2022-07-12-
dc.peerreviewedyes-
dc.date.embargo2022-07-12*
dc.identifier.tid202753379-
thesis.degree.disciplineInformática-
thesis.degree.grantorUniversidade de Coimbra-
thesis.degree.level1-
thesis.degree.nameMestrado em Segurança Informática-
uc.degree.grantorUnitFaculdade de Ciências e Tecnologia - Departamento de Engenharia Informática-
uc.degree.grantorID0500-
uc.justificaEmbargoResultados submetidos a conferências com double-blind peer-reviewing.-
uc.contributor.authorDonato, José Maria Campos::0000-0002-1326-2056-
uc.degree.classification19-
uc.date.periodoEmbargo365-
uc.degree.presidentejuriCurado, Marília Pascoal-
uc.degree.elementojuriFonseca, José-
uc.degree.elementojuriAntunes, Nuno Manuel dos Santos-
uc.contributor.advisorIvaki, Naghmeh Ramezani-
uc.contributor.advisorAntunes, Nuno Manuel dos Santos::0000-0002-6044-4012-
item.fulltextCom Texto completo-
item.languageiso639-1en-
item.grantfulltextembargo_20220712-
Appears in Collections:UC - Dissertações de Mestrado
Files in This Item:
File Description SizeFormat Login
MSI_Jose_Donato.pdf3.75 MBAdobe PDFEmbargo Access    Request a copy
Show simple item record

Page view(s)

17
checked on Oct 8, 2021

Download(s)

2
checked on Oct 8, 2021

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons