Drapo Framework for ASP.NET Core - The Beginning

Há tempos que a comunidade ASP.NET não tem um framework para frontend que esteja alinhado com a forma de desenvolvimento para ASP.NET Core. Atualmente podemos utilizar somente Razor ou Razor Pages para as aplicações MVC (model view controller).

Já na parte de frontend quando falamos em frameworks podemos utilizar o Angular, Vue.js, React entre outros.

Drapo

Então, para sanar algumas necessidades, sem depender de plugins dos frameworks de frontend e até mesmo outros artifícios de terceiros, surgiu o Drapo. O nome Drapo é uma analogia/brincadeira ao esparadrapo (band aid), vai curar esta ferida aberta para quem trabalha com ASP.NET Core. Este projeto iniciou em 2017 idealizado pelo Thiago Henrique da Silva, desenvolvedor e sócio da Sysphera na filial sediada em Florianópolis/SC.

Neste momento eu faço parte do time Sysphera e também contribuo com o projeto.

Tecnologia

O Drapo é todo escrito em TypeScript 3.7, o TypeScript é uma linguagem que ainda está em evolução, esta é a única dependência do Drapo o momento.

UX

O Drapo pode ser utilizado em conjunto com o Bootstrap ou você pode construir o seu próprio design, seu funcionamento não depende de uma forma ou outra.

Compatibility

O Drapo possui compatibilidade com todos os browsers incluindo o Internet Explorer, visto que muitos setores, principalmente o setor público ainda utiliza o IE.

Async

As funções do Drapo são assíncronas, isso proporciona uma melhor experiência ao usuário, sem travamentos de tela.

Components

Através do Drapo é possível criar componentes, tornando o processo de desenvolvimento e criação de software mais dinâmico e com bom reuso.

Rendering

O Drapo funciona diferente de alguns frameworks de frontend, durante a renderização das informações, você não vai visualizar os brakets {{}}, isso se dá pelo uso de HTML Attributes ao invés de colocar o valor diretamente no content de cada elemento.

Chamamos os brakets {{}} de mustache, que significa bigode, assim como a linhaguem GO possui o símbolo de atribuição chamado marmota ":=";

Open Source

Recentemente o Drapo foi liberado para a comunidade como Open Source e deve ser utilizado sob a licença Apache 2.0, isto significa que você pode criar o seu software e usá-lo sem precisar pagar.

Caso hajam customizações, elas devem ser liberadas para conhecimento de todos.

GitHub

O Drapo já está disponível no GitHub

Under Construction - Docs

O Drapo ainda está em aprimoramento e construção, mas já é utilizado em larga escala por todos os clientes da Sysphera inclusive em ambiente de produção com ASP.NET Core 3.1.

A documentação ainda é simples e está em constante evolução.

Start

Para iniciar um projeto utilizando o Drapo, você pode utilizar o template, o template já possui todas as configurações necessárias.

Após instalar, para visualizar o template instalado, pela CLI:

dotnet new --list

A palavra drapo utilizada para iniciar o projeto através da linha de comando a seguir é o nome contido na coluna "shortname".

Depois de instalar o template, basta iniciar o projeto, pela CLI:

dotnet new drapo