Múltiplas linguagens em um único site ASP.NET

Maio 23, 2008

O ASP.NET permite que usemos múltiplas linguagens em um único projeto web. Embora haja algumas contra-recomendações a respeito dessa prática, esta é mais uma daquelas coisas que é bom termos em mente, pois pode vir a ser útil algum dia. Principalmente para questões didáticas.

Tudo isso é possível porque o conteúdo da pasta especial App_Code é recompilado a cada alteração feita a um de seus arquivos, gerando um assembly que será carregado na memória do servidor. Como este assembly será gerado dinamicamente, podemos configurar a aplicação para usar um compilador diferente em um subdiretório dessa pasta.

Por exemplo, se temos um site feito em C#, podemos criar um subdiretório em App_Code onde ficarão nossas classes feitas em VB.NET.

App_Folder

Depois disso, basta configurar a aplicação para reconhecer esta subpasta como um diretório que contém classes a serem compiladas separadamente. Isto é feito através da tag <codeSubdirectories> do Web.Config:

 

 

E pronto! Depois desses dois passos simples, nossa aplicação já reconhece automaticamente as classes escritas em VB e em C# dentro de um único projeto. “Por debaixo dos panos” o ASP.NET vai realmente gerar duas DLLs quando o site for precompilado, mas o interessante é que para o desenvolvedor, tudo funciona como se os arquivos fossem escritos na mesma linguagem, por estarem incluídos no mesmo projeto, e darem suporte completo a Intellisense: 

Essa “feature” do ASP.NET 2.0 foi pouco divulgada, e muita gente acaba nem sabendo que ela existe. Como eu mencionei existem contra-indicações para se usar esta funcionalidade, principalmente quando se trata de projetos grandes. Ainda assim é interessante ter isso sempre na cabeça até para fins didáticos, quando se for falar (em suas células acadêmicas, palestras, etc) sobre o suporte a multi-linguagem na plataforma .NET ou sobre o modelo de compilação do ASP.NET, por exemplo.

 


Recomendações de livros

Maio 12, 2008

Esta semana, dei ouvidos ao meu espírito consumista investidor e resolvi comprar dois livros que valeram cada centavo:

Professional ASP.NET 3.5

Professional ASP.NET 3.5: O preço não está mais tão sensacional quanto o anunciado no blog do ScottGu mas ainda está em promoção no Amazon.com. Esse é o primeiro livro da série Professional (Programmer to Programmer) que vai trazer as novidades do ASP.NET 3.5. Ele tem recebido ótimas reviews desde que foi lançado em março. Assim que ele chegar vou poder compartilhar minha opinião.

ASP.NET 2.0 - Advanced Topics

ASP.NET 2.0 Advanced Topics: Este livro é altamente recomendado para desenvolvedores que, como eu, já trabalham com ASP.NET há algum tempo mas querem se aprofundar em seus aspectos técnicos. Ele traz muitos conhecimentos avançados, desde o funcionamento “por trás dos panos” dos processos do ASP.NET até a construção avançada de componentes e providers. Para ter uma idéia do rico conteúdo desse livro basta dar uma olhada no seu índice. Mesmo desenvolvedores experientes ficariam surpresos com a quantidade de conteúdo novo que pode ser aprendido com este livro. Recomendo!

Tenho certeza que o aprendizado que virá com esses livros ainda produzirá muitos posts por aqui :)

Até a próxima