UltimaJS é um framework em JavaScript Vanilla projetado para criar componentes Web reutilizáveis e reativos, utilizando recursos nativos do navegador e conformidade total com Web Components. Ele oferece uma base sólida para o desenvolvimento de Single Page Applications (SPAs) e outros tipos de aplicações web, simplificando o gerenciamento de estado e a vinculação dinâmica de dados.
Como desenvolvedores JavaScript, acreditamos que escrever código que funcione nativamente nos navegadores é uma boa prática. O UltimaJS foi desenvolvido com essa filosofia em mente, utilizando APIs nativas do navegador, como Custom Elements, Shadow DOM, ResizeObserver, IndexedDB, Service Workers, entre outras. Isso garante maior autonomia para os desenvolvedores, eliminando a necessidade de dependências externas e proporcionando uma integração perfeita com a Web.
O UltimaJS implementa a reatividade de forma simples e elegante, permitindo que as interfaces se atualizem automaticamente em resposta a mudanças de dados. Diferente de frameworks como Vue.js, que utilizam uma sintaxe proprietária, o UltimaJS utiliza Custom Elements e outras APIs nativas, garantindo conformidade total com os padrões Web Components. Isso torna o framework leve, performático e altamente compatível com outras tecnologias web.
O framework é construído em torno de duas classes principais:
- ComponenteBase: Fornece a infraestrutura para carregar e gerenciar templates HTML, scripts e estilos de forma modular, além de oferecer suporte à observação de mudanças no DOM.
- ComponenteReativo: Estende
ComponenteBasepara adicionar reatividade, permitindo a atualização automática de elementos em resposta a mudanças nos dados.
Ambas as classes são projetadas para serem extensíveis, permitindo que os desenvolvedores criem seus próprios componentes personalizados com facilidade.
O projeto Ultima começou em 2020 como uma implementação de um framework MVC utilizando JavaScript Vanilla. Desde então, ele evoluiu para um framework mais completo e robusto, com foco em reatividade e conformidade com Web Components. O objetivo sempre foi manter a simplicidade e a eficiência, fornecendo uma ferramenta poderosa para o desenvolvimento de aplicações web modernas.
Para começar a usar o UltimaJS, basta incluir os arquivos JavaScript do framework em seu projeto e começar a criar componentes personalizados que se integram perfeitamente ao DOM do navegador.
O UltimaJS foi inspirado por várias abordagens e práticas modernas em desenvolvimento web, incluindo:
- Thinking with Joins: https://bost.ocks.org/mike/join/
- General Update Pattern, I: https://bl.ocks.org/mbostock/3808218
- Les Misérables Co-occurrence: https://bost.ocks.org/mike/miserables/
- Path Transitions: https://bost.ocks.org/mike/path/
- Scatterplot Matrix Brushing: https://bl.ocks.org/mbostock/4063663
Contribuições e feedbacks são bem-vindos!