Sobre o projeto
React-admin é um framework frontend mantido pela marmelab para a construção de aplicações de página única que rodam no navegador sobre APIs REST ou GraphQL. É escrito em TypeScript, construído sobre React e Material Design, e distribuído no npm como react-admin.
Agnosticismo de backend: o framework comunica-se com APIs através de adaptadores chamados Data Providers. O README vincula uma lista de Data Providers documentando mais de 45 adaptadores e explica que provedores existentes podem servir como modelo para uma API ou que um Data Provider personalizado pode ser escrito para consultar uma API existente.
Blocos de construção: o projeto descreve o fornecimento de hooks e componentes que abrangem autenticação, roteamento, formulários e validação, datagrids, busca e filtragem, relacionamentos, funções e permissões, um editor de texto rico, i18n, notificações, menus, temas e cache. Também lista qualidades como acessibilidade, responsividade, segurança, velocidade e testabilidade, além de recursos de experiência do usuário, como renderização otimista, filtro enquanto digita, desfazer, preferências e consultas salvas.
Customização: o react-admin é apresentado como uma biblioteca de componentes React e hooks fracamente acoplados que expõem lógica de controlador reutilizável, para que qualquer parte possa ser substituída pela sua própria, por exemplo, um datagrid personalizado, GraphQL em vez de REST, ou um sistema de design diferente em vez do Material Design. O TypeScript é descrito como opcional, portanto, o desenvolvimento pode ser feito em TypeScript ou JavaScript. O README observa que o framework é alimentado por Material UI, react-hook-form, react-router, react-query e TypeScript, entre outros.
Primeiros passos: a instalação é feita com npm install react-admin ou yarn add react-admin. A documentação inclui um tutorial, tutoriais em vídeo no YouTube e uma referência completa da API. O repositório contém aplicações de exemplo: um blog simples com posts, comentários e usuários usado para testes end-to-end; um admin de loja de posters de e-commerce que é a demo oficial; uma aplicação de CRM; uma aplicação de tickets de helpdesk com travas e notificações em tempo real; e a aplicação construída ao seguir o tutorial. O README afirma que esses exemplos funcionam sem um servidor porque a API é simulada no lado do cliente.
Um exemplo de uso mínimo mostra um componente Admin envolvendo componentes Resource que declaram páginas de listagem, edição e criação para um endpoint de API, com componentes de página construídos a partir de List, DataTable, Edit, Create, SimpleForm, DateField, EditButton e componentes de input.
Desenvolvimento: o monorepo utiliza um makefile com comandos como make install, make build, make run-simple, make run-demo, make test e make prettier. Testes unitários usam jest, testes end-to-end usam cypress, e um hook de pre-commit do git executa testes relacionados aos arquivos modificados. Espera-se que as contribuições sigam o estilo de codificação existente baseado em prettier e incluam testes unitários e documentação. Pull requests de correção de bugs visam o branch master, enquanto novas funcionalidades e mudanças disruptivas visam o next.
Suporte e licença: suporte comunitário é oferecido via Discord e StackOverflow, e suporte comercial é oferecido através de uma React-Admin Enterprise Edition. O React-admin é licenciado sob a Licença MIT e é gratuito para uso, inclusive para fins comerciais.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.