Partly unrelated but i have read strong evidence[1] suggesting that the ExpressJS author (TJ) does not even exist as a real person and is an entirely constructed online identity who is portrayed by different people. Not that it matters too much though, still interesting ;)
I met him once at a Node.JS bar/podcast talk about 2 years ago. He looks just like his Twitter picture. Could still be the figure head of a bunch of people I guess.
Yeah, also, Koa has a lot of express sugar baked-in, express turned into sugar on top of connect, then left connect behind and so on that koa is actually really removed from connect.
Express has been at the core of everything we have done, a great little framework. Going forward though its worth keeping an eye on http://koajs.com, like express it is built by visionmedia/tj but uses the new generators that are starting to become available in node.
For a start it would have stopped me mistaking the first commit for the last commit. More importantly, where you see the commit message next to lines of code[1], "initial commit" hints that you can assume the line came with an import or boilerplate.
I would argue that TJ's Github credentials don't necessarily make the best argument for his long term project. The guy is brilliant and prolific, but he admits to not being the best at long-term maintenance.
For instance, his response to the whole n rm -rf debacle: "yeah it's kinda tough when you have 250+ OSS projects, inevitably some get messed up over time and I merge broken shit haha". That being said, it looks like he's let other folks take over Express (who are all qualified). He didn't even know the logger was named "Morgan" until he read it in a blog post about Express 4.
I had a play with express/node a whole back but found it quite low level (useful in some cases). Is there anything closer to rails in node or is there a preference for piecing everything together with libraries?
As Jahansafd said, Sails.js is probably the most popular right now. It's a full MVC framework built on top of Express. It's constantly being improved, there's commits nearly every day.
The changes make express even cleaner than before. The new routing system, allowing handling different verbs with chained functions, is pretty slick.
Also, decoupling default middleware and putting them into their own modules seems like the way to go, and more 'node-y' than packing everything together.
I'll be glad to get rid of the connect warnings too !
Although there's koajs, it's nice to see express is still getting some love
Does anyone know where I can find discussion about the Express team's decision to completely detach from connect? I'm also curious about what type of middleware design they went with, or if they just reimplemented connect in their own way, which wouldn't surprise me due to the prevalence of Not Invented Here syndrome in the Node community.
From the migrating guide: "This change was made to allow for these [connect] middleware to receive fixes, updates, and releases without impacting express release cycles and vice versa."
connect is basically just a `.use()` kernel, and express' router was just mounted on this kernal. now, express' kernel combines connect's `.use()` kernel as well as the router, simplifying the entire middleware system internally and removing the need to do `app.use(app.router)`.
i.e. you're no longer mounting the router on top of another kernel.
I love the new Router design, but I mainly use Restify[1] to build REST APIs for SPAs. How easy would it be to use port Express's new Router to Restify?
One thing express doesn't do is manage URLs for you. I wrote a simple module that does this[0]. It helps, especially when you have a large number of URLS.
Very cool. Interestingly enough, a lot of Express features are starting to align with Bogart (https://github.com/nrstott/bogart) features, and vice versa unintentionally.
[1] http://www.quora.com/TJ-Holowaychuk-1/How-is-TJ-Holowaychuk-...