Archive for novembro \04\UTC 2006

IronPython para ASP.net, mãos a obra !

4/11/2006

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.

ip01.png

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)

IronPython caminhando… a passos largos !

3/11/2006

Eu já estava pensando em escrever um post sobre IronPython há algum tempo, e com o empurrão que recebi hoje pela manhã, não tive dúvida, a hora é esta. 😉

Fui em uma reunião de uma consultoria que estou prestando sobre digitalização de imagens, estávamos discutindo métodos, ferramentas e bibliotecas para a implantação de uma rotina de digitalização em um software pré-existente e avaliando se faríamos em .Net (acessando via DCOM talvez) ou Win32, também discutindo sobre que linguagem utilizar se fosse .Net, e eu como sempre citei além de C#, Delphi e VB.Net, a Python, e um dos presentes na mesa (que até esta reunião eu não conhecia) citou IronPython.

Fiquei muito satisfeito em ver que mais pessoas estão avaliando o uso de IronPython como linguagem de desenvolvimento para .Net.

Ainda comentei rapidamente (para não desviar do assunto principal) que há poucos dias (acho que ontem) foi lançado oficialmente o suporte de IronPython para ASP.net com um plugin para o Microsoft Visual Studio (inclusive o Express). 😀

Segue abaixo alguns sites e blogs sobre IronPython:

Atualização: Quando me refiro ao Express, o certo seria dizer:
Microsoft Visual Web Developer 2005 Express Edition que é gratuito