This question might hit you several times whenever you come across any topic related to web development. The reason is that, now MERN stack is in boom for web developers. This is not the only stack through which you can develop a website, there are several stacks available. Some of them are MEAN, LAMP, Ruby on Rails, Meteor, Java + spring etc. The conclusion of this blog is not to discourage anybody for choosing stack other than MERN related to web development. It totally depends on your choice.
So let’s start discussing what actually a MERN stack is. Before discussing this we have to understand what is a stack (in context of web development)? A stack is nothing but a set of tools from which we could develop a website. The term, ‘stack’, refers to the fact that the system’s individual components are built upon one another. The basic requirements necessary to construct a web stack include: an operating system, a webserver, a database, and a script interpreter.
So we understood stacks, now we can differentiate MERN stack among rest of the stacks. MERN stands for M-mongoDB, E – expressJS, R – react, N – nodeJS.
1. MongoDB :-
What a MongoDB is? MongoDB is a NoSQL type database in which you can store your data much easier with high scalability. Some of the features of this database are:-
- Support ad hoc queries
- Duplication of data
- Load balancing
- Supports map, reduce and aggregation tools
- It is a schema less database written in c++
- Provides high performance
- It’s also supports
- JSON data models with dynamic schemas
- Auto-sharing for horizontal scalability
- Built in replication for high availability
Developed by Facebook, React is by far the most interested topics for front end frameworks. In today’s scenario for becoming a front-end web developer, only HTML and CSS are not enough.
We need to make use of front-end frameworks like AngularJS, VueJS or ReactJS.
React is used for client-side development. Through React we can improve the user interactivity. Before this the web site was supposed to reload the whole page, which was uncomfortable for the user. But using react, we can only replace the changed components in a page.
One thing to note here is that the websites created by React is often called single-page-application. It is because, React does not let the whole page to reload instead it only changes the components which are needed to be reloaded. The rest of the components remain as it is.
Actually the React saves the current DOM (Document-object-model) of HTML page into its memory. And whenever there is a change, React checks the current changed DOM of the page with the previously saved DOM of the same page. It replaces only the changed part on both of these DOMs (this is termed as rendering in React). So it’s like applying a patch.
After learning React, there are number of libraries which can improve the complexity of the code.
As the project’s size increases, maintaining the code becomes harder. So to make it easier some developers use Redux for it. Redux is a library to maintain the state (another React term) of a Component. Redux is not made exclusively for React! Rather it was made for itself. But if we integrate Redux with React, the program becomes much simpler and easy to manipulate the data.
This is a brief introduction to React. There is a lot of things in React to discuss. But for now let’s discuss only about MERN stack.
For reading more about react go through this link : https://reactjs.org/docs/getting-started.html
How do we start then? I would advise you to start reading documentation first. The reason is, after reading any documentation (or blog), it creates an overview of the technology which helps you to understand the correct use of it. Then you can start working on learning these skills through courses on Udemy or YouTube.
But if you are very new in web development, start with HTML and CSS first. And also try to know the working of internet and websites as these things will let you understand the basic functionality of websites.
One thing I want to say is that the learning path may seem boring at first, but as you move forward and make projects on your own, believe me you’ll love it!
So that’s all from my side!