MEAN стэк
Сейчас популярен MEAN стэк. Стартапы Долины активно его используют в своих проектах. Стэком называется набор инструментов, технологий, использующихся для создания ПО. От слова
stack. Есть также LAMP стэк. Но сегодня поговорим про MEAN.
M - mongodb
E - express.js
A - angular
N - nodejs
Эксперты идеально скомбинировали эти технологии в один стэк. Преимущество MEAN в том, что его компоненты написаны на одном языке - JavaScript. Начнем с самого низа.
Mongo - эта нереляционная база данных. Он хранит данные проекта. Нереляционная означает, что внутри нее данные не связаны (no relation). В SQL есть связи между данными поэтому он называется реляционным. Особенностью MongoDB является то, что данные сохраняются в виде JSON документов. Он идеально подходит для MEAN, потому JSON - это стандарт хранения данных в JS.
NodeJS создан для разработки бэкенда. Мы привыкли думать, что JS работает только внутри браузера. Но с появлением NodeJS игра поменялась. Он уже замещает Python и php. На NodeJS создают внутреннюю часть сайта - бэкенд. Его логику, то что не видит пользователь. Задача ноды: брать данные с Mongo, затем отправлять их к клиенту (браузер, Angular). Обмен данными происходит в виде JSON.
Express - это фреймворк для nodejs. Он работает с роутами. Представьте, юзер вводит ссылку. Тут начинается запрос на сервер. Express ловит этот запрос от клиента с помощью роутов.
Angular - фронтенд фреймворк. Он нужен для написания внешней оболочки сайта: дизайн, анимация, кнопочки. Ангуляр позволяет разделить проект на компоненты. Это отдельные модули, которые не зависят друг от друга. Так удобнее. На голом JS такое не получится и это геморройно. Ангуляр разработан Гуглом и написан на Typescript. Typescript - это разновидность JavaScript, разработанная Майкрософтом.
Сделаем summary.
Mongo - база данных
Express - бэкенд фреймворк для NodeJS
Angular - фронтенд фреймворк
NodeJS - язык бэкенда
Так сложилось, что MEAN - идеальная комбинация технологий. Хотя тут можно бувку A поменять на другую технологию. Например, React или Vue. MERN, MEVN. Не получится досканально рассказать про стэк в одном посту. Люди пишут
книги про MEAN.