Name: | Description: | Size: | Format: | |
---|---|---|---|---|
13.94 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
A Blip, empresa do ramo de desenvolvimento de software, iniciou o desenvolvimento de um projeto multiplataforma para a Betfair. Este projeto surge numa altura de larga expansão do mercado de apostas desportivas, de que a Betfair tenciona fazer parte - promovendo a criação de uma nova aplicação para dispositivos móveis, com um visual moderno, atrativo e de utilização simplificada. Posto isto, a Blip decidiu utilizar a tecnologia React Native, tendo em conta a possibilidade de partilhar parte do código, (sobretudo a lógica de negócio) de forma a desenvolver esta aplicação compatível com navegadores web e dispositivos iOS e Android. Contudo, esta tecnologia é bastante recente, existindo alguns problemas de desempenho detetados - em especial na utilização de listas encadeadas, com uma elevada mutabilidade de dados. Este trabalho tem como objetivo primordial melhorar o desempenho mencionado anteriormente, através da utilização de uma ferramenta capaz de substituir a atual FlatList. Para tal, procedeu-se a uma criteriosa investigação sobre as novas funcionalidades da tecnologia, como o JSI Modules. Esta nova ferramenta é desenvolvida em linguagem nativa - podendo constituir uma forma eficaz de aumentar o desempenho de uma aplicação móvel. De forma a sustentar toda a investigação e desenvolvimento da ferramenta, são mencionados e analisados diversos tipos de aplicações móveis, sendo feita uma abordagem à arquitetura que constitui as plataformas iOS e Android. Também se realiza uma abordagem das tecnologias utilizadas para o seu desenvolvimento, tal como uma análise entre a tecnologia React Native e algumas tecnologias existentes para o desenvolvimento deste tipo de aplicações, destacando-se o Flutter, o Kotlin Multiplatform e o desenvolvimento nativo em iOS com Swift. O objetivo do trabalho foi concluído com sucesso, existindo uma ferramenta que, após vários testes e métricas tiradas, provou que tem um desempenho bastante melhor que o do FlatList. Para além disso, visto ter um modelo de construção e definição semelhante ao FlatList, torna-se fácil de implementar, caso a necessidade do leitor, seja efetuar uma migração. Para tal cumprimento do objetivo foi efetuada uma criteriosa investigação, criando uma aplicação de teste, que conseguiu sob as mesmas condições de fluxo de dados, recriar uma página, para cada alternativa estudada. Essas páginas foram testadas utilizando a ferramenta RN Perf Monitor e após várias amostras recolhidas, cálculos estatísticos determinaram qual o componente com melhor desempenho, entre os estudados.
Blip started the development of a cross-platform project for Betfair. This project comes at a time of large expansion of the sports betting market, in which Betfair intends to be a part - promoting the creation of a new application for mobile devices, with a modern, attractive and simplified use. That said, Blip decided to use React Native technology, taking into account the possibility of sharing part of the code (especially the business logic) in order to develop this application compatible with web browsers and iOS and Android devices. However, this technology is quite recent, with some performance problems detected - especially in the use of nested lists, with high data mutability. The main objective of this document is to improve the performance mentioned above, by using a tool capable of replacing the current FlatList. To this end, carrying out a careful investigation into the new features of the technology, such as JSI Modules, the new tool was developed in native language - since it is an effective way to increase the performance of a mobile application. In order to support all the research and development of the tool, different types of mobile applications are mentioned and analyzed, and an approach is made to the architecture that constitutes the iOS and Android platforms. An approach to the technologies used for its development is also carried out, such as an analysis between React Native technology and some existing technologies for the development of this type of applications, such as Flutter, Kotlin Multiplatform and native iOS with Swift. The main objective of this document was successfully completed, because there is a tool that, after taken several tests and metrics, proved that it performs much better than FlatList. Furthermore, since it has a construction and definition model similar to FlatList, it becomes easy to implement, if the reader needs to perform a migration. To achieve this objective, a careful investigation was carried out, creating a test application, which managed, under the same data flow conditions, to recreate a page for each alternative studied. These pages were tested using the RN Perf Monitor tool and after several samples collected, statistical calculations were made to determine which component had the best performance among those studied.
Blip started the development of a cross-platform project for Betfair. This project comes at a time of large expansion of the sports betting market, in which Betfair intends to be a part - promoting the creation of a new application for mobile devices, with a modern, attractive and simplified use. That said, Blip decided to use React Native technology, taking into account the possibility of sharing part of the code (especially the business logic) in order to develop this application compatible with web browsers and iOS and Android devices. However, this technology is quite recent, with some performance problems detected - especially in the use of nested lists, with high data mutability. The main objective of this document is to improve the performance mentioned above, by using a tool capable of replacing the current FlatList. To this end, carrying out a careful investigation into the new features of the technology, such as JSI Modules, the new tool was developed in native language - since it is an effective way to increase the performance of a mobile application. In order to support all the research and development of the tool, different types of mobile applications are mentioned and analyzed, and an approach is made to the architecture that constitutes the iOS and Android platforms. An approach to the technologies used for its development is also carried out, such as an analysis between React Native technology and some existing technologies for the development of this type of applications, such as Flutter, Kotlin Multiplatform and native iOS with Swift. The main objective of this document was successfully completed, because there is a tool that, after taken several tests and metrics, proved that it performs much better than FlatList. Furthermore, since it has a construction and definition model similar to FlatList, it becomes easy to implement, if the reader needs to perform a migration. To achieve this objective, a careful investigation was carried out, creating a test application, which managed, under the same data flow conditions, to recreate a page for each alternative studied. These pages were tested using the RN Perf Monitor tool and after several samples collected, statistical calculations were made to determine which component had the best performance among those studied.
Description
Keywords
Desempenho Aplicações móveis React Native Listas encadeadas Android iOS