Erfarna webbutvecklare känner Lamp-stacken lika väl som sin egen bakgård. Kombinationen av Linux, Apaches webbserverprogram, databasen MySQL och språket PHP (eller Perl eller Python) har använts flitigt under många år.

Men marknaden förändras, till exempel genom molnets ökande popularitet och nya arkitekturtankar, till exempel om mikrotjänster. Många känner ett behov av alternativ till Lamp och nu växer en annan, hyfsat heltäckande, stack i popularitet. Namnet är Mean, vilket står för dokumentdatabasen MongoDB, Express som är ett ramverk för den Javascriptbaserade plattformen Node.js, Javascriptramverket Angular och Node.js självt.

Läs också: Populära webbservern blir en hel plattform

Mean anses både flexibelt och lätt att jobba med, i alla fall jämfört med Lamp. Vilka komponenter som ingår i Mean, jämfört med Lamp, är ett tecken på hur fokus förskjuts vad gäller tekniska plattformar. Ett exempel är att den nyare Mean-stacken inte innefattar något operativsystem. Det anses inte vara lika viktigt som tidigare.

Även om de olika delarna av Mean är ganska nya så är de etablerade, skriver Techworlds systersajt Infoworld. Och Mean bjuder på fördelar som flexibel datalagring med MongoDB, bra utnyttjande av servrar med Node.js och bra standardisering av sajter med Express. Och så är Angular ett populärt val för att skapa avancerade användargränssnitt.

Om man tittar på detaljer finns det åtminstone nio skäl att undersöka Mean:

  • MongoDB är en databas som är byggd för molnet. Inbyggd hantering av distribuerade lösningar, till exempel stöd för kluster, ger både flexibilitet och goda möjligheter att sänka kostnader för databaser. Dessutom upplever många att det är enkelt att bygga mjukvara baserad på MongoDB.
  • MySQL är förvirrande. Visst, alla håller säkert inte med, men det kan upplevas krångligt att använda MySQL som databas när data inte har en gemensam struktur. Och det är ofta fallet med webbtillämpningar. MongoDB är i egenskap av att vara en dokumentdatabas helt enkelt enklare att använda under sådana förutsättningar.
  • Lagring är billigt. En anledning att använda en relationsdatabas som MySQL är att det finns lösningar för att undvika upprepning av lagrad information, vilket ger billigare lagring. Men det är inte lika viktigt numera när lagringsutrymme har blivit billigare och dessutom upplever många det som krångligt att definiera relationsdatabaser. Fast det ska tilläggas att det sannerligen finns fler skäl att undvika upprepad information i databaser än att spara pengar på lagring.
  • Node.js förenklar på servern. Det kan vara svårt att navigera mellan de olika lagren i Lamp-stacken. Det blir enklare med Mean, tack vare Node.js.
  • Koden blir mer universell med Mean. Med Mean är det Javascript som gäller överallt. Med Lamp är det lätt att bli förvirrad av olika språk på servern, klienten och för databasen.
  • Json överallt. Både Angular och MongoDB pratar Json, liksom Node.js och Express. Det krävs ingen omformatering för att skicka data mellan de olika delarna av Mean, vilket krävs med Lamp ibland. Att Json används så flitigt gör det också enklare att använda externa api:er.
  • Node.js är supersnabbt. Visst har Apache varit en trogen tjänare på webben, men numera kan man konstatera att det går snabbare med Node.js. Och det är extra viktigt i dag, när det finns en massa otåliga mobilanvändare.
  • Brett utbud av färdig kod. Visst kan PHP-älskare uppskatta det breda utbudet av kodbibliotek för till exempel Wordpressplattformen. Men utbudet för Node.js ökar stadigt. Och äldre plattformar som Wordpress upplevs ofta som besvärliga när dess utvecklare försöker modernisera dem. Det tenderar att bli problem med gamla lösningar.
  • Angular är fräscht. Det kanske är orättvist att det inte finns någon motsvarighet till Angular i Lamp. Med den äldre stacken får du fixa klientlösningar på egen hand. Visst finns det en del PHP-baserade alternativ, men Angular har en fördel eftersom det skapats av folk med 20 års erfarenhet av att bygga webbappar. Angular bjuder på enkla och smarta lösningar.

Vad gör man om man inte kan välja mellan Mean och Lamp? Man blandar komponenter från de två stackarna, förstås. Till exempel MongoDB med Apache och PHP, MySQL med Node.js, och så vidare.