MEAN vs LAMP STACK: Fordeler og ulemper
Webstabler har utviklet seg i flere tiår med fremskritt innen teknologi og backend-språk. To av de mest populære webstablene er for øyeblikket LAMP og MEAN. De stole på to forskjellige teknologier for backend-språk, databaser og servermiljøer. "Stack" -begrepet refererer til teknologier som stabler oppå hverandre for å skape et webservermiljø .
I denne artikkelen vil jeg tydeliggjøre disse to webstablene ved å se på deres teknologiske valg, både fordeler og ulemper. Hvor utmerker hver stabel seg? Og hvilke typer prosjekter vil ha størst nytte av begge alternativene? Hvis du er ny på webteknologier eller bare vil lære om disse to stablene, har denne guiden alt du trenger.
Tradisjonell LAMP-utvikling
De fleste utviklere burde vite om den tradisjonelle LAMP-stabelen fordi den har eksistert siden den tidlige nettsiden. LAMP står for Linux, Apache, MySQL og PHP . Hver av disse er individuelle programvarepakker som kombineres for å danne en allsidig serverløsning.
Den største grunnen til å holde fast med LAMP er sikkerhet og utbredt støtte . Det har eksistert i flere tiår, og det er en velprøvd metode for hosting nettsteder.
Alle backend-teknologiene som PHP og MySQL er velkjente, og støttes av alle de store hostingleverandørene . Hvis du jobber på en LAMP-stabel, kan du i utgangspunktet være vert hvor som helst. I tillegg får du tilgang til de mest populære CMS-motorer . WordPress, Drupal og Joomla alle kjøres på PHP / MySQL.
Det finnes tilpassbare alternativer i LAMP-arkitekturen, for eksempel LEMP som erstatter Apache med nginx. Du kan også kjøre en variant på en Windows-server som en WAMP-stabel.
Men all kjerneprogramvare - inkludert Apache, MySQL og PHP - ble åpnet, og laget hovedsakelig for Linux. Det er derfor Linux gir mest mening for et servermiljø, og derfor har LAMP stått tidstesten for moderne webutvikling.
De fleste utviklere går denne ruten fordi det er den enkleste måten å få et nettsted på nettet . Du finner mye støtte på fora som dekker alt du trenger for å konfigurere og feilsøke et LAMP-miljø. For eksempel kan du sjekke ut dette ServerFault-spørsmålet for mer info.
JavaScript Backend med MEAN
Node.js er den nyeste teknologien for utviklere som er fast bestemt på å kjøre skalerbare programmer bygget med JavaScript. Node styrer MEAN-stakken, og har en primær fordel: alt går på et enkelt språk .
MEAN står for MongoDB, Express.js, Angular.js og selvfølgelig Node.js. Dette akronymet stiller ingen krav til et server-operativsystem eller serverprogramvare. En MEAN-stabel kan kjøre på hvilket som helst operativsystem, og Node kommer selv med sin egen server til å håndtere JS på backend.
Du finner mye dokumentasjon og støtte på Mean.io nettsiden.
Selv om denne stakken har fått stor oppmerksomhet, har den fortsatt ingen steder nær den stabile støtten som en tradisjonell LAMP-stabel.
Så hvorfor ville noen gå med MEAN? Fordi det til slutt er raskere og lettere å skalere . MongoDB er en NoSQL-database som optimaliserer spørringer. Bruken av fullstack JavaScript forbedrer også utviklingen fordi et språk gjelder for alle frontend og backend arbeid.
Pluss mange andre JS-rammer rammer markedet som stabile løsninger. For eksempel kan MEAN byttes over til en MEEN-stabel som erstatter Angular with Ember.
Programmører vil elske MEAN-stakken fordi den skiller kode for vedlikehold og vekst . Dette gjør det enklere å organisere JavaScript-webappene dine slik at de går i et naturlig miljø .
Det er mye å lære om dette emnet, og det er trolig den største hindringen for oppføring for nye utviklere. Lære alle teknologiene som kreves for å administrere en MEAN app, kan ta måneder. Men hvis du elsker Node, og vil kjøre alt på JavaScript, er dette vel verdt innsatsen.
Her er noen nybegynneropplæringer for å komme i gang.
- En absolutt nybegynners guide til Node.js
- Felix's Node.js Beginners Guide
- Introduksjon til Express.js
- Lær å bygge moderne webapplikasjoner med MEAN
- Komme i gang med Node.js, Express og MongoDB
PHP vs Node
PHP har eksistert siden midten av 90-tallet, og er virkelig det mest populære backend-språket. Mange webutviklere starter med (eller til slutt lærer) PHP fordi det er så overveiende på tvers av web-plattformer og hosting-leverandører.
Node er et nyere rammeverk, men populariteten har steget ekstraordinært raskt. Dette inkluderer populariteten til NPM som en pakkebehandling for webutviklere, og utvides videre til kraftige frontend-rammer som Angular 2.
Den andre fordelen med Node er at den kommer med sin egen webserver . JavaScript er roten til alt på en MEAN-stabel, så hvis du elsker JS så vil du virkelig elske å bygge MEAN web apps.
Mange utviklere føler at PHP er et dårlig utformet språk fordi skaperen Rasmus Lerdorf ikke faktisk utformet det som et språk. PHP startet som en generell løsning for nettsteder, og vokste raskt inn i et stort bibliotek med ikke-relaterte funksjoner.
Men med PHP 7 som prøver å fikse mange feil i språket, og med gratis OOP- rammer, som Laravel, er PHP et mye bedre språk nå enn det noensinne har vært.
Så språkdebatten kommer ned til ditt personlige valg . Liker du virkelig å skrive JavaScript? Da kan Node med MEAN-stabel være verdt å vurdere.
Hvis du allerede kjenner PHP, og vil holde fast med det du vet, er LAMP også en levedyktig rute.
Samlet fordeler og ulemper:
Det er flere lag av hver webstabel for å sammenligne, inkludert operativsystem, serverprogramvare, database og backend-språk.
(1) MEAN-stakken inneholder også Angular som er en frontendramme. Det er ikke noe krevende rammeverk i en LAMP-stabel, men du kan alltid legge til din egen til en hvilken som helst app du bygger.
(2) Med hensyn til OS ser LAMP-stakken ut for et derivat av Linux. Linux er typisk det beste valget for et servermiljø, uavhengig av stabelen, og det er sant for MEAN også.
(3) Serverens operativsystem er bare datamaskinprogramvaren, men det er ikke webserverprogramvaren . For å få dette trenger du et program som Apache eller nginx. LAMP bruker Apache fordi det er et av de mest stabile valgene som er tilgjengelige.
(4) MEAN bruker Node.js-serveren som er en del av Node-pakken . Det er fortsatt ganske nytt, og mens det er mye støtte der ute, har Node ingen steder i nærheten av samme størrelse fellesskap som Apache.
(5) En nodeserver krever også en backend av JavaScript (uten utvidelser). Apache tillater de fleste backend-språk, og det er mange gratis utvidelser for større støtte. Men akkurat nå har Apache ingenting for Node-støtte.
(6) Database management er der du finner den største forskjellen . LAMP bruker MySQL for relasjonell datalagring, mens MEAN bruker MongoDB som er en ikke-relasjonell database. Ikke-relasjonelle DB-er er mye raskere, og gir en enklere metode for skalering med høyere trafikk.
(7) Husk at PHP ikke er begrenset utelukkende til MySQL . Det kan bruke MongoDB og andre alternativer som PostgreSQL eller SQLite. Det er bare at de fleste PHP-utviklere kjenner MySQL, så det er den viktigste konkurrenten for en typisk LAMP-stabel.
(8) MEAN stabler kjører vanligvis raskere og større, men krever mye mer tid og server kunnskap for å lære systemet. LAMP-stabler er prøvde og sanne, og de kommer ut av boksen med den sikreste infrastrukturen og den bredeste støtten som kan tenkes.
(9) Programmeringsspråk gjør en stor forskjell mellom de to stablene. LAMP fungerer primært på PHP som inkluderer WordPress og Laravel-rammeverket. MEAN fungerer på ExpressJS / NodeJS for backend med AngularJS på frontenden.
(10) MEAN er full stack-JavaScript, og det er mye du trenger å lære å få det som kjører. Det er et hyppig utvalg av nye oppstart som er villige til å presse grensene i webapputvikling. LAMP er mer tradisjonell med JS på fronten, PHP på baksiden . Det er laget for folk som bare ønsker å få nettsider på nettet uten for mange bekymringer .
Vennligst sjekk ut denne sammenligningsveiledningen for å lære litt mer. Verken valget er riktig eller feil, bare annerledes og laget for ulike prosjekter.
Wrapping Up
Jeg vil si at de fleste nettsteder lener seg mot LAMP-stabelen fordi den er testet, og har mange nyttige Q & A-tråder indeksert i Google. MEAN vokser fortsatt og har også mye støtte, men kan være mer teknisk enn de fleste ønsker å håndtere.
Du er velkommen til å prøve begge deler, og se dem selv. Det er mulig å installere begge oppsettene lokalt på datamaskinen, og bygge videre på dem uten en ekstern server.
Og hvis du leter etter mer info på begge stabler, har jeg samlet et sett med nyttige lenker nedenfor.
- Lær å bygge moderne webapplikasjoner med MEAN (thinkster.io)
- Docker LAMP Stack Admin (jessesnet.com)
- Slik installerer du Linux, Apache, MySQL, PHP (LAMP) Stack på Debian 8 (digitalocean.com)
FormBucket - Bygg webskjemaer uten programmering
Det er lett nok å lage HTML-skjemaer, men håndtering av brukerinngang er en mye større oppgave. Hvis du ikke liker koding på backend, kan dette løses med FormBucket .Nå kan du bygge webskjemaer på frontenden mens du sender alle formdataene til FormBucket's backend - ingen programmering kreves . Netts
Hvordan ekskludere XML Sitemaps fra Caching i WordPress
Ved hjelp av caching-plugins er det sannsynligvis den enkleste måten å øke hastigheten på WordPress-nettstedet ditt. Du kan imidlertid ende opp med å få sitekartet cachert også, og det er ikke en god ide.XML-sitekartet bør alltid gjenspeile de nyeste innleggene og nettadressene til nettstedet ditt, slik at søkemotorer får den nyeste versjonen av det som er oppdatert.I dette i