By the mid-2000s, a huge number of web apps were built upon the so-called LAMP stack. LAMP applications utilize the Linux operating system, Apache web server and MySQL database server, and implement application logic in PHP or another language starting with the letter “P,” such as Python or Perl. Although the LAMP stack was arguably less scalable or powerful than competing Java or .NET frameworks, it was typically easier to learn, faster in early stages of development and definitely cheaper. When enterprise architects designed systems, they often chose commercial application servers and databases (Oracle, Microsoft, IBM). But, when web developers or startups faced these decisions, the LAMP stack was often the default choice.
LAMP applications are still in widespread use; and, of course, Linux particularly continues to be the dominant server operating system. However, technologies based on the LAMP stack cannot easily provide the rich experience demanded by modern web applications.
Express is a Node.js module that can handle HTTP routing – mapping URLs to code handlers – and process web page templates to simplify the tedium of generating dynamic HTML. Express has become the de facto standard for HTML/HTTP processing in Node.js.