Express.js – app.listen vs server.listen

Questa potrebbe essere una domanda molto semplice, ma semplicemente non capisco. Qual è la differenza tra la creazione di un’app utilizzando Express.js e l’avvio dell’app in ascolto sulla porta 1234, ad esempio:

var express = require('express'); var app = express(); //app.configure, app.use etc app.listen(1234); 

e aggiungendo un server http:

 var express = require('express'); var http = require('http'); var app = express(); var server = http.createServer(app); //app.configure, app.use etc server.listen(1234); 

Qual è la differenza?
Se navigo in http://localhost:1234 , ottengo così lo stesso risultato.