Pergunta

Alguém tem alguma experiência direta (bom ou mau) usando Jython com o Google App Engine?

Foi útil?

Solução

Para fazer a pergunta óbvia: Por que você iria querer? (C) Python é suportado nativamente pelo Google App Engine, e agora está bastante maduro e muito bem suportado.

Para responder à pergunta original, porém: eu não tenho experiência pessoal, mas posso lhe dar uma visão geral do que vai ser como:

A maneira mais fácil atualmente será usar o apoio de Jython para pôr em Java para usar o App Engine Java SDK. Isto significa que embora você estará escrevendo Python, ele vai parecer muito com Java, e você terá que usar os docs Java, ao invés do Python.

É, no entanto, teoricamente possível usar o Python SDK em Jython no App Engine. O SDK é puro Python, e toda a interacção entre o SDK e o tempo de execução é feita por meio de RPC embora o módulo google.appengine.api.apiproxy_stub_map. Java tem uma interface equivalente na classe com.google.apphosting.api.ApiProxy - veja o artigo sobre Testes Unitários no GAE para alguns detalhes sobre como configurá-lo.

Por tudo isto, aqui está como você pode usar a API Python em Jython:

  1. Escrever um apiproxy_stub Python que simplesmente toma todas as chamadas de API e os envia para a classe com.google.apphosting.api.ApiProxy.
  2. Bundle as partes relevantes do Python SDK com seu aplicativo Jython (que é mais do mesmo, infelizmente).
  3. No seu código de inicialização, instale a subclasse apiproxy_stub você escreveu como o manipulador para todos os serviços relevantes -. Datastore_v3, memcache, usuário, UrlFetch e imagens

Se você acabar fazendo isso, por favor, documentá-lo e liberar o código - Eu sei de pelo menos um outro usuário que estaria interessado. :)

Outras dicas

Em primeiro lugar, há pessoas que afirmam que Jython, Querces e JRuby pode bater seus colegas nativos quando se trata de velocidade, utilizando o poder do JVM.

No entanto, há algumas informações conflitantes sobre a velocidade do Jython. reclamações de usuários Um estouro de pilha que Jython é o mais lento de muitas das línguas envolvidas em um teste de velocidade, ele conduziu .

Nenhuma das questões de desempenho realmente envolvem App Engine, apenas o JVM em geral.

Na este artigo postado por um committer Jython , afirma Alan Kennedy que Jython no App Engine combina a natureza-desenvolvimento rápido do Python com as bibliotecas abundantes disponíveis na JVM. Jython é Python, mas é Python que tem acesso directo à classes Java.

Eu tenho alguma experiência com isso com Querces PHP. Eu portado o plug-in para o Google App Engine JQuery Form Builder. É o código PHP, mas que o PHP é capaz de acessar diretamente objetos DAO que foram escritos em Java. Da mesma forma, Jython é capaz de fazer o mesmo.

Alan Kennedy também se reuniu com um desafio lançado pelo Nick Johnson pelo qual ele demonstra algo que pode ser feito com Jython no App Engine que de outra forma seria difícil de realizar em puro Python, transformações XSLT. Ele responde a greve-through questão na resposta de Nick:? Por que você quer

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top