Tudo teve início com uma postagem no LinkedIn onde assumi o compromisso de criar o Framework Aurora, uma série de recursos dedicados à elaboração de uma arquitetura de referência para o desenvolvimento de aplicações .NET. Este projeto se concentrará na documentação e implementação de microservices usando a arquitetura hexagonal.
Embora à primeira vista possa parecer desapontador, o objetivo fundamental de qualquer software é proporcionar valor ao resolver problemas específicos. Um equívoco comum é a tentativa de adotar a tecnologia, arquitetura ou tendência hype/recente sem primeiro compreender o problema que precisa ser solucionado.
No entanto, no final do dia, tudo se resume a criar softwares que possuam as seguintes características:
-
Modularidade: Isso implica que o software é dividido em partes independentes e intercambiáveis, o que facilita a organização e o desenvolvimento.
-
Escalabilidade: Os softwares devem ser capazes de crescer à medida que as necessidades aumentam, permitindo atender a demandas crescentes sem a necessidade de uma revisão completa.
-
Extensibilidade: Os softwares devem ser flexíveis o suficiente para receber continuamente novos recursos e funcionalidades, sem enfrentar grandes obstáculos.
-
Facilidade de Manutenção: Um bom desenho do software simplifica as tarefas de manutenção, atualização e correção de problemas.
-
Simplicidade: Os softwares devem ser projetados de maneira lógica e fácil de entender, garantindo eficiência tanto no desenvolvimento quanto na utilização.
Não quero desanimar ninguém, mas é importante ter em mente que a arquitetura de referência que estou prestes a apresentar, carinhosamente apelidada de Framework Aurora, minha linda filha, não é uma solução universal. Não é a resposta para todos os problemas. Essa arquitetura é uma solução versátil que pode ser aplicada em muitos contextos, mas não em todos. Portanto, é crucial entender o problema que você está tentando resolver antes de optar por qualquer solução.
Além disso, o meu principal objetivo com o Framework Aurora é criar uma abordagem SIMPLES, ESCALÁVEL, EXTENSÍVEL e FÁCIL DE MANTER para o desenvolvimento de software. Portanto, não iremos reinventando a roda!
Outro ponto crucial a ser destacado é que o Framework Aurora é especificamente um framework de arquitetura de software. Portanto, meu objetivo principal é estabelecer uma abordagem padronizada para o desenvolvimento de aplicações, logo, não estou lançando um novo framework JavaScript. Se você estava esperando por um novo framework JavaScript, esse conteúdo não é para você.
Sem mais delongas, apresento o sumário inicial do Framework Aurora, o qual será aprofundado ao longo deste trabalho ainda em desenvolvimento: