MEAN (lyhenne sanoista MongoDB , Express.js , Angular.js , Node.js ) on joukko ("pino") palvelinohjelmistoja, joita käytetään LAMPin tapaan web-kehitykseen keskittyen JavaScriptiin : kaikkiin pinon komponentteihin. tukee ohjelmointia JavaScriptillä, sekä palvelin- että asiakaspuolen MEAN-sovelluksia voidaan kirjoittaa tällä ohjelmointikielellä. Asiakirjasuuntautunut DBMS MongoDB vastaa pinon tallennuskerroksesta ; pääsuoritusalusta on palvelinpuolen JavaScript-alusta Node.js , palvelinkehitys toteutetaan Node.js:n päällä toimivalla Express.js - kehyksellä ja verkkosovellusten käyttöliittymän selainpohjaisen osan kehitys on MVC - Angular.js- kehys .
Lyhennettä "MEAN" ehdotti MongoDB:n kehittäjä Valeri Karpov henkilökohtaisessa blogissaan; Pinon osien ensimmäisistä kirjaimista koostuvan logon suunnitteli Austin Anderson , joka käytti sitä ensin pinon keskusteluryhmässä ammattimaisessa sosiaalisessa mediassa LinkedIn [1] .
Verrattuna "klassiseen" LAMP-pinoon, MEAN eroaa useilta osin. Perinteisen relaatiotietokannan hallintajärjestelmän MySQL tilalle tuli skeematon dokumenttisuuntautunut NoSQL - järjestelmä; Linux (tai jokin muu käyttöjärjestelmä ) ei ole enää osa pinoa, koska MEAN on monialustainen ja vähemmän riippuvainen käyttöjärjestelmän erityispiirteistä ja keskittyy ensisijaisesti sitoutumiseen JavaScript -ohjelmointikieleen , joka on Node.js:n taustalla. alusta, joka käyttää myös verkkopalvelinroolia (korvaa Apachen LAMPissa). MongoDB:n käsitteleminen suoraan JSON -tietojen kanssa helpottaa REST -tyylistä kehitystä ilman tiedostomuotojen jäsennystä ja muuntamista [2] .
MEANin tärkeä ominaisuus on siirtyminen web-sivujen luomisesta palvelinpuolella pääosin yksisivuisten sovellusten luomiseen, jolloin MVC -toteutuksen ydin siirretään palvelinpuolelta asiakaspuolelle, mikä varmistetaan Angular.js:n sisällyttämisellä. pinossa (lisäksi pinoon sisältyvä Express.js-kehys tarjoaa perinteisen palvelinpuolen reitityksen ja sivun luomisen) [2] .