Hemsida » Webbdesign » BETYD MOT LAMP Stack Fördelar och nackdelar

    BETYD MOT LAMP Stack Fördelar och nackdelar

    Webbstaplar har utvecklats under årtionden med framsteg inom teknik och backend-språk. Två av de mest populära webbstaplarna är för närvarande LAMP och MEAN. De är beroende av två olika tekniker för språk, databaser och servermiljöer. "Stack" termen avser teknik som stack ovanpå varandra för att skapa en webbservermiljö.

    I denna artikel vill jag förtydliga dessa två webbstackar genom att titta på deras teknikval, både fördelar och nackdelar. Var utmärker varje stapel? Och vilka typer av projekt skulle gynnas mest av båda alternativen? Om du är ny på webbteknik eller bara vill veta om dessa två staplar har den här guiden allt du behöver.

    Traditionell LAMP-utveckling

    De flesta utvecklare borde veta om den traditionella LAMP-stapeln eftersom det har funnits sedan den tidiga webben. LAMPA står för Linux, Apache, MySQL och PHP. Var och en av dessa är individuella mjukvarupaket som kombineras för att bilda en mångsidig serverlösning.

    Den största anledningen att hålla fast med LAMP är säkerhet och utbrett stöd. Det har funnits i årtionden, och det är en beprövad metod för webbhotell.

    Alla backend tech som PHP och MySQL är välkända, och stöds av alla större webbhotell. Om du arbetar på en LAMP-stack kan du i princip vara värd var som helst. Dessutom får du tillgång till de mest populära CMS-motorerna. WordPress, Drupal och Joomla kör alla på PHP / MySQL.

    Det finns anpassningsbara alternativ inom LAMP-arkitekturen som LEMP ersätter Apache med nginx. Du kan också köra en variant på en Windows-server som en WAMP-stack.

    Men all kärnprogramvara - inklusive Apache, MySQL och PHP - var öppna, och gjordes främst för Linux. Det är därför som Linux känner sig mest för en servermiljö, och det är därför som LAMP har stått tidstestet för modern webbutveckling.

    De flesta utvecklare går den här vägen eftersom det är det enklaste sättet att få en webbplats online. Du hittar mycket stöd på forum som täcker allt du behöver för att konfigurera och felsöka en LAMP-miljö. Till exempel kan du kolla in denna ServerFault-fråga för mer info.

    JavaScript Backend med MEAN

    Node.js är den senaste tekniken för utvecklare som bestämmer sig för att köra skalbara applikationer som är byggda med JavaScript. Nod driver mäten stacken, och erbjuder en viktig fördel: allting körs på ett enda språk.

    BETYDA står för MongoDB, Express.js, Angular.js, och naturligtvis Node.js. Denna akronym ställer inget krav på ett serverns operativsystem eller serverprogramvara. En MEAN stack kan köras på alla operativsystem, och Node kommer även med sin egen server för att hantera JS på backend.

    Du hittar mycket dokumentation och support på Mean.io webbplatsen.

    Även om denna stapel har fått stor uppmärksamhet, har den fortfarande ingenstans nära mängden stabilt stöd som en traditionell LAMP-stapel.

    Så varför skulle någon gå med MEAN? För att det är i slutändan snabbare och lättare att skala. MongoDB är a NoSQL-databasen vilket optimerar frågor. Användningen av fullstack JavaScript förbättrar också utvecklingen eftersom ett språk gäller för all frontend och backend-arbete.

    Dessutom slår många andra JS-ramar på marknaden som stabila lösningar. Till exempel kan MEAN bytas över till en MEEN stack ersätter vinkel med Ember.

    Programmerare kommer att älska MEAN stacken på grund av det separerar kod för underhåll och tillväxt. Detta gör det lättare att organisera dina JavaScript-webappar så att de körs i en naturlig miljö.

    Det finns mycket att lära sig om detta ämne, och det är förmodligen det största hindret för inträde för nya utvecklare. Att lära sig all teknik som krävs för att hantera en MEAN app kan ta månader. Men om du älskar Node, och vill köra allt på JavaScript så är det värt ansträngningen.

    Här är några nybörjarkurser för att komma igång.

    • En Absolut Nybörjarens Guide till Node.js
    • Felix Node.js Nybörjarhandbok
    • Introduktion till Express.js
    • Lär dig att bygga moderna webbapplikationer med MEAN
    • Komma igång med Node.js, Express och MongoDB

    PHP vs Node

    PHP har funnits sedan mitten av 90-talet, och är verkligen det mest populära backend-språket. Många webbutvecklare börjar med (eller så småningom lära sig) PHP eftersom det är så övervägande över webbplattformar och webbhotell.

    Noder är en nyare ram men dess popularitet har ökat utomordentligt snabbt. Detta inkluderar populariteten hos NPM som en pakethanterare för webbutvecklare, och expanderar vidare till kraftfulla frontendramar som Angular 2.

    Den andra fördelen med Node är det kommer med sin egen webbserver. JavaScript är grunden till allt på en MEAN-stack, så om du älskar JS så kommer du verkligen att älska att bygga MEAN web apps.

    Många utvecklare tycker att PHP är ett dåligt utformat språk eftersom skaparen, Rasmus Lerdorf utformade inte det som ett språk. PHP startade som en generisk lösning för webbplatser, och växte snabbt till ett stort bibliotek av orelaterade funktioner.

    Men med PHP 7 försöker du åtgärda många fel på språket och med gratis OOP ramar, som Laravel, PHP är ett mycket bättre språk nu än det någonsin varit.

    BILD: Stackoverflöde

    Så språket debatten kommer ner till ditt personliga val. Älskar du verkligen att skriva JavaScript? Då kan Node med en MEAN-stack vara värt att överväga.

    Om du redan vet PHP, och vill hålla fast vid vad du vet är LAMP också en livsduglig rutt.

    Sammantaget fördelar och nackdelar:

    Det finns flera lager av varje webbstack för att jämföra, inklusive operativsystem, serverprogramvara, databas och backend-språk.

    (1) De MEAN stack också inkluderar vinkel vilket är en frontendram. Det finns inte några nödvändiga ramar i en LAMP-stapel, men du kan alltid lägga till din egen i vilken app du bygger.

    (2) Med avseende på OS söker LAMP-stapeln efter ett derivat av Linux. Linux är vanligtvis det bästa valet för en servermiljö oavsett stack, och det är sant för MEAN också.

    (3) Nu är serverns operativsystem bara datorprogrammet, men det är inte det webbserverprogramvara. För att få det behöver du ett program som Apache eller nginx. LAMP använder Apache eftersom det är ett av de mest stabila alternativen som finns tillgängliga.

    (4) MEAN använder Node.js-servern som är en del av nodpaketet. Det är fortfarande ganska nytt, och medan det finns gott om stöd där ute, har Node ingenstans nära samma storlek som Apache.

    (5) Även en nod server kräver en backend av JavaScript (utan tillägg). apache tillåter de flesta bakåtvända språk, och det finns många gratis förlängningar för större stöd. Men just nu har Apache inget för Node support.

    (6) Databashantering är där du hittar den största skillnaden. LAMP använder MySQL för relationsdatalagring, medan MEAN använder MongoDB som är en icke-relationell databas. Non-relationella DBs är mycket snabbare, och ge en enklare metod för skalering med högre trafik.

    (7) Tänk på att PHP är inte begränsat enbart till MySQL. Det kan använda MongoDB och andra alternativ som PostgreSQL eller SQLite. Det är bara att de flesta PHP-utvecklare känner till MySQL, så det är den främsta konkurrenten för en typisk LAMP-stack.

    (8) MEAN stackar typiskt Spring fortare och skala större, men kräver mycket mer tid och serverkunskap för att lära sig systemet. LAMP-staplar är testad och sann, och de kommer utanför lådan med den säkraste infrastrukturen och det bredaste stödet som kan tänkas.

    (9) Programmeringsspråk gör en stor skillnad mellan de två staplarna. LAMP fungerar huvudsakligen på PHP som innehåller WordPress och Laravel-ramverket. MEAN fungerar på ExpressJS / NodeJS för backend med AngularJS på fronten.

    (10) MEAN är full stack JavaScript, och det är mycket du behöver lära dig att få det att springa. Det är en täta val av nya uppstart villig att driva gränserna i webbapputveckling. LAMP är mer traditionell med JS på fronten, PHP på backend. Den är gjord för människor som bara vill få webbplatser online utan för mycket bekymmer.

    Kolla in denna jämförelseguide för att lära dig lite mer. Varken valet är rätt eller fel, bara annorlunda och gjord för olika projekt.

    Avslutar

    Jag skulle säga att de flesta webbplatser lutar sig mot LAMP-stapeln eftersom det är testat och har många användbara Q & A-trådar indexerade i Google. MEAN växer fortfarande och har också gott om stöd, men kan vara mer teknisk än de flesta vill hantera.

    Testa gärna båda och se dem själv. Det är möjligt att installera båda inställningarna lokalt på din dator och bygga på dem utan en fjärrserver.

    Och om du letar efter mer info på endera stacken har jag samlat in en uppsättning praktiska länkar nedan.

    • Lär dig att bygga moderna webbapplikationer med MEAN (Thinkster.io)
    • Docker LAMP Stack Admin (Jessesnet.com)
    • Så här installerar du Linux, Apache, MySQL, PHP (LAMP) Stack på Debian 8 (Digitalocean.com)