Projetos: ASP Layout


Olá pessoas ... e bots.

Diferentemente do último projeto que trouxe no blog, esse não implementa um recurso na linguagem que é nativo em outras, invés disso traz uma utilidade bem adequada para projetos web: um Mecanismo de Layout inspirado no ASP.NET MVC - porém bem mais simples.

Dependência

Essa biblioteca é construída sobre outro projeto meu, ASP Dynamic Include - por acaso o último que trouxe no blog.
Quase toda a funcionalidade do Mecanismo de Layout depende de Includes Dinâmicos, por isso a versão padrão do projeto já traz junto o ASP Dynamic Include.

Exemplo prático

Fica bem fácil de ver como a biblioteca funciona com essa página de teste chamando a parte visual em outro arquivo: Repare que isolamos todo o HTML em um arquivo separado, que num projeto real estaria dentro da pasta Views, mantendo só configurações e lógica no arquivo TestPage.asp. E que esse HTML contém apenas o conteúdo da página.

Ao executar TestPage.asp, a biblioteca automaticamente irá usar seu template Html padrão para gerar uma saída em HTML5, inserindo o conteúdo da página em uma estrutura HTML definida no template. Você pode facilmente configurar qual template deve ser usado caso queira.

Coleções e métodos

O projeto algumas coleções bem úteis para desenvolvedores, sejam syntax-suggars como GET_ ou POST_ (imitando nomes do PHP) ou dicionários para armazenar dados de Layout (ViewData) e dados que o desenvolvedor bem entender (ViewBag).
Ainda são trazidos métodos para adicionar scripts, eventos e várias opções de configuração - todas usando a coleção de dados de Layout (ViewData) manter um padrão. Como citado no exemplo anterior, também é trazido um template HTML padrão para agilizar o desenvolvimento de sistemas com essa biblioteca.

Estendendo a biblioteca

Devido à natureza simples desse projeto é muito fácil levá-lo além do escopo original, adicionando novas funcionalidades ou alterando seu funcionamento. Há quatro formas simples de fazer isso sem sequer mexer no código da biblioteca:
  • Alterar os valores de ViewData
    Adicione chaves personalizadas para usar em seus templates
  • Sobrescrever as funções fornecidas
    Basta declarar novas funções com mesmo nome
  • Incluir essa biblioteca num script de Layot personalizado
  • Todos os anteriores

Repositório

Esse projeto está disponível no meu portfólio no GitHub, em duas edições:
  • ASP Layout
    Versão completa, já traz a dependência ASP Dynamic Include
  • ASP Layout Fit
    Versão mais levem, sem a dependência ASP Dynamic Include
Sendo um projeto opensource com licença LGPL 3 você pode usá-lo à vontade, seja para fins educativos, comerciais ou qualquer outro.

E se quiser fazer alguma contribuição a este desenvolvedor independente, fique à vontade. :)

Comentários