MEAN (forkortelse for MongoDB , Express.js , Angular.js , Node.js ) er et sæt ("stak") af serversoftware, der ligesom LAMP bruges til webudvikling med fokus på JavaScript : alle komponenter i stakken understøtter programmering i JavaScript, både server-side og klient- side MEAN-applikationer kan skrives i dette programmeringssprog. Den dokumentorienterede DBMS MongoDB er ansvarlig for lagerlaget i stakken ; hovedudførelsesplatformen er JavaScript-platformen Node.js på serversiden, serverudvikling er implementeret ved hjælp af Express.js - frameworket, der kører oven på Node.js , og udviklingen af den frontend, browserbaserede del af webapplikationer er MVC - Angular.js- rammeværket .
Akronymet "MEAN" blev foreslået af MongoDB-udvikler Valery Karpov i en personlig blog; Logoet, der består af de første bogstaver i stakkens komponenter, blev designet af Austin Anderson , der først brugte det til stak-diskussionsgruppen på det professionelle sociale netværk LinkedIn [1] .
Sammenlignet med den "klassiske" LAMPE-stabel adskiller MEAN sig i flere aspekter. Stedet for det traditionelle relationelle databasestyringssystem MySQL blev overtaget af det skemaløse dokumentorienterede NoSQL - system; Linux (eller et andet styresystem ) er ikke længere en del af stakken, da MEAN er cross-platform og mindre afhængig af operativsystemets specifikationer og fokuserer primært på binding til JavaScript -programmeringssproget, der ligger til grund for Node.js - den platform, der også kører webserverrollen (erstatter Apache i LAMP). Håndtering af MongoDB direkte med JSON -data giver nem udvikling i REST -stil uden overhead til parsing og konvertering af formater [2] .
Et vigtigt træk ved MEAN er overgangen fra at generere websider på serversiden til at skabe overvejende enkeltsidede applikationer , der overfører kernen af MVC -implementeringen fra serversiden til klientsiden, hvilket sikres ved at inkludere Angular.js i stakken (desuden giver Express.js-rammerne inkluderet i stakken en traditionel server-side routing og sidegenerering) [2] .