Pregunta

¿Alguien tiene alguna experiencia directa (buena o mala) al utilizar Jython con Google App Engine?

¿Fue útil?

Solución

Para hacer la pregunta obvia: ¿Por qué querrías hacerlo? (C) Python es compatible de forma nativa con Google App Engine, y ahora es bastante maduro y está muy bien soportado.

Para responder a la pregunta original, sin embargo: no tengo experiencia personal, pero puedo ofrecerle una descripción general de cómo será:

La forma más fácil actualmente será usar el soporte de Jython para llamar a Java para usar el SDK de Java de App Engine. Esto significa que aunque escribirás Python, se parecerá mucho a Java, y tendrás que usar los documentos de Java, en lugar de Python.

Sin embargo, teóricamente es posible usar el SDK de Python en Jython en App Engine. El SDK es puro Python, y toda la interacción entre el SDK y el tiempo de ejecución se realiza mediante RPC a través del módulo google.appengine.api.apiproxy_stub_map. Java tiene una interfaz equivalente en la clase com.google.apphosting.api.ApiProxy: consulte el artículo en Unit Testing en GAE para obtener algunos detalles sobre cómo configurarlo.

Teniendo todo esto en cuenta, aquí puedes ver cómo puedes usar la API de Python en Jython:

  1. Escriba un apiproxy_stub de Python que simplemente tome todas las llamadas de la API y las envíe a la clase com.google.apphosting.api.ApiProxy.
  2. Agrupe las partes relevantes del SDK de Python con su aplicación Jython (desafortunadamente, la mayoría de ellas).
  3. En su código de inicialización, instale la subclase apiproxy_stub que escribió como controlador para todos los servicios relevantes: datastore_v3, memcache, usuario, urlfetch e imágenes.

Si termina haciendo esto, documéntelo y libere el código; conozco al menos a otro usuario que podría estar interesado. :)

Otros consejos

Primero, hay personas que afirman que Jython, Querces y JRuby pueden vencer a sus contrapartes nativas cuando se trata de velocidad, utilizando el poder de la JVM.

Sin embargo, hay cierta información conflictiva sobre la velocidad de Jython. Un usuario de Stack Overflow afirma que Jython es el más lento de muchos de los idiomas involucrados en una prueba de velocidad que realizó .

Ninguna de las preguntas de rendimiento realmente involucra a App Engine, solo la JVM en general.

En este artículo publicado por un comentarista de Jython , Alan Kennedy afirma que Jython en App Engine combina la naturaleza de rápido desarrollo de Python con las abundantes bibliotecas disponibles en la JVM. Jython es Python, pero es Python que tiene acceso directo a las clases de Java.

Tengo algo de experiencia con esto con Querces PHP. Puse el complemento JQuery Form Builder en Google App Engine. Es código PHP, pero ese PHP puede acceder directamente a objetos DAO que fueron escritos en Java. Del mismo modo, Jython puede hacer lo mismo.

Alan Kennedy también se reunió con un desafío emitido por Nick Johnson mediante el cual demuestra algo que se puede hacer con Jython en App Engine que de otra manera sería difícil de lograr en Python puro, transformaciones XSLT. Responde a la pregunta de huelga en la respuesta de Nick: ¿Por qué querrías hacerlo?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top