

ExpressJS 4.0 has been released - tbassetto
http://expressjs.com/4x/api.html

======
zzzaim
And here are the new features in Express 4.x:
[https://github.com/visionmedia/express/wiki/New-features-
in-...](https://github.com/visionmedia/express/wiki/New-features-in-4.x)

------
nailer
I love you Express, but my next project is going to be based on TJ's own
Express successor: [http://koajs.com/](http://koajs.com/)

~~~
romanovcode
Don't forget to switch when next framework arrives. You don't want to be one
of those unpopular geek losers, right?

~~~
LunaSea
Yeah you'd rather want to be the aggressive inpertinent kind.

------
batuhanicoz
I have been looking/thinking for the best way to implement something like the
new Router functionality for 3 days now.

This is very good news for me.

Also, how to migrate guide can be found here:
[https://github.com/visionmedia/express/wiki/Migrating%20from...](https://github.com/visionmedia/express/wiki/Migrating%20from%203.x%20to%204.x)

------
beck5
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](http://koajs.com), like express it is built by
visionmedia/tj but uses the new generators that are starting to become
available in node.

~~~
highwind
Using "this" to generate response might cause lot of confusion.

~~~
gagege
Thinking of "this" as simply the app's context helped me make sense of that.

------
philjackson
The latest commit message on (the now completely seperate) body-parser module
is "asdf". Makes me nervous.

~~~
eogas
That was the FIRST commit to that repo. Not that it's great reasoning, but
really how much info does 'Initial commit.' convey as opposed to 'asdf'?

~~~
philjackson
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.

1\. [https://github.com/expressjs/body-
parser/blame/master/index....](https://github.com/expressjs/body-
parser/blame/master/index.js)

~~~
djjaxe
If you clicked on the _86446f74_

You would have gotten: [https://github.com/expressjs/body-
parser/commit/86446f74d5c6...](https://github.com/expressjs/body-
parser/commit/86446f74d5c6bdb90b762a094b857bc0a340966b)

Which shows _parents 0_

------
jpdlla
If you're also wondering about what the changes were for 4.0
[https://github.com/visionmedia/express/blob/master/History.m...](https://github.com/visionmedia/express/blob/master/History.md#400
--2014-04-09)

------
sgy
Most of the middlewares (like logger) are no longer bundled with Express and
must be installed separately.

[https://github.com/senchalabs/connect#middleware](https://github.com/senchalabs/connect#middleware)

------
sgy
3.x to 4.x Migration guide:

[https://github.com/visionmedia/express/wiki/Migrating-
from-3...](https://github.com/visionmedia/express/wiki/Migrating-
from-3.x-to-4.x)

------
ollysb
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?

~~~
jahansafd
take a look into Sail.js, Meteor.js or the MEAN stack

[http://sailsjs.org/#](http://sailsjs.org/#)!
[https://www.meteor.com/](https://www.meteor.com/)
[http://www.mean.io/#!/](http://www.mean.io/#!/)

------
fauria
Nice guide on Express 4: [http://scotch.io/bar-talk/expressjs-4-0-new-
features-and-upg...](http://scotch.io/bar-talk/expressjs-4-0-new-features-and-
upgrading-from-3-0)

------
Jacqued
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

------
rubiquity
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.

~~~
xGrill
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."

~~~
rubiquity
Couldn't they still achieve that by depending on connect, but not depending on
those specific connect middlewares?

------
jamescun
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?

[1] [https://github.com/mcavage/node-restify](https://github.com/mcavage/node-
restify)

~~~
pspeter3
Why do you primarily use that as opposed to building in express?

------
iamartnez
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.

[0] [https://github.com/artnez/urltree](https://github.com/artnez/urltree)

------
jdc0589
Very cool. Interestingly enough, a lot of Express features are starting to
align with Bogart
([https://github.com/nrstott/bogart](https://github.com/nrstott/bogart))
features, and vice versa unintentionally.

------
ika
I really like this new
[http://expressjs.com/4x/api.html#router](http://expressjs.com/4x/api.html#router)
feature.

This will help me build better architecture for application on top of express

------
bricss
Hapi.js to everyone [http://spumko.github.io/](http://spumko.github.io/)

------
tegeek
Another complete web framework in NodeJS world.

[http://www.partialjs.com/](http://www.partialjs.com/)

Its a bit high level than Express but same performance wise. I like it becoz
you get started in 2 minutes.

------
findjashua
Any particular reason to choose Express over Koa?

~~~
jongleberry
not really. use koa instead if you can. a lot of middleware hasn't been
written for koa yet, so you might have to write your own.

------
kayoone
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 ;)

[1] [http://www.quora.com/TJ-Holowaychuk-1/How-is-TJ-
Holowaychuk-...](http://www.quora.com/TJ-Holowaychuk-1/How-is-TJ-Holowaychuk-
so-insanely-productive)

~~~
base698
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.

------
bright_day
finally i am really excited

