Criando um Ambiente de desenvolvimento com GAE

banner-eclipse-python-gae

Em Abril, participei de um projeto onde precisamos montar um ambiente de trabalho bem bacana, envolvendo tecnologia de Cloud Computing, como o Google App Engine (GAE). Não é uma tarefa difícil, na verdade, relativamente fácil de fazer, mas resolvi documentar aqui para diminuir o trabalho ainda mais de pessoas que procuram uma solução para iniciar seus projetos, ou de quem acabou de pegar uma máquina zerada e quer montar um cockpit de desenvolvimento.

A seguir, a breve lista do que vamos precisar:

Claro, você pode alternar versões ou usar apenas o Aptana Studio invés do Eclipse, mas eu optei pelo Eclipse para poder usar em outras situações.

Python e GAE

Vamos lançar as bases de nosso ambiente. Começando pela linguagem de nossa escolha, o Python, que dependendo da distruição de seu sistema operacional, já estará instalado (O Ubuntu, por exemplo, já vem com python pronto pra uso). Se quiser testar se já está pronto, abra uma linha de comando (shell) e execute o comando:

thomas@thlopes:~$ python

Você deverá ter uma resposta como esta, ou bem parecida, no caso do windows:

Python 2.5.2 (r252:60911, Jan 20 2010, 23:16:55)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Significa que a linguagem já está pronta para uso no seu sistema. Caso não tenha o programa instalado, basta baixar em http://www.python.org/download/, e instalar em sua máquina. No Windows, será necessário configurar a variável de Ambiente Path para que o executável do Python possa ser executado de qualquer localização no sistema.

Nosso próximo passo é instalar o Google App Engine SDK. Primeiramente, baixe os pacotes de acordo com sua distribuição em http://code.google.com/appengine/downloads.html. No Linux, basta você descompactar numa pasta onde você recorde futuramente (geralmente, crio uma pasta geral para arquivos de libraries diversas que utilizo em diversos projetos: /home/thomas/workspaces/libraries). Depois de extraído, você terá uma estrutura como esta:

tutorial-ambiente-figura-01

Para assegurar que o GAE está pronto para funcionar em sua máquina, vamos rodar um exemplo que vem no próprio pacote. Ao ser indagado se o Server deve procurar por updates, responda com Y/N:

thomas@thlopes:~$ cd workspace/libraries/google_appengine/
thomas@thlopes:~/workspace/libraries/google_appengine$ ./dev_appserver.py demos/guestbook/.
INFO     2010-05-03 14:23:59,698 appengine_rpc.py:159] Server: appengine.google.com
Allow dev_appserver to check for updates on startup? (Y/n): Y

Depois de checar pelos updates ele vai mostrar o seguinte:

INFO     2010-05-03 14:25:13,339 dev_appserver_main.py:407] Running application guestbook on port 8080: http://localhost:8080

Isso quer dizer que o servidor de testes está pronto para rodar em http://localhost:8080. Não feche esse terminal, pois isso fará com que o servidor de testes seja fechado também. Copie e cole no seu browser:

tutorial-ambiente-figura-02 tutorial-ambiente-figura-03

Você verá um formulário, poste alguma coisa para testar o funcionamento. Se verificar na janela de terminal, verá que ele mostra um output do log do mesmo, para debug. Pronto, segu GAE está pronto para ser usado. Há uma pasta chamada new_project_template que mostra os arquivos básicos que todo app no GAE deve conter. Você também pode seguir os tutoriais da própria documentação para se situar melhor com ese SDK.

Eclipse IDE/SDK

Agora vamos para o próximo passo, instalar nosso Eclipse. Aqui praticamente não há segredos: Tanto No Linux quanto no Windows, você pode baixar um pacote que já vem com o Eclipse pronto para uso, bastando descompactar em alguma pasta. No Linux você ainda tem a opção de instalar via gerenciador de pacotes, caso prefira. Mas eu recomendo baixar o último pacote no site de downloads (/http://www.eclipse.org/downloads/), pois geralmente as versões nos repositórios padrão são um tanto quanto defasadas. Descompacte tudo numa pasta de sua preferência, por exemplo, /home/thomas/eclipse. Após descompactado, você pode criar atalhos para a área de trabalho ou onde quiser (inclusive, um ícone já vem no pacote para Linux, para  você customizar o link). Pronto, você tem uma suíte robusta e pronta para desenvolver diversos tipos de projetos, em uma infinidade de linguagens. Eclipse é uma suíte modular, com muitos plugins desenvolvidos, de execelente qualidade, inclusive, um deles é o nosso próximo passo. Execute o Eclipse. Ao executá-lo, ele vai perguntar onde você quer definir seu workspace padrão. O meu, gosto de manter assim: /home/thomas/workspace, mas você pode escolher qualquer lugar de preferência. Só pra situar os que nunca usaram o Eclipse: Workspace é o lugar onde você vai criar as pastas dos seus projetos. Como eu trabalho com diversos níveis de projetos (trabalho, pessoal, estudos, etc), eu crio subníveis, por exemplo: /home/thomas/wokspaces/work  e /home/thomas/workspaces/personal, etc… Escolha a vontade!

tutorial-ambiente-figura-04-Eclipse-Wokspace

PyDev

Estamos quase terminando, agora vamos instalar um plugin que vai facilitar nosso trabalho com tudo isso que instalamos e vamos utilizar ao longo de nosso dia-a-dia de trabalho. PyDev é o plugin que você precisa para desenvolver projetos em Python, sejam eles web ou não. Ele já vem com facilitadores para trabalhar com projetos em Django também. Para obter  mesmo, basta visitar http://www.pydev.org/download.html, onde você pode fazer o download do mesmo, ou optar pela instalação mais fácil e rápida. Procure por Quick Install na página, e encontrarás as instruções para instalar como plugin pelo próprio Eclipse:

Vá para o  update manager (Menu Help > Install New Software), e adicione a seguinte  fonte: http://pydev.org/updates

tutorial-ambiente-figura-05-PyDev-no-Eclipse

Depois é só seguir os passos na tela, instalando apenas a primeira opção (PyDev > PyDev for Eclipse). Depois de instalar tudo, reinicie o Eclipse. Se você brincar um pouco nele agora verá que já temos novas opções de novos projetos, perspectivas e uma série de outras coisas interessantes.

tutorial-ambiente-figura-06-pydev-projects

SVN com Subclipse

Continuando, vamos instalar um plugin que vai nos ajudar com as tarefas de SVN. Não vamos explicar muito sobre SVN, vamos supor que você leitor, já está familiarizado com essa ferramenta de versionamento. Porém, caso não, há diversos tutoriais na internet onde você pode aprender um pouco mais sobre essa ferramenta. Voltando, basta entrar no site para encontrar referência de como instalar o Subclipse no seu Eclipse: http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA . Na página, procure pelo cabeçalho Installation Instructions, e você verá o passo-a-passo básico de como instalar o plugin. Para a versão que instalamos de Eclipse, o Subclipse 1.6.x é o correto. Expanda o itens, e marque os sub-itens listados abaixo (apenas os required):

  • Subclipse (Required)
  • Subversion Client Adapter (Required)
  • Subversion JavaHL Native Library Adapter (Required)

Depois de instalar tudo, reinicie o Eclipse novamente. Se você estiver no Linux/Gnome, e ver uma mensagem alertando sobre um bug relacionado ao Keyring, apenas dê Ok e prossiga. Vamos verificar se está tudo ok, Indo no menu File > New… > Project , depois expanda o item SVN, e cheque se há o item Checkout Projects from SVN.

tutorial-ambiente-figura-07-subclipse-new-project

Se você já tiver algum projeto no SVN, agora é a hora de tentar puxá-lo para sua máquina. Caso ocorra um erro informando que a biblioteca JavaHL não está instalada corretamente, instale o seguinte pacote via gerenciador do sistema (Linix/Gnome).

thomas@thlopes:~$ sudo apt-get install libsvn-java

Caso tenha esse mesmo problema em outros sistemas, verifique nesse Link:  http://subclipse.tigris.org/wiki/JavaHL e nese outro aqui: http://islandlinux.org/howto/installing-javahl-subclipseeclipse-ubuntu. Particularmente, só notei esse problema na versão 8.10 do Ubuntu. Depois de garantir que o Subclipse está instalado corretamente, podemos prosseguir com a parte final de nosso tutorial.

Aptana Studio

Instalar o Apta Studio para Eclipse agora vai ser fácil, mesmo processo de instalar os plugins acima, porém um pouco mais demorado pelo tamanho desse plugin que vai lhe permitir usar alguns facilitadores para desenvolvimento Web. Acesse http://www.aptana.org/studio/plugin e obtenha o endereço para configurar uma nova fonte de plugins para o Eclipse: http://download.aptana.org/tools/studio/plugin/install/studio. Basta seguir as instruções do próprio site, mas resumindo, adicione como fonte e selecione o único item que vai surgir para instalar: Aptana Studio. Prossiga os passos como nas instalações anteriores. Talvez demore um pouco, dependendo de sua conexão. Agora é a hora de levantar da cadeira, dar aquela espreguiçada, tomar um cafezinho, e se preparar para já começar a desenvolver!

Após esse passo, você já terá um Eclipse bem diferente do padrão, com diversas opções, pronto para trabalhar com o Google App Engine, e com muitos recursos para facilitar o desenvolvimento Web. Agora, é só fazer bom proveito desse canhão!!!

Criando um projeto

Para começar, é muito fácil. Basta criar um novo projeto em File > New > Project… > PyDev > PyDev Google App Engine Project, informar os parâmetros que ele mesmo vai pedir, para linkar a biblioteca do Google App Egine, e pronto, seu projeto estará pronto para ser trabalhado.

tutorial-ambiente-figura-08-novo-projeto

Para rodar sua versão local e fazer os testes/debug, basta configurar o projeto para rodar como uma aplicação GAE pelo próprio PyDev. Clique com o botão direito sobre o Projeto no Package explorer, selecione Run As > PyDev: Google App Run (Se não aparecer sobre o projeto, tente sobre a pasta src do mesmo). Pronto, seu projeto vai estar rodando no http://localhost:8080/, igual quando rodamos com a linha de comando mais acima.

tutorial-ambiente-figura-09-pydev-gae-run

Mãos a obra!

É isso pessoal, já temos nosso ambiente pronto para arregaçar as mangas e começar a codificar! Em breve mando mais dicas de como personalizar o ambiente e turbiná-lo para outros tipos de projetos! Agradecimentos ao Maurício Lima e todo o pessoal da Crowds and Clouds!

11 ideias sobre “Criando um Ambiente de desenvolvimento com GAE

  1. Pingback: Tweets that mention Criando um Ambiente de desenvolvimento com GAE | THLopes -- Topsy.com

  2. O site http://www.compramaluca.com foi desenvolvido no Google App Engine pois exigia muito desempenho do server. Eu participei do dev e posso dizer que é GAE é até simples, mas tem muitos “poréns”. Ele não é uma hospedagem comum, além de várias peculiaridades do db (que não é relacional), as entidades e manipulação de índices.
    Migrar para o GAE vai exigir do programador um pensamento em prol do desempenho e da escalabilidade.

  3. outro dia eu tentei utilizar esse recurso, tinha que mandar um numero de telefone, já que uma das etapas era necessario uar um codigo que viria por sms, até hoje…

  4. Parabéns pelo artigo camarada, muito bom. Acho que só faltou agora uma segunda parte mostrando como seria a publicação do projeto, por exemplo, no google. ;D

    Abraços e parabéns mais uma vez!

    • Eu utilizei a versão 2.6 do python no Ubuntu 9.10, sem problemas. Mas realmente, alguns recursos do GAE são baseados no 2.5. Há como ter os dois na mesma máquina, e você pode configurar múltiplos interpretadores no Eclipse.

  5. Otimo artigo, muito útil.
    Tive alguns problemas para instalar os plugins no eclipse galileo junto ao ubuntu 10.04. nos detalhes do erro você encontra uma mensagem “The artifact file for osgi.bundle,org.eclipse.cvs,1.0.400.v201002111343 was not found.” e resolvi o problema instalando um pacote pde do eclipse com o comando “sudo apt-get install eclipse-pde” no shell. Espero que essa informação seja útil para todos. abraço.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>