Vivemos um momento curioso no desenvolvimento de software. Com IA, gerar código, estruturar projetos e até explorar novas ideias nunca foi tão rápido. Aquela desculpa de "isso daria muito trabalho" simplesmente deixou de existir. Se existe uma ferramenta que você gostaria de usar e ela ainda não existe, talvez este seja o melhor momento para criá-la. Foi exatamente assim que nasceu a RubyUI Admin. https://github.com/jacksonpires/ruby_ui_admin/ Durante algum tempo acompanhei projetos como o Avo e sempre gostei da experiência de construir interfaces administrativas modernas para aplicações Rails. Ao mesmo tempo, comecei a utilizar cada vez mais a RubyUI, baseada em Phlex, para desenvolver interfaces server-side utilizando componentes Ruby. Então surgiu a pergunta: E se existisse uma interface administrativa totalmente construída sobre a RubyUI? A resposta foi criar a minha própria. O que é a RubyUI Admin? A RubyUI Admin é uma engine para Ruby on Rails que transforma seus modelos Active Record em uma interface administrativa completa. Com poucos arquivos você já possui: CRUD completo Paginação Filtros Scopes Dashboards Ações customizadas Ações em lote Autorização Internacionalização (EN e PT-BR) Tudo isso renderizado no servidor utilizando RubyUI + Phlex, com melhorias progressivas através de Hotwire (Turbo + Stimulus). A interface faz parte da sua aplicação Uma das decisões de arquitetura mais importantes do projeto foi não criar mais um framework visual isolado. Em vez disso, a RubyUI Admin utiliza os próprios componentes RubyUI da aplicação hospedeira. Isso significa que: o admin acompanha o mesmo Design System da aplicação; qualquer customização feita em um componente é refletida automaticamente no admin; não existe uma cópia dos componentes para manter sincronizada. Na prática, o painel administrativo deixa de parecer um produto separado e passa a fazer parte da aplicação. Server-side first Assim como Rails sempre incentivou, a RubyUI Admin aposta em renderização no servidor. JavaScript existe apenas para melhorar a experiência. Sem JavaScript a aplicação continua funcionando normalmente. Turbo e Stimulus entram apenas para tornar algumas interações mais agradáveis, como: modais; notificações; abas; linhas clicáveis; pequenas interações da interface. Documentação dentro da própria aplicação Uma funcionalidade que gosto bastante é que a própria gem serve sua documentação. Depois de montar a engine, basta acessar: /admin/docs Enter fullscreen mode Exit fullscreen mode Toda a documentação é renderizada como HTML dentro da própria aplicação. Isso significa que você pode consultar exemplos sem precisar abrir outra aba do navegador. Durante o desenvolvimento ela já vem habilitada e, se desejar, também pode ser disponibilizada em produção protegida pela autenticação da aplicação. Recursos disponíveis Hoje a RubyUI Admin já oferece: CRUD completo Recursos configuráveis Catálogo completo de campos Paginação Filtros Scopes Dashboards Cards de métricas Ações customizadas Ações em lote Policies utilizando Action Policy Internacionalização Diversos generators Customização através de classes Ruby E o projeto continua evoluindo. Algumas funcionalidades planejadas para versões futuras incluem gerenciamento avançado de associações e novos formatos de visualização. Filosofia do projeto Desde o início alguns princípios guiaram o desenvolvimento. Tudo é Ruby Recursos, policies, filtros, dashboards e ações são apenas classes Ruby. Nada fica escondido. Quando você precisar personalizar algum comportamento, basta sobrescrever ou estender o que desejar. Progressivamente aprimorado O foco sempre foi entregar uma aplicação funcional antes de adicionar JavaScript. Essa abordagem deixa a aplicação mais robusta, simples de manter e muito alinhada com a filosofia atual do Rails. Sem reinventar seu Design System Ao utilizar RubyUI, a aplicação inteira compartilha os mesmos componentes. Você mantém apenas uma implementação de botões, tabelas, diálogos, cards e demais elementos visuais. Instalação Adicionar a gem é bastante simples. gem "ruby_ui_admin" Enter fullscreen mode Exit fullscreen mode Depois monte a engine: mount_ruby_ui_admin at: "/admin" Enter fullscreen mode Exit fullscreen mode Configure a autenticação e autorização e você já pode começar a criar seus recursos. Ainda está no começo Apesar de já ser perfeitamente utilizável, a RubyUI Admin ainda está em evolução. Meu objetivo é construir uma alternativa moderna para aplicações Rails que utilizam RubyUI, mantendo toda a experiência alinhada ao ecossistema Rails, Hotwire e Phlex. Se você utiliza RubyUI, acredito que vale a pena experimentar. Toda contribuição, feedback e sugestões são muito bem-vindos. Espero que esse seja apenas o começo. Um agradecimento especial a Ítalo Moura que me ajudou com os testes da gem.
🇧🇷 E se existisse uma interface admin baseada na RubyUI? Assim nasceu a RubyUI Admin.
Full Article
Original Source
Read the full article at Dev →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.