Utilize este identificador para referenciar este registo: https://hdl.handle.net/10316/95497
Título: Can web applications with all the right vitamins be as reliable as native applications?
Outros títulos: Podem as aplicações web com as vitaminas certas ser tão confiáveis como as aplicações nativas?
Autor: Donato, José Maria Campos
Orientador: Ivaki, Naghmeh Ramezani
Antunes, Nuno Manuel dos Santos
Palavras-chave: Benchmarking; Android; Aplicações móveis; Aplicações nativas; Applicações web; Benchmarking; Android; Web applications; Mobile applications; Native applications
Data: 12-Jul-2021
Título da revista, periódico, livro ou evento: Can web applications with all the right vitamins be as reliable as native applications?
Local de edição ou do evento: DEI- FCTUC
Resumo: During 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.
Ao 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.
Descrição: Dissertação de Mestrado em Segurança Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/95497
Direitos: embargoedAccess
Aparece nas coleções:UC - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato
MSI_Jose_Donato.pdf3.75 MBAdobe PDFVer/Abrir
Mostrar registo em formato completo

Visualizações de página

127
Visto em 16/abr/2024

Downloads

90
Visto em 16/abr/2024

Google ScholarTM

Verificar


Este registo está protegido por Licença Creative Commons Creative Commons