LAMP vs MEAN vs JAM stack
At the risk of stating the obvious, we strongly believe that common knowledge can easily be forgotten or kept in a purple haze behind new flashy terms and technologies.
Nebojsa Radakovic
That’s why this page is dedicated to explaining or rather reminding ourselves about the basics of software development, tech stacks.
What is a Tech Stack?
A tech stack refers to a set of tools, programming languages, and technologies that devs use to build digital products or solutions ie websites, mobile, and/or web apps.
Choosing the right tech stack depends much on devs knowledge, available resources, and project needs so you can’t really talk about the best stack but rather the best stack for the project at hand.
Needless to say that each stack comes with pros and cons.
Instead, we can talk about the most popular tech stacks currently running the web dev world, LAMP, MEAN, and, of course, JAM stack.
What is the LAMP stack?
LAMP is an acronym denoting the oldest and the most common tech stacks in web development.
It stands for:
- Linux (Operating System)
- Apache (Webserver)
- MySQL (Database management)
- PHP (Programming language).
It is a bundle of free and open-source software (no licenses needed) that many developers adopted in the early 2000s and ever since is the reigning king in web dev. A tried and true tech stack for all Linux-based server projects.
What is MEAN stack?
With the growing popularity of JavaScript, come 2013, the MEAN stack arrived. It is a free and open-source JavaScript software stack for building dynamic websites and web apps.
The stack is comprised of
MongoDB (document database)
Express.js (a back-end web application framework)
Angular.js (a front-end web application framework)
Node.js (a JavaScript runtime environment).
The biggest advantage of the MEAN stack is that all of the components run on the same programming language making it that much easier to work on.
Lately, MERN and MEVN stacks have emerged. Both rely on other front-end application frameworks ie React.js and Vue.js instead of Angular.js. But the core idea is pretty much the same.
What is the JAM stack?
Originally JAMstack came to be as an acronym that explains a web development architecture.
The three main components of it are
JavaScript (as the programming language)
API (as a way to request data from different sources)
Markup (as a formatting language).
But what Jamstack refers to today (or what it means) is much more than what it stands for. The biggest actual difference with LAMP or MEAN is that it is not a framework but rather a set of principles and tools.
The differences
LAMP was reliable, but it was reliable back in the day. MEAN stack was a considerable improvement mainly because it offered flexibility and a better environment for a SPA and it supported a NoSQL database. Additionally, it featured a single language — JavaScript. This language was utilized for communication between front-end and back-end functions.
Jamstack took it one step further encouraging you to focus on adopting the idea and set of best practices behind it not tieing up to the specific tools.
Further reading and references
If you want to dive deeper into tech stack problematic visit the following pages:
LAMP (Linux, Apache, MySQL, PHP) - https://whatis.techtarget.com/definition/LAMP-Linux-Apache-MySQL-PHP
MEAN Web Development - https://www.packtpub.com/product/mean-web-development/9781783983285
LAMP vs. MEAN: Which stack is right for you? - https://bitbucket.org/blog/lamp-vs-mean-which-stack-is-right-for-you
JAMStack vs MEAN vs LAMP: Your Guide to Picking One - https://buttercms.com/blog/jamstack-vs-mean-vs-lamp-your-guide-to-picking-one