Pagrindinis » Interneto svetainės dizainas » MEAN vs LAMP kamino privalumai ir trūkumai

    MEAN vs LAMP kamino privalumai ir trūkumai

    Žiniatinklio kaminai per dešimtmečius vystosi technologijų ir backend kalbomis. Šiuo metu du populiariausieji interneto rinkiniai yra LAMP ir MEAN. Jie remiasi dviem skirtingomis „backend“ kalbų, duomenų bazių ir serverių aplinkų technologijomis. Terminas "kamino" reiškia technologijos, kurios sukrauna vienas ant kito, kad sukurtų žiniatinklio serverio aplinką.

    Šiame straipsnyje norėčiau išsiaiškinti šiuos du žiniatinklio kaminus, žiūrėdamas į jų technologinius sprendimus, tiek privalumus, tiek trūkumus. Kur kiekvienas kamino tobulas? Ir kokių tipų projektai būtų naudingi iš abiejų variantų? Jei esate naujas žiniatinklio technologijas arba tiesiog norite sužinoti apie šiuos du kaminus, šiame vadove yra viskas, ko jums reikia.

    Tradicinė LAMP plėtra

    Dauguma kūrėjų turėtų žinoti apie tradicinį LAMP stack'ą, nes jis buvo žinomas nuo ankstyvojo žiniatinklio. LAMP reiškia „Linux“, „Apache“, „MySQL“ ir PHP. Kiekvienas iš jų yra individualūs programinės įrangos paketai, kurie yra sujungti, kad būtų sukurtas universalus serverio sprendimas.

    Didžiausia priežastis laikytis LAMP yra saugumą ir plačią paramą. Tai buvo maždaug dešimtmečius, ir tai yra įrodyta, kaip priegloba svetainėse.

    Visos „backend“ technologijos, tokios kaip „PHP“ ir „MySQL“, yra gerai žinomos, ir remia visi pagrindiniai prieglobos paslaugų teikėjai. Jei dirbate LAMP stack'e, iš esmės galite priimti bet kur. Be to, gausite prieigą prie populiariausių CMS variklių. „WordPress“, „Drupal“ ir „Joomla“ visi veikia PHP / MySQL.

    Yra pritaikomos parinktys LAMP architektūroje, pvz., LEMP, pakeičiančioje Apache su nginx. Taip pat galite paleisti variantą „Windows“ serveryje kaip WAMP.

    Tačiau visa pagrindinė programinė įranga - įskaitant „Apache“, „MySQL“ ir „PHP“ - buvo atviros, ir pagaminta daugiausia „Linux“. Štai kodėl „Linux“ yra prasmingiausia serverio aplinkoje, todėl LAMP laikė laiko išbandymu šiuolaikiniam interneto kūrimui.

    Dauguma kūrėjų vyksta šiuo maršrutu, nes tai yra paprasčiausias būdas gauti interneto svetainę. Čia rasite daug paramos forumuose, kurie apima viską, ko reikia norint konfigūruoti ir pašalinti LAMP aplinką. Pavyzdžiui, galite sužinoti šį „ServerFault“ klausimą, jei norite gauti daugiau informacijos.

    „JavaScript Backend“ su „MEAN“

    „Node.js“ yra naujausia technologija, skirta kūrėjams, norintiems paleisti keičiamo dydžio programas, sukurtas naudojant „JavaScript“. Mazgas įgalina MEAN steką, ir siūlo pirminį pranašumą: viską veikia viena kalba.

    PASIEKTI reiškia MongoDB, Express.js, Angular.js, ir žinoma Node.js. Šis akronimas nereikalauja serverio operacinės sistemos ar serverio programinės įrangos. MEAN kamino gali veikti bet kurioje OS, ir „Node“ netgi turi savo serverį, skirtą JS valdyti ant „backend“.

    Mean.io svetainėje rasite daug dokumentų ir palaikymo.

    Nors šis kaminas turi daug dėmesio, jis vis dar neturi jokios stabilios atramos, kaip tradicinės LAMP kamino.

    Tad kodėl kas nors eiti su MEAN? Nes, tai yra galiausiai greičiau ir lengviau masto. MongoDB yra a NoSQL duomenų bazė optimizuoja užklausas. „Fullstack JavaScript“ naudojimas taip pat pagerina plėtrą, nes viena kalba taikoma visiems „frontend“ ir „backend“ darbams.

    Be to, daugelis kitų JS sistemų patenka į rinką kaip stabilūs sprendimai. Pavyzdžiui, „MEAN“ galima perjungti į „a“ MEEN kamino pakeičiant kampą su žmogumi.

    Programuotojai mylės MEAN steką, nes jis bus atskiria kodą palaikomumui ir augimui. Tai daro jį lengviau tvarkyti „JavaScript“ žiniatinklio programas, kad jos veiktų natūralioje aplinkoje.

    Yra daug ką pasimokyti šiuo klausimu, ir tai tikriausiai yra didžiausia kliūtis patekti į naujus kūrėjus. Visų technologijų, reikalingų „MEAN“ programai valdyti, mokymasis gali užtrukti mėnesius. Bet jei jums patinka „Node“ ir norite paleisti viską „JavaScript“, tai verta pastangų.

    Štai keletas pradedantiesiems skirtų pamokų.

    • „Absolute Beginner's“ vadovas „Node.js“
    • „Felix“ „Node.js“ pradedantiesiems vadovas
    • „Express.js“ įvadas
    • Sužinokite, kaip sukurti modernią žiniatinklio programą su MEAN
    • Darbo su „Node.js“, „Express“ ir „MongoDB“ pradžia

    PHP vs mazgas

    PHP buvo maždaug nuo devintojo dešimtmečio vidurio ir yra tikrai populiariausia „backend“ kalba. Daugelis žiniatinklio kūrėjų pradeda (arba galiausiai išmokti) PHP, nes tai taip dominuoja visose interneto platformose ir prieglobos paslaugų teikėjų.

    Mazgas yra naujesnė sistema, tačiau jos populiarumas labai padidėjo. Tai apima „NPM“ populiarumą kaip žiniatinklio kūrėjų paketų tvarkyklę ir toliau plečia į galingas „frontend“ sistemas, pvz., Kampinį 2.

    Kita „Node“ nauda yra ta, kad ji ateina su savo interneto serveriu. „JavaScript“ yra viskas, kas yra „MEAN“ stekoje, taigi, jei jums patinka JS, jums tikrai patiks kurti „MEAN“ žiniatinklio programas.

    Daugelis kūrėjų mano, kad PHP yra prastai sukurta kalba, nes kūrėjas, Rasmus Lerdorfas nesukūrė jo kaip kalbos. PHP prasidėjo kaip a bendrasis tinklapių sprendimas, ir greitai išaugo į didelę nesusijusių funkcijų biblioteką.

    Tačiau, kai PHP 7 bando išspręsti daug kalbos klaidų ir nemokamai OOP „Laravel“, PHP yra daug geresnė kalba, nei kada nors buvo.

    IMAGE: Stackoverflow

    Taigi kalbų diskusijos vyksta jūsų asmeninis pasirinkimas. Ar tikrai mėgstate rašyti „JavaScript“? Tuomet gali būti verta apsvarstyti mazgą su MEAN kaminu.

    Jei jau žinote PHP, ir norite laikytis to, ką žinote, LAMP taip pat yra perspektyvus maršrutas.

    Apskritai privalumai ir trūkumai:

    Yra kelis sluoksnius palyginti su kiekviena žiniatinklio sklype, įskaitant operacinę sistemą, serverio programinę įrangą, duomenų bazę ir „backend“ kalbą.

    (1) The MEAN kamino taip pat apima kampinį tai yra „frontend“ sistema. LAMP stack'e nėra jokios reikalingos sistemos, bet visada galite pridėti savo kūrinius bet kuriai jūsų sukurtai programai.

    (2) Kalbant apie OS, LAMP stack ieško išvestinės „Linux“. „Linux“ paprastai yra geriausias pasirinkimas serverio aplinkai nepriklausomai nuo kamino, taip pat tiesa.

    (3) Dabar serverio operacinė sistema yra tik kompiuterio programinė įranga, bet tai ne žiniatinklio serverio programinė įranga. Norėdami tai padaryti, jums reikia tokios programos kaip „Apache“ arba „nginx“. „LAMP“ naudoja „Apache“, nes tai vienas iš stabiliausių pasirinkimų.

    (4) MEAN naudoja Node.js serverį, kuris yra dalis mazgo paketo. Tai vis dar gana nauja, o nors ten yra daug paramos, „Node“ niekur nėra netoli tokio pat dydžio bendruomenės kaip „Apache“.

    (5) Reikalingas ir mazgo serveris „JavaScript“ programinė įranga (be plėtinių). Apache leidžia daugelyje „backend“ kalbų, ir yra daug nemokamų plėtinių didesniam palaikymui. Tačiau dabar „Apache“ neturi nieko Node palaikymui.

    (6) Duomenų bazių valdymas kur rasite didžiausias skirtumas. LAMP naudoja „MySQL“ reliacinių duomenų saugojimui, o „MEAN“ naudoja MongoDB, kuri yra ne reliacinė duomenų bazė. Ne reliaciniai DB yra daug greičiau, ir suteikti paprastesnį mastelio keitimo būdą su didesniu srautu.

    (7) Atminkite, kad PHP neapsiriboja vien MySQL. Jis gali naudoti MongoDB ir kitas alternatyvas, tokias kaip PostgreSQL arba SQLite. Tai tik tai, kad dauguma PHP kūrėjų žino „MySQL“, todėl tai yra pagrindinis varžovas tipiniam LAMP kaminai.

    (8) Paprastai MEAN kaminai bėk greičiau ir mastelis didesnis, tačiau reikia daug daugiau laiko ir serverio žinių, kad sužinotumėte sistemą. LAMP kaminai yra išbandytas ir teisingas, Jie atėjo iš dėžutės su saugiausia infrastruktūra ir plačia parama.

    (9) Programavimo kalbos daro didelį skirtumą tarp dviejų stekų. LAMP pirmiausia veikia PHP, kuriame yra WordPress ir Laravel sistema. „MEAN“ veikia „ExpressJS“ / „NodeJS“ sistemoje, kai „Frontular“ yra „AngularJS“.

    (10) MEAN yra „JavaScript“, ir jūs turite daug išmokti, kad galėtumėte tai padaryti. Tai yra dažnai pasirenkami nauji steigėjai nori stumti ribas žiniatinklio programų kūrime. LAMP yra labiau tradicinis JS ant priekinės dalies, PHP ant backend. Jis skirtas žmonėms, kurie tik nori gauti interneto svetaines be per daug rūpesčių.

    Jei norite sužinoti daugiau, patikrinkite šį palyginimo vadovą. Nė vienas pasirinkimas nėra teisingas ar neteisingas, tik skiriasi ir skirtingiems projektams.

    Apvyniojimas

    Norėčiau pasakyti, kad dauguma svetainių linksta į LAMP stacką, nes ji yra išbandyta, ir turi daug naudingų temų, kurios indeksuojamos „Google“. MEAN vis dar auga, taip pat turi daug paramos, tačiau gali būti labiau techninis nei dauguma žmonių nori susidoroti.

    Nesivaržykite pabandyti abu ir pamatyti juos sau. Tai įmanoma įdiegti abu nustatymus vietoje jūsų kompiuteryje ir remkitės jomis be nuotolinio serverio.

    Ir jei jūs ieškote daugiau informacijos apie bet kurį pinigą, aš surinko keletą patogių nuorodų.

    • Sužinokite, kaip sukurti modernią žiniatinklio programą su MEAN (thinkster.io)
    • Docker LAMP kamino administratorius (jessesnet.com)
    • Kaip įdiegti „Linux“, „Apache“, „MySQL“, „PHP“ (LAMP) „Stack“ „Debian 8“ (digitalocean.com)