Is Full Stack the same as MEAN Stack?

By George Fironov ·Subscribe

What does Full Stack mean, and how is it different from MEAN Stack? Why are technology stacks important? Find out in this short guide for non-developers.

If you’re hiring developers, or cooperating with them in your job, communication is easier when you understand what they can and cannot do.

 

❓Technology Stack❓
It’s a list of apps (including basics like Mailchimp or Google Drive), programming languages, frameworks, infrastructures (like Amazon Web Services) and all other bits of software combined and assembled into a web product like Facebook or GitHub. You can browse thousands of technology stacks from companies around the world on Stackshare.

 

The developers’ preferred technology stack can tell you a lot about them. For starters, a MEAN stack developer won’t always be a full-fledged Full Stack developer.

On the other hand, a true Full Stack developer can use the MEAN Stack simply as a tool for certain situations. Like prototyping or quickly building dynamic web apps.

 

The basics – Full Stack

 

Let’s not beat around the bush, and just look up the definition of Full Stack web development on the biggest site for web developers, w3schools.com:

“A full stack web developer is a person who can develop both client and server software.

In addition to mastering HTML and CSS, he/she also knows how to:

  • Program a browser (like using JavaScript, jQuery, Angular, or Vue)
  • Program a server (like using PHP, ASP, Python, or Node)
  • Program a database (like using SQL, SQLite, or MongoDB)”

The term is specific to web development. It basically means a developer who can take requirements for a web application, and turn them into a working product all by himself.

Full Stack is the jack-of-all-trades of building web applications:

  • they can use different programming languages (Python, Ruby, C, PHP) to build their own business logic functionalities from the ground up
  • they can work with various types of databases to meet specific data safety or scalability requirements
  • they have a vast array of tools for building a unique user interface
  • they can take their time perfecting every line of code, or optimize for speed

And they can usually switch tech stacks. For example, they can turn to MEAN when they want to use JavaScript only.

The basics – MEAN Stack

 

To put this into startup terms, MEAN Stack is a minimum viable product, and Full Stack is a fully-featured application.

The end result of using MEAN Stack is the same as any stack – a working, finished web application. But there is a huge difference under the hood.

 

MEAN StackFull Stack
Apps are meant to be hosted on the cloudApps can be hosted anywhere
Only database is MongoDB, which uses JSON (JavaScript Object Notation) to handle dataAny database can be used
Back-end technologies for implementing business logic are limited to JavaScript-based Node.js and Express.js Apps can be built in any programming language and its’ corresponding frameworks
Technologies for building the visual user interface are limited to the Angular frameworkThe user interface can be built from the ground up, or using any framework that fits the rest of the tech stack

 

 

Clearly, Full Stack is more powerful. MEAN is limited to JavaScript-based technologies, which enables MEAN developers to build dynamic, robust web apps quickly.

 

Why is the MEAN stack useful?

 

In the recent years, JavaScript has taken the world of web development by storm. It’s quite universal, powerful, and runs in all browsers.

Developers from top tech startups have started using it so much that they built different web development frameworks. Some of them consist of ready-made libraries of visual elements and functionalities for the user interface, like Angular. Others offer tools that enable developers to use JavaScript to code server-side functionalities, like Node.js combined with Express.

The MEAN stack is a natural result of the growing popularity of JavaScript frameworks (it probably has a bit to do with the fact that they are open-source). JavaScript is sort of easy to learn, and the various frameworks enable even junior developers to build applications while avoiding many common pitfalls. It can greatly enhance the productivity of JS developers.

JS has actually been around for decades. It exploded in popularity when computers, along with internet connections, became powerful enough to handle it without choking.

It’s not just the MEAN stack that relies only on JavaScript, but it’s a flagship example, and one of the most popular JS stacks. Currently there are many frameworks and technologies that can substitute the different parts of MEAN.

 

Why not just go Full Stack everytime?

 

Why don’t managers just go about hiring Full Stack developers for every project? Wouldn’t that be the simplest way to hire developers?

The surprising fact is that they are, in fact, kind of doing it. Pretty much all web developers know HTML, CSS and JavaScript. Given enough time, a lot of them would be able to build a full application all by themselves.

In other words, JavaScript has made it so any front-end developer is a would-be Full Stack developer (albeit limited to JS). So many JavaScript developers working in the industry took up the gauntlet, and turned towards JS frameworks to go Full Stack.

As applications grow in complexity and user base, they get harder to maintain, troubleshoot and optimize for the best user experience. JavaScript frameworks solve many of these issues, and they’re not too difficult to learn for anyone who already knows JS.

With that in mind, should we even differentiate between a Full Stack and MEAN Stack developer? While they both meet the definition of Full Stack, there is still one key difference.

Programming languages like Ruby, PHP or C# are harder to master, and more powerful than JavaScript. If you know them, you can learn JavaScript quite easily. On the other hand, if you just know JavaScript, learning general purpose software development languages is much harder. From this perspective, Full Stack developers would be more flexible and know more technologies.

All in all, you could say that MEAN Stack developers are Full Stack developers limited to JavaScript.

 

Let’s sum it up

 

The MEAN Stack is a technology stack based on JavaScript. It enables developers to build complete web applications from the ground up using several of the most popular JS frameworks.

Full Stack traditionally means a developer that can build a full web application from the ground up on his/her own. A MEAN Stack developer is essentially a Full Stack developer that only uses JavaScript.

Hope this article answers any questions you had about this topic. If you want to ask more, contact us and let’s talk!