Domača » Oblikovanje spletnih strani » MEAN vs LAMP Stack prednosti in slabosti

    MEAN vs LAMP Stack prednosti in slabosti

    Spletni skladi so se razvijali desetletja z napredkom v tehnologiji in ozadju jezikov. Dva izmed najbolj priljubljenih spletnih skladov sta trenutno LAMP in MEAN. Zanašajo se na dve različni tehnologiji za podporne jezike, baze podatkov in strežniška okolja. Izraz "stack" se nanaša na tehnologij, ki se postavljajo ena na drugo, da bi ustvarile okolje spletnega strežnika.

    V tem članku bi rad pojasnil ta dva spletna paketa, če bi pogledal njihove tehnološke izbire, tako prednosti kot slabosti. Kje je vsak stack odličen? In katere vrste projektov bi imele največ koristi od obeh možnosti? Če ste novi v spletnih tehnologijah ali se želite le naučiti teh dveh nizov, potem ima ta priročnik vse, kar potrebujete.

    Tradicionalni razvoj LAMP

    Večina razvijalcev bi morala vedeti za tradicionalni sklad LAMP, ker je že od zgodnjega spleta. LAMP pomeni Linux, Apache, MySQL in PHP. Vsak od teh je individualna programska oprema, ki se združi v vsestransko strežniško rešitev.

    Največji razlog, da se držite LAMP-a, je varnost in široko podporo. To je bilo približno za desetletja, in to je dokazana metoda gostovanje spletnih strani.

    Vse backend tehnologije, kot so PHP in MySQL, so dobro znane, in podpira vsak večji ponudnik gostovanja. Če delate na skladu LAMP, lahko v bistvu gostite kjerkoli. Poleg tega dobite dostop do najbolj priljubljenih motorjev CMS. WordPress, Drupal in Joomla delujejo na PHP / MySQL.

    Obstajajo prilagodljive možnosti znotraj arhitekture LAMP, kot je LEMP, ki nadomesti Apache z nginx. Različico lahko zaženete tudi v strežniku Windows kot stack WAMP.

    Vendar pa je vse jedro programske opreme - vključno z Apache, MySQL in PHP - so bili odprti, in izdelan predvsem za Linux. Zato je Linux najbolj smiseln za strežniško okolje, zato je LAMP preizkusil čas za sodoben spletni razvoj.

    Večina razvijalcev gre to pot, ker je najenostavnejši način spletnega dostopa do spletnega mesta. Na forumih, ki pokrivajo vse, kar potrebujete za konfiguriranje in odpravljanje težav z okoljem LAMP, boste našli veliko podpore. Na primer, za več informacij si lahko ogledate to vprašanje Serverfault.

    JavaScript Backend z MEAN

    Node.js je najnovejša tehnologija za razvijalce, ki se odločijo za izvajanje razširljivih aplikacij, izdelanih s JavaScriptom. Vozlišče poganja MEAN stack, in ponuja primarno prednost: vse deluje v enem jeziku.

    POMENI pomeni MongoDB, Express.js, Angular.js, in seveda Node.js. Ta kratica ne zahteva nobenega zahtevka za strežniški operacijski sistem ali strežniško programsko opremo. MEAN stack lahko deluje na katerem koli OS, Node pa ima tudi lasten strežnik za upravljanje JS na hrbtenici.

    Na spletni strani Mean.io boste našli veliko dokumentacije in podpore.

    Čeprav je ta stack pridobil veliko pozornosti, še vedno ni nikjer blizu stabilne podpore kot tradicionalni sklad LAMP.

    Torej, zakaj bi kdo šel z MEAN? Ker je to na koncu hitreje in lažje meriti. MongoDB je a NoSQL baza podatkov ki optimizira poizvedbe. Uporaba fullstack JavaScript-a prav tako izboljšuje razvoj, ker se uporablja en jezik za vse frontend in backend delo.

    Poleg tega veliko drugih JS ogrodij dosega trg kot stabilne rešitve. Na primer, MEAN lahko preklopite na a MEEN stack in zamenja Angular z Ember.

    Programerji bodo radi MEAN stack radi, ker ga ločuje kodo za vzdržljivost in rast. Tako je lažje organizirate svoje spletne aplikacije JavaScript, tako da delujejo v naravnem okolju.

    Na tem področju se lahko veliko naučimo in to je verjetno največja ovira za vstop novih razvijalcev. Učenje vseh tehnologij, potrebnih za upravljanje aplikacije MEAN, lahko traja mesece. Ampak, če imate radi Node in želite zagnati vse na JavaScriptu, je to vredno truda.

    Tukaj je nekaj uvodnih vaj za začetnike.

    • Popoln vodnik za začetnike za Node.js
    • Felixov vodič za začetnike Node.js
    • Uvod v Express.js
    • Naučite se graditi sodobne spletne aplikacije z MEAN
    • Uvod v Node.js, Express in MongoDB

    PHP v primerjavi z vozliščem

    PHP je že od sredine devetdesetih let in je res najbolj priljubljen backend jezik. Mnogi spletni razvijalci začenjajo s PHP-jem ali se na koncu naučijo, ker je tako prevladujoča v vseh spletnih platformah in ponudnikih gostovanja.

    Vozlišče je novejši okvir, vendar je njegova priljubljenost izjemno hitro narasla. To vključuje popularnost NPM-ja kot upravitelja paketov za spletne razvijalce in se širi naprej v zmogljive okvire frontendov, kot je Angular 2.

    Druga korist Node je, da je ima svoj spletni strežnik. JavaScript je koren vsega na MEAN stacku, tako da, če imate radi JS, boste resnično radi zgradili MEAN spletne aplikacije.

    Mnogi razvijalci menijo, da je PHP slabo oblikovan jezik, ker je ustvarjalec, Rasmus Lerdorf ga dejansko ni oblikoval kot jezik. PHP je začel kot generična rešitev za spletne strani, in hitro prerasla v veliko knjižnico nepovezanih funkcij.

    Toda s PHP 7, ki poskuša popraviti veliko napak v jeziku, in s prostim OOP okviri, kot je Laravel, zdaj PHP veliko boljši jezik, kot je bil kdajkoli prej.

    SLIKA: Stackoverflow

    Torej je razprava o jeziku odvisna od tega vašo osebno izbiro. Ali res ljubite pisanje JavaScripta? Nato je vredno razmisliti o vozlišču z MEAN stackom.

    Če že poznate PHP in se želite držati tega, kar veste, je tudi LAMP uspešna pot.

    Splošne prednosti in slabosti:

    Obstajajo več plasti vsakega spletnega sklada za primerjavo, vključno z operacijskim sistemom, strežniško programsko opremo, bazo podatkov in ozadnim jezikom.

    (1) The MEAN stack prav tako vključuje Angular okvir, ki je frontend. V svežnju LAMP ni zahtevanega okvira, vendar lahko v vsako aplikacijo, ki jo zgradite, vedno dodate svoje.

    (2) V zvezi z OS stack LAMP išče derivat Linuxa. Linux je običajno najboljša izbira za strežniško okolje ne glede na stack in velja tudi za MEAN.

    (3) Zdaj je OS strežnika samo računalniška programska oprema, vendar ni programska oprema za spletni strežnik. Za to potrebujete program, kot je Apache ali nginx. LAMP uporablja Apache, ker je to ena izmed najbolj stabilnih izbir.

    (4) MEAN uporablja strežnik Node.js, ki je del paketa vozlišč. Še vedno je precej nova, in čeprav je na voljo veliko podpore, Node ni nikoli blizu enake velikosti kot Apache.

    (5) Tudi strežnik Node zahteva ozadje JavaScripta (brez razširitev). Apache omogoča uporabo večine ozadnih jezikov, in obstaja veliko prostih razširitev za večjo podporo. Ampak od zdaj Apache nima nič za podporo Node.

    (6) Upravljanje baz podatkov tam boste našli največja razlika. LAMP uporablja MySQL za relacijsko shranjevanje podatkov, medtem ko MEAN uporablja MongoDB, ki je ne-relacijska baza podatkov. Ne-relacijski DB so veliko hitreje, in omogočajo lažjo metodo skaliranja z večjim prometom.

    (7) Ne pozabite, da PHP ni omejen samo na MySQL. Lahko uporablja MongoDB in druge alternative, kot sta PostgreSQL ali SQLite. Večina PHP razvijalcev pozna MySQL, zato je glavni kandidat za tipičen sklad LAMP.

    (8) MEAN tipično teči hitreje in lestvice večje, vendar potrebujejo veliko več časa in znanja strežnika za učenje sistema. Skladi LAMP so preizkušen in resničen, in pridejo out-of-the-box z najvarnejšo infrastrukturo in najširšo možno podporo.

    (9) Programski jeziki imajo veliko razliko med dvema skladoma. LAMP deluje predvsem na PHP, ki vključuje WordPress in okvir Laravel. MEAN deluje na ExpressJS / NodeJS za backend z AngularJS na frontendu.

    (10) MEAN je polni sklad JavaScript, in veliko se boste morali naučiti, da boste to tekli. Je pogosta izbira novih podjetij pripravljeni premakniti meje v razvoju spletnih aplikacij. LAMP je bolj tradicionalen z JS na sprednji strani, PHP na hrbtni strani. Namenjen je ljudem, ki si to želijo dobite spletne strani na spletu brez preveč skrbi.

    Oglejte si ta priročnik za primerjavo, če želite izvedeti kaj več. Niti izbira ni pravilna ali napačna, drugačna in za različne projekte.

    Zavijanje

    Rekel bi, da je večina spletnih strani nagnjena k skladu LAMP, ker je preizkušena, in ima veliko Googlovih nizov koristnih vprašanj in odgovorov. MEAN še vedno raste in ima tudi veliko podpore, vendar je lahko bolj tehničen, kot si večina želi.

    Vabimo vas, da preizkusite oba, in si ju sami ogledate. Možno je namestite obe nastavitvi lokalno v računalniku in jih nadgradite brez oddaljenega strežnika.

    In če iščete več informacij o obeh skladih, sem spodaj zbral niz priročnih povezav.

    • Naučite se graditi sodobne spletne aplikacije z MEAN (thinkster.io)
    • Docker LAMP Stack Admin (jessesnet.com)
    • Kako namestiti Linux, Apache, MySQL, PHP (LAMP) na Debian 8 (digitalocean.com)