Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina

quinta-feira, 20 de setembro de 2007

Python é opção para desenvolvimento web

Desenvolvedores web giram em torno de PHP, ASP e Java, pelas muitas vantagens que oferecem. Mas há opções como Python, que oferece qualidades e está por trás de muitos sites. Conheça algumas delas.

Antes de começar, gostaria de deixar claro que não sou um desenvolvedor (ou programador, escolha o termo) na acepção mais purista da palavra. Sou na verdade um profissional de humanas que convive com computadores pessoais desde criança e no máximo um “desenvolvedor hobbysta”.

Hoje o que mais atrai os inúmeros novos desenvolvedores é o ambiente web. Muitos por pressão do mercado, muitos por verdadeira paixão pelos conceitos que a web representa e alguns por que só conheceram o mundo construído através de interfaces web.

Como todos os desenvolvedores web mais antigos, segui os caminhos do mercado e trabalhei com CGIs, ASP, PHP, desenvolvi projetos com JSP e até mesmo com WebClasses (conceito natimorto da Microsoft). De toda esta experiência o grande ensinamento é que desenvolvimento web significa, necessariamente, flexibilidade e agilidade, principalmente com relação a interfaces de usuário.

Não importa quão complexo seja o sistema ou a necessidade de integração, mas as alterações de layout, design, navegação devem ser feitas de forma rápida e ágil. É preciso entender que alterações deste tipo são essenciais para o negócio.

Sendo assim ficam claros os “porquês” da preferência da maioria dos desenvolvedores web por linguagens como ASP e PHP. Apesar de todo tipo de crítica, elas representam esta agilidade.

Obviamente existem aqueles que preferem a segurança e robustez à agilidade e escolhem, na maioria dos casos, alguma solução baseada em Java. O cenário é relativamente o mesmo há alguns anos, sendo assim podemos supor que os desenvolvedores, na média, enxerguem estas como as únicas opções “aceitas” para desenvolvimento web.

Pois é, não são.

Além de PHP, ASP e Java

Ainda em meados de 2000 ouvi falar de um tal de Zope e de uma linguagem de programação chamada Python. De início não levei muito a sério a opção, pois o mundo se dividia na tríade composta por PHP, soluções Microsoft e Java. Por que alguém racional se aventuraria por terras desconhecidas (ou terras pouco exploradas como Perl, Ruby e até mesmo Lisp)?

Basicamente, porque eles são inovadores. Vêem o que os outros demorarão meses ou até anos para perceber, e chegam lá primeiro. Python é uma linguagem madura, está por aí há um certo tempo (foi criada em 1991) e é utilizada em projetos web sérios (leia-se Google, e-Groups, …) ao menos desde 1996.

A pergunta então é: se projetos tão importantes foram desenvolvidos em Python, como esta linguagem não é tão conhecida ou divulgada como as três opções acima?

Uma simplificação da resposta poderia ser que nenhum gorila da tecnologia financia o marketing da linguagem. Não há empresas como Microsoft, Oracle, Sun ou IBM investindo para torná-la popular. Mas, como disse, seria uma simplificação, pois PHP está aí independentemente do marketing de grandes corporações. Há uma série de fatores que poderiam explicar esta falta de popularidade de Python como linguagem de programação, mas esta discussão seria longa demais para este momento.

Por outro lado os casos de sucesso de Python (e aplicações web escritas com ela) estão aí para provar que ela é uma das melhores escolhas para desenvolvedores que buscam robustez e produtividade, com facilidade de aprendizado, disponibilidade de módulos prontos para tarefas como conexão a sistemas legados, webservices, tratamento de imagem, integração com aplicativos de produtividade e com todo tipo de aplicações que você possa imaginar (o brinquedo já vem com as pilhas no pacote!).

Mas por que Python?

Você deve estar se perguntando então “Por que que eu, desenvolvedor de (coloque aqui sua linguagem favorita), deveria conhecer e utilizar Python em projetos web?”. Alguns argumentos:

  • é fácil de aprender e muito intuitiva
  • faz você ser muito produtivo - escreva menos linhas de código e tenha tempo livre para… escrever outras linhas de código ;-)
  • dificulta que você escreva códigos obscuros, impossíveis de serem mantidos
  • é multi-plataforma. Desde Mainframes até telefones celulares suportam a linguagem
  • mais robusta e segura que outras linguagens de script (como PHP)
  • mesmo sendo robusta e segura, não é tão burocrática quanto C ou Java
  • tem código aberto
  • muito importante: você conta com diversas opções para desenvolver suas aplicações

Opções? Quais opções?

Python conta hoje com ao menos quatro boas plataformas para desenvolvimento de aplicações web. Cada uma com suas características, mod_python, Django, TurboGears e Zope são escolhas seguras para qualquer desenvolvedor.

  • Mod_python é um projeto mantido pela Apache Foundation para suporte a linguagem Python como linguagem de script ao servidor Apache (assim como o mod_php ou o mod_perl)
  • Django é um framework de alto nível para desenvolvimento web, que tem como características a agilidade para o desenvolvimento de aplicações e foco no pragmatismo (não perca tempo onde não é preciso, não reescreva o mesmo código diversas vezes)
  • TurboGears é outro framework que foca, muito, em agilidade no desenvolvimento de aplicações, utilizando-se de templates e facilidades na implementação da integração com base de dados relacionais. TurboGears vem ganhando muitos fãs nos últimos anos, principalmente entre programadores que vêm de PHP ou ASP.
  • Zope é, entre estas opções, a mais conhecida e mais madura. O Zope é um servidor de aplicações (compare-o a um JBoss ou a um TomCat) que conta com uma base de dados orientada a objetos e está no mercado há pelo menos 10 anos (8 destes como software livre). Não é o ambiente mais fácil para se começar a desenvolver, mas com poucas horas de prática você já percebe a facilidade que ele proporciona. Hoje a aplicação mais conhecida escrita em Zope é um sistema de gerenciamento de conteúdo (CMS) chamado Plone, que é adotado em portais como IDGNow!, OAB/SP, Câmara dos Deputados, Portal da Presidência, Dicionário online Veja-Larousse, Free Software Foundation, entre outros.

Casos de Python no Brasil

São diversos os casos de utilização de Python em portais web no Brasil, citando alguns (divididos por segmento):

Neste momento, mais importante do que os casos de sucesso é a demanda que existe por profissionais que conheçam Python. Cidades como Brasília, São Paulo, Recife e Rio de Janeiro têm um volume maior de ofertas de emprego do que profissionais qualificados. Escolher Python, se qualificar como desenvolvedor Python é neste momento, garantia de empregabilidade.

Aprofunde

Veja os links abaixo, conheça as opções, desenvolva. Se você dominar o idioma inglês, veja este vídeo (cuidado, são mais de 300Mb) feito pela equipe de desenvolvimento web do Jet Propulsion Lab da NASA, e por fim, volte a se divertir escrevendo código para a web.

Para saber mais (em português):
[1] http://www.pythonbrasil.com.br
[2] http://www.tchezope.org
[3] http://www.oturbogears.org

Para saber mais (em inglês):
[1] http://www.python.org
[2] http://www.djangoproject.com/
[3] http://www.zope.org
[4] http://www.plone.org
[5] http://www.turbogears.org

Por Érico Andrei

Nenhum comentário:

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina