23

He estado siguiendo las últimas novedades con JavaScript del lado del servidor, especialmente Node.js, y preguntándome si existe alguna posibilidad de utilizar dicho enfoque para desarrollar una aplicación web de Google App Engine, ya sea por separado o en combinación con Python o Java?¿Es posible desarrollar una aplicación web de Google App Engine utilizando Node.js o algún otro enfoque de JavaScript del lado del servidor?

+2

No me sorprendería en absoluto para ver Google proporcionar un tiempo de ejecución basada en V8 de App Engine, pero no me gustaría pensar que Node.JS correría en él, como señala Robert en su respuesta a continuación. Las manzanas generalmente no crecen en naranjos. –

Respuesta

19

node.js utiliza un modelo de bucle de eventos que realmente no encaja con el diseño actual de App Engine.

Sin embargo, hay varios proyectos que traen JavaScript a App Engine. Consulte App Engine issue 35 para leer sobre algunas de las soluciones. Los aspectos más destacados son: Rhino, Rhino For Webapps, si desea ver Python AppengineJS. También he escuchado que RingoJS valdría la pena investigar.

+5

Buena respuesta, Robert. Solo me gustaría añadir que AppEngine Issue # 35 (http://code.google.com/p/googleappengine/issues/detail?id=35) está lleno de palpitaciones de lujuria y suplica a Google que implemente el runtine de V8. /Node.JS para App Engine. La prioridad es 'Medio'. No sé sobre Google, pero donde trabajo, una prioridad de Medio significa, "Su solicitud es reconocida y será ignorada". Vale la pena señalar que ninguno de los comentarios sobre el tema aborda el excelente punto de Robert de que existe un desajuste de impedancia entre el ciclo de eventos de Node.js y la orientación de solicitud de AppEngine. –

+0

¿qué pasa con el nodo upcomming.jar de nashorn? –

+0

parece que AppengineJS.org está extinto. –

2

Tornado puede ejecutarse en el motor de aplicación y es similar a node.js pero usando python, y tiene un buen enfoque de rendimiento también. Pero existen limitaciones con el uso del tornado en el motor de la aplicación que pueden frustrar el objetivo de usarlo para su proyecto. Ver tornado en github para obtener más información Utilizo ambos pero node.js con connect middelware y express.js para hacer que el nodo sea más fácil de usar para aplicaciones web simples.

1

Ahora, la mejor opción es utilizar Google Compute Engine y almacén de datos>link here

Puede utilizar Google Compute Engine para alojar sus Node.js aplicación y el uso de google-api-nodejs -client para conectarse al almacén de datos:

  1. Es necesario crear un proyecto en Google API Console, y activar Compute Engine servicio para que
  2. Tiene que activar Google Cloud Datastore API (ver enlace anterior)
  3. Es necesario configurar el conjunto de datos-id (mismo identificador que el proyecto de Cloud ID de Google).
  4. Debe estar conectado a una instancia de Compute Engine con el almacén de datos y la información de usuario. Ámbitos de correo electrónico (el soporte node.js para las cuentas de servicio basadas en certificados aún no se ha implementado).
  5. Necesita un entorno node.js en funcionamiento en su máquina Compute Engine.
  6. instalación NPM google-api-nodejs-cliente de la administración de la herramienta de línea de comandos

y que debe estar listo para ir

+1

Debe agregar más información a su respuesta. En este momento es solo un enlace. si ese enlace desaparece, la respuesta será inútil. –

+1

Si bien este enlace puede responder a la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. – singles

Cuestiones relacionadas