Hoje fiz meu primeiro teste com IronPython para ASP.net, e espero ajudar quem mais tiver vontade de sair do basicão (tomara que não me processem pelo plágio 😉 ) C#, Java, JSP, ASP, PHP, etc. Não que estas linguagens/ambientes sejam ruins, apenas Python que é muito bom ! 😀
Requisitos:
Meu teste:
Tendo o Framework .Net 2.0 instalado, ainda é necessário instalar o Visual Web Developer (3Mb do setup + 40Mb de download sem os opcionais) e o IronPython for ASP.net (12Mb), este último ainda “sugeriu” um patch de correção no .Net 2.0 que ele mesmo instalou após a minha confirmação (acredito que o patch era um requisito).
Após a conclusão da instalação fui no Visual Web Developer e solicitei um novo Web Site e neste dialogo informei que a linguagem seria IronPython.

Ele me trouxe um esqueleto básico e nele escrevi o seguinte código para teste (como não consegui colocar no post com um formato bacana resolvi colocar o código em um link a parte):
É obvio que boa parte do Default.aspx pode ser gerado pelo próprio design do Visual Web Developer.
Pronto, já é possÃvel rodar a aplicação e ver o resultado.
Observação: usuário e senha estão fixos, teste e 123 conforme é possÃvel ver no método Authenticate.
Problemas encontrados:
- Editor genérico: ainda não está totalmente adaptado ao código python, o maior exemplo disto é quando terminamos o código de um if, pressionamos Enter seguido de um Backspace, em qualquer editor preparado para Python ele retornaria até a coluna em que começamos o if, no Visual Web Developer ele volta apenas um caracter;
- Auto-complete pobre: basicamente o auto-complete só funciona com as classes e funções definidas no próprio modulo e as construções básicas e builtins da Python;
- Herança do aspx (inherits): Pelo que eu li existe este recurso mas ainda não consegui fazer funcionar-lo (aceito sugestões); 😉
- Web-services: ainda não possui suporte;
- Acentuação: toda a saÃda vindo do código python está vindo sem acento neste teste, fiz várias experiências e ainda não encontrei a solução.
TODO:
- Estudar o problema da acentuação
- Tentar rodar este exemplo no Mono
- Descobri a questão do inherits
Conclusões:
O suporte do IronPython para ASP.net me parece bem promissor considerando que este ainda é um CTP (Community Technology Preview) Release. O suporte para ASP.net já é funcional, a leitura do White Paper (leitura recomendada) me mostrou o trabalho que foi necessário fazer para que o ASP.net suportasse linguagens dinâmicas (por enquanto apenas IronPython).
Afinal, está chegando a hora das linguagens dinâmicas e se a Microsoft não quiser ficar de fora terá que aperfeiçoar ainda mais o seu framework (assim como a Sun está fazendo com o dela) para melhor acolher estas linguagens.
A comunidade IronPython começou a se formar há pouco tempo, porém, já pipocam alguns artigos na internet, numericamente são poucos mas freqüentes.
Me perdoem pelo enorme post, mas espero que tenha valido a pena, este é o meu primeiro post neste estilo, aceito crÃticas e sugestões. Valeu !
Atualização: Tive um problema com a imagem, mas já está resolvido !
Atualização 2: Código fonte agora está em um link com sintaxe colorida (powered by VIM)