Express faz o papel do http.createServer? | Node.js: Inovando com Javascript no backend | Solucionado

Tinha esse código antes da apresentação do express:

var http = require('http');
var porta = 3000;
var ip = "localhost";

var server = http.createServer(function(req, res) {
       if(req.url =="/produtos"){
      res.end("<html><body>listando os produtos da loja</body>");
    } else {
      res.end("<html><body>home da casa do codigo</body></html>");
    }

});
server.listen(porta, ip);
console.log("Server running at http://" + ip + ":" + porta + "/");

========================

E agora, com o express instalado (com o auxilio do ejs, mas não é relevante pra minha pergunta) tenho somente esse trecho de código:

var porta = 3000;
var express = require('express')/*()*/;
var app = express();

app.set('view engine','ejs') 

app.get('/produtos',function(req,res){
     res.render("produtos/lista");
})

app.listen(porta,function(){
    console.log("Server running at http://localhost:" + porta + "/");
})

Daí surge minha dúvida: Com o express, eu não preciso mais utilizar um require para a biblioteca do http? Ele já faz isso pra mim?