MEAN STACKS ? | Introducing the MEAN and MERN Stacks
In the post we talk about MEAN Stacks, If there’s one thing that ties these technologies together, it’s JavaScript and its successors (ES6, TypeScript, JSX, etc.) together with the JSON data format. The days when the role of JavaScript was limited to adding visual effects like flashing headers or pop-up windows are past. Developers now use JavaScript to implement the front-end experience as well as the application logic and even to access the database. There are two dominant JavaScript web app stacks – MEAN (MongoDB, Express, Angular, Node.js) and MERN (MongoDB, Express, React, Node.js) and so we’ll use those as paths to guide us through the ever expanding array of tools and frameworks.
The MEAN Stack
MEAN is a set of Open Source components that together, provide an end-to-end framework for building dynamic web applications; starting from the top (code running in the browser) to the bottom (database). The stack is made up of:
- Angular (formerly Angular.js, now also known as Angular 2): Front-end web app framework; runs your JavaScript code in the user’s browser, allowing your application UI to be dynamic
- Express (sometimes referred to as Express.js): Back-end web application framework running on top of Node.js
- Node.js : JavaScript runtime environment – lets you implement your application back-end in JavaScript
- MongoDB : Document database – used by your back-end application to store its data as JSON (JavaScript Object Notation) documents
Angular
, originally created and maintained by Google, runs your JavaScript code within the user’s web browsers to implement a reactive user interface (UI). A reactive UI gives the user immediate feedback as they give their input (in contrast to static web forms where you enter all of your data, hit “Submit” and wait).
Version 1 of Angular was called AngularJS but it was shortened to Angular in Angular 2 after it was completely rewritten in Typescript (a superset of JavaScript) – Typescript is now also the recommended language for Angular apps to use.
You implement your application front-end as a set of components – each of which consists of your JavaScript (TypeScript) code and an HTML template that includes hooks to execute and use the results from your TypeScript functions. Complex application front-ends can be crafted from many simple (optionally nested) components.
Angular application code can also be executed on the back-end server rather than in a browser, or as a native desktop or mobile application.
Expressjs, or simply Express, is a web application framework for Node.js, released as free and open-source software under the MIT License. Express is a minimal, flexible and rapid development of Node.js web application framework that provides a robust set of features to develop web and mobile applications. It is designed for building web applications and APIs. It has been called the de facto standard server framework for Node.js. It is relatively minimal with many features available as plugins. Express is the backend component of the MEAN stack, together with the MongoDB database software and AngularJS frontend framework.
Read more : https://iotbyhvm.ooo/expressjs-web-framework-for-node-js/
is a JavaScript runtime environment that runs your back-end application (via Express).
Node.js is based on Google’s V8 JavaScript engine which is used in the Chrome browsers. It also includes a number of modules that provides features essential for implementing web applications – including networking protocols such as HTTP. Third party modules, including the MongoDB driver, can be installed, using the npm
tool.
Node.js is an asynchronous, event-driven engine where the application makes a request and then continues working on other useful tasks rather than stalling while it waits for a response. On completion of the requested task, the application is informed of the results via a callback. This enables large numbers of operations to be performed in parallel which is essential when scaling applications. MongoDB was also designed to be used asynchronously and so it works well with Node.js applications.
Recommended: How To Install Node.js on Ubuntu
MongoDB is an open-source, document database that provides persistence for your application data and is designed with both scalability and developer agility in mind. MongoDB bridges the gap between key-value stores, which are fast and scalable, and relational databases, which have rich functionality. Instead of storing data in rows and columns as one would with a relational database, MongoDB stores JSON documents in collections with dynamic schemas.
MongoDB’s document data model makes it easy for you to store and combine data of any structure, without giving up sophisticated validation rules, flexible data access, and rich indexing functionality. You can dynamically modify the schema without downtime – vital for rapidly evolving applications.
It can be scaled within and across geographically distributed data centers, providing high levels of availability and scalability. As your deployments grow, the database scales easily with no downtime, and without changing your application.
MongoDB Atlas is a database as a service for MongoDB, letting you focus on apps instead of ops. With MongoDB Atlas, you only pay for what you use with a convenient hourly billing model. With the click of a button, you can scale up and down when you need to, with no downtime, full security, and high performance.
Recommended: How to install MongoDB in ubuntu
ReactJS – Rise of the MERN Stack
An alternative to Angular is React (sometimes referred to as ReactJS), a JavaScript library developed by Facebook to build interactive/reactive user interfaces. Like Angular, React breaks the front-end application down into components. Each component can hold its own state and a parent can pass its state down to its child components and those components can pass changes back to the parent through the use of callback functions.
You may like also:
- How to Send e-mail using NodeJS
- A Simple Chat Server with NodeJS
- Nodemon – Automatic Restart the node application
I hope you like this post.
Do you have any questions? Leave a comment down below! Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.
Explore Some more Raspberry Pi Tutorials :
- Raspberry Pi – Introduction | Overview | Setup and Management | Tutorials
- How to Install Mosquitto Broker on Raspberry Pi
- Setting up SPI on Raspberry Pi
- Getting Started with The Sense HAT – Raspberry Pi
- Raspberry Pi GPIO Basics
- Controlling LED with Raspberry Pi PART-2
- How To Setup Static IP Address on Raspberry Pi
- Controlling LED with Raspberry Pi
- Interfacing a light Sensor (LDR) with Raspberry Pi
- Remote control your Raspberry Pi from your PC with VNC!
- How To Use Raspberry pi in a truely headless mode
- ROCK Pi 4 : Overview | Installation
- Best OS for Raspberry Pi
- How to setup Bluetooth on a Raspberry Pi 3
- Simple Raspberry Pi Home Security System
- Raspbian – OS For Raspberry Pi
- Setting up a Raspberry Pi headless
Pingback: MEAN STACKS ? | Introducing the MEAN and MERN Stacks — IoTbyHVM – Bits & Bytes of IoT – hashstacks