TCCgrad
Framework para gerenciamento de dados client-side com IndexedDB
Autor
Abreu, Fábio Oliveira de
Institución
Resumen
TCC(graduação) - Universidade Federal de Santa Catarina. Centro Tecnológico. Ciências da Computação. Com a evolução das aplicações web e principalmente a popularização dos PWAs - Progressive Web Apps, é cada vez mais necessário o gerenciamento de grandes quantidades de dados dentro dos navegadores. Nesse sentido, o IndexedDB se destaca como uma API, nativa dos navegadores modernos, de baixo nível e alta performance. Entretanto, a manipulação dos dados por meio dela é complexa, exigindo que o desenvolvedor gaste grande quantidade de tempo com conceitos pouco usuais da API do IndexedDB e também de programação assíncrona.
Nesse sentido, esse projeto busca criar uma forma alternativa para que desenvolvedores possam gerenciar esses dados usando o IndexedDb, criando um framework para gerenciamento de dados client-side. Seu objetivo primário é simplificar o uso do IndexedDb, mas o escopo inclui o desenvolvimento de novas características, como validação baseada em tipos, extensibilidade através de herança e composição, e também relações com o banco de dados utilizando o padrão ODM - Object Document Mapper.
Dessa forma, novos projetos, ao utilizar a ferramenta proposta, poderão concentrar esforços na criação do software e suas funcionalidades, com garantia de estrutura e integridade dos dados providas pelo framework. Ao final, o framework desenvolvido deverá ser disponibilizado gratuitamente, através do gerenciador de pacotes NPM - Node package manager, para uso por desenvolvedores, em seus projetos, mundialmente. With the evolution of web applications and the popularization of PWAs - Progressive Web Apps, management of large amounts of data inside browsers has become increasingly essential. In that sense, the IndexedDB web API shines as a modern browser native, low level and highly performant solution. However the manipulation of data through this tool is complex, requiring high developer time, and therefore cost, to handle unusual concepts from IndexedDB API, in addition to the asynchronous nature of the instrument, making it efficient for development in its root state.
In that manner, this project aims to create an alternative form, so that developers can manage data with IndexedDb. The framework's main goal is to simplify the use of IndexedDb, but its scope also included the development of new characteristics, such as type based validation, extensibility using composition and inheritance and database relations using the ODM - Object Document mapper pattern.
In this way, new projects, when utilizing the proposed framework, should be able to concentrate their effort in the creation of software and its functionalities itself, with assurance of structure and integrity of data provided by the framework. In the end, the developed framework should be freely available, through the package manager NPM - Node Package Manager, so that developers can use it, in their projects, worldwide