MEAN (förkortning för MongoDB , Express.js , Angular.js , Node.js ) är en uppsättning ("stack") serverprogramvara, som, liksom LAMP , används för webbutveckling , fokuserad på JavaScript : alla komponenter i stacken stödja programmering i JavaScript, både server- och klientsidan MEAN-applikationer kan skrivas i detta programmeringsspråk. Den dokumentorienterade DBMS MongoDB ansvarar för lagringslagret i stacken ; den huvudsakliga exekveringsplattformen är Javascript-plattformen Node.js på serversidan, serverutveckling implementeras med hjälp av Express.js- ramverket som körs ovanpå Node.js , och utvecklingen av front-end, webbläsarbaserad del av webbapplikationer är MVC - ramverket Angular.js .
Förkortningen "MEAN" föreslogs av MongoDB-utvecklaren Valery Karpov i en personlig blogg; Logotypen, som består av de första bokstäverna i stackens komponenter, designades av Austin Anderson , som först använde den för stackens diskussionsgrupp på det professionella sociala nätverket LinkedIn [1] .
Jämfört med den "klassiska" LAMP-stacken skiljer sig MEAN i flera aspekter. Platsen för det traditionella relationsdatabashanteringssystemet MySQL togs av det schemalösa dokumentorienterade NoSQL - systemet; Linux (eller något annat operativsystem ) är inte längre en del av stacken, eftersom MEAN är plattformsoberoende och mindre beroende av operativsystemets specifikationer, och fokuserar främst på att binda till JavaScript- programmeringsspråket som ligger till grund för Node.js - den plattform som även kör webbserverrollen (ersätter Apache i LAMP). Att hantera MongoDB direkt med JSON- data ger enkel utveckling i REST -stil utan att behöva analysera och konvertera format [2] .
En viktig egenskap hos MEAN är övergången från att generera webbsidor på serversidan till att skapa huvudsakligen ensidiga applikationer , överföring av kärnan i MVC -implementeringen från serversidan till klientsidan, vilket säkerställs genom inkluderingen av Angular.js i stacken (dettare tillhandahåller Express.js-ramverket som ingår i stacken traditionell server-side routing och sidgenerering) [2] .