node koa2 hapi framework docs coa node.js express frameworks koa

node.js - koa2 - node js coa



¿Cuáles son las diferencias entre Koa y Express 4.0? (2)

Los motores de búsqueda deben ser su primer recurso antes de publicar preguntas abiertas.

De los documentos de Koa :

Koa vs Express

Filosóficamente, Koa pretende "arreglar y reemplazar el nodo", mientras que Express "aumenta el nodo". Koa usa co para eliminar las aplicaciones del infierno de devolución de llamada y simplificar el manejo de errores. Expone sus propios objetos this.request y this.response en lugar de los objetos req y res de nodo.

Express, por otro lado, aumenta las necesidades de los nodos y los objetos de resolución con propiedades y métodos adicionales e incluye muchas otras características de "marco", como enrutamiento y plantillas, que Koa no.

Por lo tanto, Koa puede verse como una abstracción de los módulos http de node.js, donde como Express es un marco de aplicación para node.js.

...

¿Koa reemplaza a Express?

Se parece más a Connect, pero muchos de los extras de Express se trasladaron al nivel de middleware en Koa para ayudar a formar una base más sólida. Esto hace que el middleware sea más agradable y menos propenso a errores de escritura, para toda la pila, no solo el código de la aplicación final.

Por lo general, muchos middleware reimplementan funciones similares o, peor aún, las implementan incorrectamente, cuando las características como los secretos de cookies firmados entre otras son típicamente específicas de la aplicación, no específicas del middleware.

...

¿Por qué Koa no es solo Express 4.0?

Koa es una diferencia bastante grande de lo que la gente sabe acerca de Express, el diseño es muy diferente, por lo que la migración de Express 3.0 a Express 4.0 significaría efectivamente reescribir toda la aplicación, por lo que pensamos que sería más apropiado crear un nuevo biblioteca.

Koa y Express 4.0 son bastante nuevos, y por lo que he leído, Koa fue creado por el equipo de Express.

Por lo que entiendo, Koa requiere características de nodo que solo están disponibles en 0.11 (la rama inestable) de nodo, y también utiliza generadores. Express 4.0 parece ser solo la próxima versión del framework Express.

¿Hay alguna diferencia que me esté perdiendo por completo? ¿Es probable (en base a lo que el equipo de Express ha declarado públicamente) que Koa y Express se fusionarán en algún momento en el futuro?

¡Gracias!


  • Koa no proporciona funcionalidades como enrutamiento, plantillas, envío de archivos y JSONP mientras que el Express lo hace.
  • koa expone sus propios objetos ctx.request y ctx.response en lugar de los objetos req y res del nodo, es decir, las funciones del formulario (req, res, next), son incompatibles con Koa.
  • Koa puede verse como una abstracción de los módulos http de node.js, donde como Express es un marco de aplicación para node.js.

Para obtener una respuesta más detallada, puede visitar los documentos oficiales en este enlace: https://github.com/koajs/koa/blob/master/docs/koa-vs-express.md