MEAN (веб-разработка)
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[1].
По сравнению с «классическим» стеком LAMP, MEAN отличает несколько аспектов. Место традиционной реляционной системы управления базами данных MySQL заняла бессхемная документо-ориентированная NoSQL-система; Linux (или какая-то другая операционная система) больше не является частью стека, поскольку MEAN кросплатформенна и менее зависима от специфики операционной системы, и фокусируется, прежде всего, на привязке к языку программирования JavaScript, лежащему в основе Node.js — платформы, исполняющей также и роль веб-сервера (заменяя Apache в LAMP). Работа MongoDB напрямую с данными в формате JSON обеспечивает простоту разработки в стиле REST, не требуя избыточных затрат на разбор и преобразование форматов[2].
Важная особенность MEAN — переход от генерации веб-страниц на стороне сервера к созданию преимущественно одностраничных приложений, перенос ядра реализации MVC со стороны сервера на сторону клиента, что обеспечивается включением в состав стека Angular.js (притом входящий в состав стека фреймворк Express.js обеспечивает и традиционную маршрутизацию и генерацию страниц на стороне сервера)[2].
ПримечанияПравить
- ↑ Mean Stack | LinkedIn (неопр.). www.linkedin.com. Дата обращения: 21 января 2016.
- ↑ 1 2 Скотт Дэвис. MEAN-программирование: знакомство со стеком MEAN (рус.). www.ibm.com (18 июня 2015). Дата обращения: 21 января 2016. Архивировано 18 ноября 2016 года.
ЛитератураПравить
- Colin J. Ihrig, Adam Bretz. Full Stack JavaScript Development With MEAN. — SitePoint, 2015. — ISBN 9780992461256.
- Скотт Дэвис. MEAN-программирование: знакомство со стеком MEAN (рус.). IBM developerWorks (18 июня 2015). Дата обращения: 15 января 2016.
- MEAN-программирование: тур по MEAN-приложению (неопр.). developerWorks (18 июня 2015). Дата обращения: 15 января 2016.
- MEAN-программирование: MEAN и CRUD-приложение UGLI с адаптивным веб-дизайном (неопр.). developerWorks (18 июня 2015). Дата обращения: 15 января 2016.
- MEAN-программирование: объединение MEAN с Meetup.com и микроданными (неопр.). developerWorks (18 июня 2015). Дата обращения: 15 января 2016.
- Овладение MEAN-программированием: Управление аутентификацией с помощью OAuth и Passport (неопр.). developerWorks (8 июня 2015). Дата обращения: 15 января 2016.
- Лонг Ле. Node.js — Создание веб-приложений на основе стека MEAN, используя OData в Microsoft Azure // MSDN Magazine. — 2014. — Декабрь.