MEAN stack

MEAN Stack
MEAN stack is a more modern stack that’s challenging the LAMP stack. It is totally JavaScript-fueled. So that makes it both a time and money-saver for organizations that already have JavaScript pros writing client-side code. MEAN is a product package that stands for MongoDB, ExpressJS, AngularJS, and NodeJS. Together in a stack, these free programs improve the effortlessness of the web advancement process.

• MongoDB (data storage)
Mongo DB
There are many great features that have made MongoDB so popular. Basically, MongoDB was introduced to overcome relational databases approach and limitations of other NoSQL solutions. MongoDB is written in C++. MongoDB is a cross-platform, document oriented database that provides, high performance, high availability, and easy scalability. MongoDB works on concept of collection and document.

• Express.js (server-side application framework)
Express.js gave JavaScript newfound back-end functionality—allowing developers to build software with JavaScript on the server side for the first time. It allowed developers to build an entire site with JavaScript: You can develop server-side applications with Node.js and then publish those Node.js apps as websites with Express.

• AngularJS (client-side application framework)
AngularJS is a powerful JavaScript based development framework to create RICH Internet Application (RIA). AngularJS provides developers options to write client side application (using JavaScript) in a clean MVC (Model View Controller) way. Applications written in AngularJS are cross-browser compliant. AngularJS is open source, completely free, and used by thousands of developers around the world. It is licensed under the Apache License version 2.0.

• Node.js (server-side language environment although Express implies Node.js)
Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast and scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

LAMP Stack

LAMP Stack
LAMP on the other hand, is one of the earliest stacks to get traction and the most traditional stack mode, is made up of all free, open-source software elements that work well for Dynamic web sites and applications. It stands for Linux, Apache, MySQL, and PHP/Perl/Python. It’s still relevant as it offers a great alternative to commercial software packages. It is considered by many the platform for development and deployment of high performance web applications which require a solid and reliable foundation.

• Linux (OS)
Just like Windows XP, Windows 7, Windows 8, and Mac OS X, Linux is an operating system. An operating system is software that manages all of the hardware resources associated with your desktop or laptop. To put it simply – the operating system manages the communication between your software and your hardware.

• Apache (web server)
Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation, Apache is an open source software available for free. It runs on 67% of all webservers in the world. It is fast, reliable, and secure. It can be highly customized to meet the needs of many different environments by using extensions and modules. Most WordPress hosting providers use Apache as their web server software.

• MySQL (data storage)
MySQL is an open source relational database management system (RDBMS) based on Structured Query Language (SQL). MySQL runs on virtually all platforms, including Linux, UNIX, and Windows. Although it can be used in a wide range of applications, MySQL is most often associated with web-based applications and online publishing and is an important component of an open source enterprise stack called LAMP.
PHP or Perl or Python (scripting language)

• PHP: Hypertext Preprocessor
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.

• Perl
Perl is a stable, cross platform programming language. Though Perl is not officially an acronym but few people used it as Practical Extraction and Report Language. It is used for mission critical projects in the public and private sectors. It is an Open Source software, licensed under its Artistic License, or the GNU General Public License (GPL).It was created by Larry Wall. Perl 1.0 was released to usenet’s alt.comp.sources in 1987.

• Python
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python’s simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance.

Overview of MEAN Stack Vs LAMP Stack:

Technology LAMP MEAN
Languages The “P” in Lamp is for the languages like Perl, PHP or Python to make you web pages dynamic While in MEAN, all you have to master is JavaScript
Database MYSQL is the database used in LAMP stack, This is basically a relational database system i.e. (RDBMS). “M” in MEAN stands for MongoDB, It is basically a NoSql database that works irrespective of relations. It is a cross-platform document-oriented database system. JSON-style documents with dynamic schemas provide simplicity and power.
­­­­Server “A” in LAMP stands for Apache that serves as a server for hosting http files. “E” in MEAN is basically ExpressJS i.e. Node.js Web application framework. It creates an MVC-like application on the server side that helps user to create routes and templates.

Although many developers claim that the MEAN stack will eventually replace LAMP stack, there are others who still believe in the latter’s potential. LAMP is time-tested, stable and sturdy, with tons of online tutorials and support availability. Its back-end architecture allows you to do whatever you want to do on the front-end. MySQL is still one of the most widely used databases.

MEAN stack features a single language from top to bottom, in addition to flexible deployment and faster data retrieval capabilities. You are free from micromanaging schemas and migrations in the database as it uses a non-relational no SQL database. With JavaScript gaining popularity, MEAN stack is attracting more developers every year.

Deciding between LAMP and MEAN will mostly depend on the organizations you work for and the projects that are under development.