def appEngine(google):

Posted in Google, Programação, Python on September 2nd, 2008 by LeoLuz

google_appengineEm meados de abril de 2008 o google lançou seu engine para a construção de aplicações web chamado de Google App Engine (GAE). A princípio pode parecer estranho e confesso que naquela época não dei muita bola para essa solução por que não entendi direito do que se tratava. A frase inicial do site diz que você pode desenvolver aplicações web e rodá-las utilizando a infra-estrutura do Google. Essa frase não esclarece muita coisa e também não despertou muito meu interesse naquela ocasião.

Acontece que ultimamente ando estudando Python e me deparei com o GAE novamente, só que agora com uma frase mais interessante que li: “A popularidade do Python vem crescendo radicalmente desde o lançamento oficial do Google App Engine”. Então resolvi dar uma olhada mais de perto e entender do que se tratava tudo aquilo e foi ai que eu me surpreendi!

Imagine poder desenvolver uma aplicação web, abstraindo totalmente as etapas “chatas” de infra-estrutura como configurar Application Server, Banco de Dados, Sistema Operacional, FTP, SCM, Wiki, Build, etc, etc… e investir seu tempo apenas desenvolvendo a aplicação em si..

Você pode até falar:
E quem disse que eu acho essas atividade “chatas”?!

De fato, eu mesmo não acho! Muito pelo contrario, já cansei de virar noite em casa configurando meu servidor CentOS com um monte de “tranqueiras” legais que acho pela net simplesmente pelo fato gostar!
Vou até citar algumas de minhas investidas:

  • JBoss
  • Glassfish
  • Oracle XE
  • mySQL
  • PostGre
  • Samba
  • Subversion
  • Maven
  • Hudson
  • Artifactory
  • TWiki

etc etc…

Durante todo esse esforço o objetivo em mente era o mesmo: Construir e disponibilizar uma aplicação Web! Não sabia direito o que ou qual, mas queria fazer alguma coisa.

Conclusão: A tal aplicação nunca saiu!!  Quando finalmente eu tinha toda a infra-estrutura montada e devidamente “tunada”, das duas, uma:

  1. Sem querer, pesquiso mais um pouco e acho uma outra solução muito melhor do que a que eu tinha acabado de configurar !! Você acha que vou ficar andando de fusquinha quando posso apavorar com uma Ferrari!?! Nem a pau! vou montar minha Ferrari! (Talvez essa seja uma vantagem da plataforma .Net: Eles só podem andar de gol bolinha!! hahahh)
  2. Minhas energias já estavam saturadas. Precisava dormir e trabalhar no dia seguinte afinal meu time de Scrum estava me esperando. :)

Será que isso só aconteceu comigo? Na real fiz tudo isso, e faço até hoje, por pura diversão, que no mínimo me agrega algum conhecimento. Porém, há quem diga que foi tudo uma perda de tempo! Até entendo o ponto de vista deles afinal não fui muito eficaz para concluir meu objetivo principal que era construir uma aplicação!

O Google App Engine se propõe resolver exatamente esse cenário! Para isso eles disponibilizaram uma solução que nada mais é que a junção de uma API com servidores de aplicação com um banco de dados. Dessa forma você desenvolve sua aplicação e faz um deploy na infra-estrutura do google e utiliza todos os seus recursos interessantes (Agora ficou mais clara a frase lá do inicio!).

A API abstrai muitos problemas como administração de base de dados por exemplo. Utilizando a Datastore API você define suas entidades e o engine do Google se encarrega de criar suas tabelas correspondentes no banco deles assim como escalar sua base no caso de um acesso pesado. Entre as APIs estão mais algumas funcionalidades interessantes como Mail API, Users API, Images API entre outras. Vale a pena dar uma olhada nos docs.

Para testar eu fiz Getting Started e depois fiz um deploy para o Google. Trata-se de um guestbook ridículo, só que mais ridículo ainda foi o tempo que eu gastei para fazer a aplicação e disponibilizá-la.

O código ficou assim:

A API está disponível a princípio apenas em Python 2.5 mas para quem usa Linux ou MacOS ele já acompanha o Sistema Operacional. Quem usa Windows tem que baixar o Python e executar o famoso: Next, Next, OK! O Google já prometeu a outras comunidades o suporte da API para outras linguagens. Até lá apenas a galera do Python pode brincar. Você não sabe Python?! Faça como eu, compre um livro e comece a estudar. O que não faltam também são ótimos materiais online. Pesquise que tenho certeza que você acha fácil.

Estou longe de afirmar que GAE é a bala de prata do desenvolvimento web! O Google disponibiliza apenas 500mb de dados para as suas aplicações. Caso queira mais, vai ter que pagar por isso. E se você está pensando em mergulhar de cabeça nessa solução vale a pena ler esses dois posts de Jonathan e Marko que pesquizaram bastante o GAE e mostram alguns pontos negativos.

De qualquer forma, O GAE abre horizontes para outras possibilidades não vistas até então, e como toda boa vitrine ainda vai dar o que falar!

[]‘s e até a próxima!

-l30-

Tags: ,

A polêmica do desenvolvimento Web

Posted in Java, Programação, Python on August 25th, 2008 by LeoLuz

Polêmica“. Sem dúvida uma palavra que me interessa muito. Digo interessa por que assuntos polêmicos geralmente são intrigantes. Sempre que você leitor se deparar com algum assunto polêmico, provavelmente vai tomar algum partido. Isso ocorre por que você certamente terá argumentos racionais ou até mesmo emocionais para acreditar que isso ou aquilo é certo ou não!

No mundo tecnológico temas polêmicos não faltam. Como por exemplo:
Qual é o melhor SO (Windows “afff..”, Linux, MacOS)?
Qual é o melhor browser (IE :(, Opera, Firefox)?
Qual é a melhor distribuição de Linux (Ubuntu, Slackware, Redhat, Suse, Kurumin, Knoppix, Fedora, CentOS, etc…..) ?

Pois é.. Estava navegando por aí e achei um vídeo que me chamou muito atenção por alguns motivos:

  1. Trazer à tona um tema polêmico.
  2. Linguagem simples e muito didática.
  3. Quem fez o vídeo foi um tal de Sean Kelly que trabalha na NASA. A mesma disponibiliza o arquivo para download em seus servidores. :)
  4. Ele não tira nenhuma conclusão. Quem decide que “lado” ficar é você, porém ele te mostra argumentos concretos para que você o faça!

Você deve estar se perguntando:

Mas que p#$@$! de tema polêmico é esse??

Resposta:

Desenvolvimento Web!

Pergunta:

Tá!! Mas e daí?!

Resposta:

Vamos supor que você seja um desenvolvedor Java ou .NET (que nesse contexto na MINHA opinião estão igualados. Calma! Você vai entender porque.).. Você nunca achou que tenha algo de errado no jeito que você desenvolve aplicativos web?! Não?? Então definitivamente esse vídeo não é pra você. Feche essa aba do browser e volte para a seu site de piadas.
Ah!! Você também acha que tenha algo de errado? Por acaso pesquisou o que está ocorrendo em outros cenários de desenvolvimento como Ruby ou Python?! Pois é.. Foi exatamente nesse momento que eu achei esse vídeo:

Rails vs. Zope vs. Django vs. J2EE vs. C++(?!?!)

Título: Better Web Application Development
Tamanho: 316.8 MB (332169335 bytes)
Ano: 2006 (Porém ainda atual!)
Duração: 36:09
Formato: mov
Dimensão: 640 x 480

Caso você não esteja disposto a baixar 300mb ou se sua conexão for muito lenta para isso, aqui você encontra uma versão mais leve, porém com uma qualidade muito inferior.

Obs.: Espero que você entenda inglês se não vai perder..

[ ]‘s
-l30-

Tags: , ,