Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/33849
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2022_EzequielDeOliveiraDosReis.pdf6,02 MBAdobe PDFver/abrir
Título: Developing Native Modules in React Native Using Kotlin
Autor(es): Reis, Ezequiel de Oliveira dos
Orientador(es): Sampaio, Renato Coral
Assunto: Aplicativos
Tecnologia
Data de apresentação: 12-Mai-2022
Data de publicação: 27-Fev-2023
Referência: REIS, Ezequiel de Oliveira dos. Developing Native Modules in React Native Using Kotlin. 2022. 59 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) — Universidade de Brasília, Brasília, 2022.
Resumo: Atualmente o desenvolvimento de aplicativos pode ser feito através de tecnologias nativas ou híbridas. Tecnologias nativas são tecnologias focadas e com todos os recursos necessários para um sistema operacional específico. Já as tecnologias híbridas tem o propósito de unificar o código produzido, para criar aplicativos para mais de uma plataforma. Uma das tecnologias que está com grande visibilidade nos dias atuais, para o desenvolvimento híbrido, é o React Native, que é uma tecnologia criada pelo Facebook. O código unificado é escrito em Javascript, esse código único é convertido para código nativo de forma autônoma.No cenário atual, duas tecnologias que surgiram recentemente para substituir as opções nativas anteriores e estão em ascensão para Android e IOS, são elas Kotlin e Swift respectivamente. Kotlin é uma tecnologia relativamente nova, baseada no seu antecessor o Java, que é usado atualmente, esse código Java no React Native é usado com base em módulos. Quando escrevemos módulos em Kotlin, temos um ganho tanto na facilidade com a sintaxe do Kotlin que leva a uma curva de aprendizado menor em relação ao Java quanto inserção dessa nova tecnologia junto a evolução do código híbrido. Este trabalho propõe um estudo de Kotlin e React Native e a comunicação entre eles através de módulos nativos, para criar um aplicativo completo usando diferentes tipos de módulos nativos usando Koltin para interagir com câmera, galeria e calendário. No início deste trabalho, os módulos nativos em Kotlin não eram oficiais na comunidade. No entanto, essa comunicação se tornou real durante este trabalho.A comunidade começou a adotar o Kotlin, então este trabalho é um guia para começar com esses tipos de módulos nativos. React Native necessita de módulos nativos para seu correto funcionamento. Módulos nativos para android geralmente usam Java para a parte nativa comunicação com o lado do Javascript. O foco deste trabalho é abordar a criação de módulos nativos tradicionais do React Native, porém usando Kotlin do lado nativo da aplicação. Este trabalho mostra o processo de criação de módulos nativos usando Kotlin, abordando casos comuns de necessidade de módulos nativos. Como um resultado final, uma aplicação usando React Native e três módulos nativos usando Kotlin, foi criada. O primeiro módulo nativo é para salvar eventos no calendário do smartphone, já o segundo módulo tem como objetivo utilizar um seletor de datas nativo do android, o terceiro e mais complexo módulo criado para a aplicação tem duas funcionalidades principais, relacionadas a imagens. O último módulo pode pegar imagens da galeria do celular, e também pode capturar imagens através da câmera.
Abstract: Mobile development can follow two ways, through Native or hybrid technologies. Native Technologies are focused on one platform with all the resources for a specific operating system. While hybrid technologies’ purpose is to unify the code base, to create one APP for more than one platform. A technology that has significant visibility in the market nowadays for the Hybrid development is React Native, a framework created by Facebook. The unified code is written in Javascript. The code is made above Java on Android and Objective-C on iOS. in the current scenario, two technologies that emerged recently to replace the previous native options are Kotlin for Android and Swift for iOS. These languages are currently on the rise. Kotlin is a Java-based language that is more used than Java nowadays. The java code in React native is used in modules, which each module has its objective to handle. When we write modules using Kotlin, the gains are a simpler syntax that leads to a easier learning curve than Java. The problem to be analyzed is the integration of these two technologies. This work proposes a study of Kotlin and React Native and the communication between them through native modules, starting with the thinking from native modules with Kotlin as a possibility, to create a complete app using different kinds of native modules using Koltin to interact with camera, gallery, calendar. At the beginning of this work, native modules in Kotlin were unofficial in the community. However, this communication became real during this work. The community started to adopt Kotlin, so this work is a guide to start with these kinds of native modules. Currently, React Native uses the native modules to work correctly. Native modules for Android often use Java to create the native part of the app and communicate with the Javascript side. This work focuses on an approach to creating native modules as usual but using Kotlin on the native side of the app. The work shows the process of creating native modules using Kotlin, approaching common cases of necessities to native modules. As the final result, we created an application using React Native with three native modules using Kotlin and Javascript resources to interact. The first native module to save events on the smartphone’s calendar, the second module to use an Android native date picker, and the last one is the more complex native module with two functionalities related to images. The last module can get images from the gallery and take pictures using the camera.
Informações adicionais: Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Faculdade UnB Gama, Engenharia de Software, 2022.
Licença: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta.
Aparece na Coleção:Engenharia de Software



Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.