Pregunta

Yo entiendo que lo que un hilo de marco (Rails, Django, Symfony2, ...).Y entiendo lo que es un evento impulsado por marco (Node.js, eventmachine hace, Trenzado, ...) y por qué es ideal para vivir, chat, velocidad, ... además no parecen causar problemas para el uso normal de los casos.Así:

  • ¿Cuáles son los inconvenientes de evento impulsado por marcos?
  • Cuando debo yo prefiero Rieles para Node.js?
  • ¿Por qué no todos los nuevos servidores web escrito con eventmachine hace, Torcido, o Node.js?
  • Será famoso frameworks como Django o Rieles de convertirse en event-driven o morir?
¿Fue útil?

Solución

Así que ¿dónde están los inconvenientes de evento impulsado por marcos?

  1. La familiaridad. Porque basadas en eventos de la programación web es tan diferente, va a ser un tiempo antes de que los programadores se sienta cómodo con él.Cuando se trabaja en un plazo, es más fácil de usar lo que sabes que funciona.
  2. Soporte de la biblioteca. Nodo tiene un increíble número de módulos, pero tiene un largo camino por recorrer para ponerse al día con Ruby y Python. Actualización: Nodo tiene ahora más publicado de módulos de Python o Ruby.
  3. De implementación. El personal de TI se utiliza para el roscado de los marcos.Para tomar ventaja de event-driven marcos, usted querrá ser asincrónico de arriba a abajo.Ahora que se puede desarrollar en Node.js pero va a ser capaz de implementar de manera eficaz, o se tiene que administrar sus propios servidores?
  4. Infundadas preocupaciones. Cosas que parecen problemas, pero no son realmente:
    • La programación dirigida por eventos es malo para el uso intensivo de la CPU apps:La razón es que un uso intensivo de la CPU de cálculo podría bloquear el servidor.Esto es estrictamente cierto, pero en la práctica, es superado por el desove de otro proceso y tratarla como I/O, por ejemplo, mediante el uso del Nodo child_process.exec.
    • La programación dirigida por eventos es sólo para las aplicaciones que necesitan un alto nivel de concurrencia:La razón aquí es que la programación dirigida por eventos es "más difícil" que los tradicionales de la aplicación web de la programación, así que no vale la pena hacer a menos que usted tiene una buena razón para hacerlo.Yo personalmente no creo que este es el caso—programación orientada a eventos no es más difícil, pero es muy diferentes.En algún punto, una masa crítica de programadores familiarizados con el evento impulsado por el enfoque y esta preocupación se desvanecerá.
    • La programación dirigida por eventos es un lío de las devoluciones de llamada. Esto puede ser cierto cuando usted primero aprender, pero eventualmente descubrirás cómo estructurar tu código en una lectura.
  5. De la documentación. La documentación para el Nodo y sus bibliotecas 3rd-party es terrible, por lo general consiste en nada más que una README.md.Viniendo desde el Python mundo, donde estamos acostumbrados a excelentes de la documentación, esto es un gran inconveniente.Esto es mejorando poco a poco (necesitamos más documentación como este).

Cuando debo yo prefiero Rieles para Node.js?

  • Cuando usted o su equipo prefieren Ruby sobre JavaScript.
  • Cuando usted o su equipo no están familiarizados con el Nodo y que usted necesita para hacer el trabajo.
  • Cuando usted necesita para utilizar la funcionalidad que está en Rails que el Nodo no tiene todavía.
  • Cuando usted necesita para implementar y Rails ya existente, basado en la infraestructura.
  • Cuando usted tiene que convencer a la gestión que debe utilizar Node.js pero no quiero ser el uno para tomar la caída si el proyecto fracasa.

Por qué todas las nuevas servidor web no están escritas con eventmachine hace, Torcido, o Node.js?

Ver arriba.

Será famoso framework como Django o Carriles de giro controlado por eventos o morir?

Django y Rieles será de alrededor de un largo tiempo.Hay muchas apps en esos marcos, y no hay ninguna razón para volver a escribir.Y hay una gran piscina de talento, que es a menudo una consideración al desarrollo de una nueva aplicación web.

(No obstante, vea este Quora respuesta desde el desarrollador principal de Django, la aprobación de Nodo).

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