Mean Street
- 1 year ago
- 0
- 0
MEAN (аббревиатура от MongoDB , Express.js , Angular.js , Node.js ) — набор («стек») серверного программного обеспечения, который, подобно LAMP , используется для веб-разработки , ориентированный на JavaScript : все компоненты стека поддерживают программирование на JavaScript, и серверная и клиентская часть MEAN-приложений может быть написана на этом языке программирования. За слой хранения в стеке отвечает документоориентированная СУБД MongoDB ; основная платформа исполнения — серверная JavaScript-платформа Node.js , серверная разработка реализуется посредством работающего поверх Node.js каркаса Express.js , а разработка интерфейсной, браузерной части веб-приложений — MVC - фреймворком Angular.js .
Акроним «MEAN» предложил разработчик MongoDB Валерий Карпов в личном блоге; логотип, составленный из первых букв компонентов стека, разработал Остин Андерсон ( Austin Anderson ), впервые использовав его для группы по обсуждению стека в профессиональной соцсети LinkedIn .
По сравнению с «классическим» стеком LAMP, MEAN отличает несколько аспектов. Место традиционной реляционной системы управления базами данных MySQL заняла бессхемная документо-ориентированная NoSQL -система; Linux (или какая-то другая операционная система ) больше не является частью стека, поскольку MEAN кросплатформенна и менее зависима от специфики операционной системы, и фокусируется, прежде всего, на привязке к языку программирования JavaScript , лежащему в основе Node.js — платформы, исполняющей также и роль веб-сервера (заменяя Apache в LAMP). Работа MongoDB напрямую с данными в формате JSON обеспечивает простоту разработки в стиле REST , не требуя избыточных затрат на разбор и преобразование форматов .
Важная особенность MEAN — переход от генерации веб-страниц на стороне сервера к созданию преимущественно одностраничных приложений , перенос ядра реализации MVC со стороны сервера на сторону клиента, что обеспечивается включением в состав стека Angular.js (притом входящий в состав стека фреймворк Express.js обеспечивает и традиционную маршрутизацию и генерацию страниц на стороне сервера) .