mevn, mean, mern, node, vue, express, nuxt, angular, react, mongodb

Den første MEVN stak i Danmark?

Artikel 16-11-17 ~4 minutters læsning · 748 ord

De store Open Source javascript frontend biblioteker breder sig ikke blot voldsomt, når det kommer til populariteten og anvendelsen blandt verdens udviklere. De er jo født til at blive afviklet i brugerens browser, men de breder sig også helt ned på serveren - så at sige.

Angular var den første til at sætte sig på hele stakken med sin MEAN stack - med cocktailen af MongoDB, Express, Angular og Node.js. Derpå fulgte React med sin MERN-stak, hvor A´et var skiftet ud med et R for React. Og nu er turen kommet til det tredje store frontend-js-bibliotek på verdensplan, Vue, som selvfølgelig har fået en MEVN stak. Et logo er det også blevet til.

Logoet for en MEVN stack

Vue - der også kaldes Vue.js eller VueJS - er langt mere populær end både den første Angular.js og den aktuelle Angular målt i stjerner på GitHub. Faktisk har Vue næstflest stjerner blandt alle js-biblioteker på verdensplan - kun overgået af React. Men først de senere måneder er Vue blevet «full stack».

Ét relevant hit på dansk

En søgning på Google viser, at der er mange artikler om emnet. Se opgørelsen i nedenstående tabel.

Google søgeterm Uden filter Område og sprog = da
mevn 971.000 282
«mevn stack» 2530 4
«mevn stak» - 0

Men Danmark brillerer dog med sit fravær. En søgning efter MEVN på danske websider kaster d.d. blot 282 hits af sig. De 281 handler endda om alt andet end en MEVN-stak. Det eneste it-relaterede danske hit om fænomenet leveres af undertegnedes eget websted, JLKM.dk. Se fig. 1.

Et it-relateret hit om MEVN på dansk

Indsnævres søgningen på dansk til «mevn stak», må Google helt opgive at finde noget. I stedet returnerer den fire danske hits om «mevn stack». Og igen er kun det ene bidrag fra JLKM.dk relevant. Se fig 2.

Et it-relaterede hit om MEVN stack på dansk

Dansk MEVN stack i drift

Der kan gemme sig danske MEVN stakke derude. Men på det foreliggende grundlag kan det vist godt forsvares at fjerne det forsigtige spørgsmålstegn i overskriften. Der findes nemlig fra dags dato i hvert fald én dansk MEVN-stak, og den er (selvfølgelig) at finde på MEVN.dk.

Webstedet er et modul, hvor brugerne kan skrive indlæg til Udvandrerne.dk, StaticSiteGenerators.dk, NoSQL.dk og de øvrige websteder, som JLKM driver.

Omdrejningspunktet i systemet er naturligvis Vue.js, der ofte karakteriseres som en blanding af Angular og React. Tilhængerne af Vue tilføjer gerne, at den oven i købet forener det bedste fra sine to konkurrenter. Det er templates med de let overskuelige {{ variabler }}, som Angular har været bannerfører for, mens Vue også indholder den rasende hurtige virtuelle DOM, som React er kendt for.

Fra blog på kinesisk til CMS på engelsk

Grundlaget for MEVN.dk er et GitHub repo tilhørende Shen Chen fra New York. Det blev valgt frem for en række andre MEVN-biblioteker, fordi det bl.a. er integreret med Nuxt.js, som er Vue´s værktøj til at at rendere html´en på serveren - også kaldet server side rendering (SSR). Dermed er der større sikkerhed for, at søgemaskinerne får det hele med. Det er en utrolig vigtig feature, og den er i øvrigt stærkt medvirkende til, at frontend bibliotekerne i højre og højere grad betroes opgaven med at stå for stort set hele serveringen af et websted.

Shen Chens js-bibliotek er dog et forholdsvist enkelt system, der mest egner sig til en personlig blog. Desuden er al tekst på web skrevet på kinesisk. Derfor forestod der et større arbejde med at få oversat alt til engelsk (blot for at se, hvad der overhovedet foregik). Dernæst fulgte opgaven med at udbygge systemet til brug for en større personkreds og til håndtering af lange flere dokumenter.

Resultatet er blevet et CMS/debat-system med bl.a. følgende nye funktioner i forhold til forløberen:

  1. Søgemaskinevenlige webadresser. Ud med de oprindelige id´er med tal og andre tegn.
  2. Metatags med description og keywords genereres automatisk for størst mulig SEO.
  3. Kategorier er udbygget med emneord og dokumenttype, og alle tre typer af nøgleord har fået hver deres tilhørende oversigter, der genereres automatisk.
  4. Mulighed for at få vist alle bidrag og kommentarer skrevet af en bestemt bidragyder.
  5. Nye felter på bidrag til eksterne weblinks og interne kommentarer til webmaster.
  6. Udbygget kommentardel.

Beskedne server-krav og nul software-licenser

Alle bidrag lander i dokument-databasen MongoDB, som i øvrigt er blevet kåret til den bedste på markedet.

Mevn.dk kører på en lille server med Ubuntu 16.04 LTS, så systemet kræver ikke ret megen serverkraft. Opsætningen omfatter installation af MongoDB og Node.js og tilhørende js-biblioteker. Driftsomkostningerne holdes på et minimum, eftersom alle elementerne i MEVN-stakken er Open Source - og derfor gratis at bruge.