Thanks! I got started few months back. I haven't really talked to them besides asking a question or two. The thing is, express used to be like this but it was then split up; from what I read it was mainly due to unstability in the subpackages, something which I think/hope will be solved by now. Another point is apparently it's easier to maintain since there have been some problems internally.
The main differences (for the initial or a later release) are:
* A lot of functionality out-of-the-box. Just install it and get to work.
* Websockets as first-class citizens: since they are one of the major advantages of Node.js in itself it makes sense they are trivial to use.
* Error handling: intercept some messages from Node.js and provide a more human-readable version.
* Promise-based.
There's also a single parameter for middleware instead of a [err], req, res, next parameters, since Promises work really well with a single parameter. You might think that this comes from http://koajs.com/ , but only the name comes from there, I used to call it inst for instance until I found a better name, which I found in Koa's ctx.
The main differences (for the initial or a later release) are:
* A lot of functionality out-of-the-box. Just install it and get to work.
* Websockets as first-class citizens: since they are one of the major advantages of Node.js in itself it makes sense they are trivial to use.
* Error handling: intercept some messages from Node.js and provide a more human-readable version.
* Promise-based.
There's also a single parameter for middleware instead of a [err], req, res, next parameters, since Promises work really well with a single parameter. You might think that this comes from http://koajs.com/ , but only the name comes from there, I used to call it inst for instance until I found a better name, which I found in Koa's ctx.
Oh, I talk about all of this in here: https://serverjs.io/about