MEAN vs LAMP Stack Klady a zápory
Web stacks sa vyvíjali v priebehu desaťročí s pokrokom v oblasti technológií a podporných jazykov. Dva z najobľúbenejších webových stohov sú momentálne LAMP a MEAN. Spoliehajú sa na dve odlišné technológie pre podporné jazyky, databázy a serverové prostredia. Termín "zásobník" odkazuje technológie, ktoré sa navzájom stohujú, aby vytvorili prostredie webového servera.
V tomto článku by som rád objasnil tieto dva webové stacky tým, že preskúmam ich technologickú voľbu, a to tak pre a proti, Kde sa každý stoh vyniká? A aké typy projektov by najviac profitovali z jednej z možností? Ak ste noví na webových technológiách, alebo sa chcete dozvedieť o týchto dvoch balíkoch, má táto príručka všetko, čo potrebujete.
Tradičný vývoj LAMP
Väčšina vývojárov by mala vedieť o tradičnom stĺpci LAMP, pretože to bolo už od počiatku webu. LAMP znamenať Linux, Apache, MySQL a PHP. Každý z nich je individuálny softvérový balík, ktorý je kombinovaný, aby vytvoril všestranné riešenie servera.
Najväčší dôvod na to, aby ste sa držali lampy, je bezpečnosti a širokej podpory. Bolo to po celé desaťročia a je to overená metóda hosťovania webových stránok.
Všetky backend tech ako PHP a MySQL sú dobre známe a podporované všetkými veľkými poskytovateľmi hostingu. Ak pracujete na stĺpci LAMP, môžete prakticky hostiť kdekoľvek. Navyše dostanete prístup k najpopulárnejším CMS motorom. WordPress, Drupal a Joomla fungujú na PHP / MySQL.
Existujú prispôsobiteľné možnosti v architektúre LAMP, ako napríklad LEMP nahradzujúcu Apache s nginx. Môžete tiež spustiť variant na serveri Windows ako zásobník WAMP.
Avšak všetky základné softvér - vrátane Apache, MySQL a PHP - boli otvorené, a vyrobené predovšetkým pre Linux. To je dôvod, prečo Linux má najväčší zmysel pre serverové prostredie a to je dôvod, prečo LAMP stála skúškou času pre moderný vývoj webových aplikácií.
Väčšina vývojárov ide touto cestou, pretože je to najjednoduchší spôsob, ako získať webové stránky online. Nájdete tu veľa podpory na fórach, ktoré obsahujú všetko, čo potrebujete na konfiguráciu a riešenie problémov s prostredím LAMP. Môžete si napríklad overiť túto otázku servera ServerFault pre viac informácií.
JavaScript Backend s MEAN
Node.js je najnovšia technológia pre vývojárov určených na spustenie škálovateľných aplikácií vytvorených pomocou jazyka JavaScript. uzol napája zásobník MEAN, a ponúka hlavnú výhodu: všetko beží v jednom jazyku.
STREDNÉ znamenať MongoDB, Express.js, Angular.js, a samozrejme Node.js. Táto skratka nekladie žiadnu požiadavku na operačný systém servera alebo serverový softvér. Zložka MEAN môže bežať na ľubovoľnom OS, a Node dokonca prichádza s vlastným serverom na spracovanie JS na backend.
Nájdete veľa dokumentácie a podpory na webových stránkach Mean.io.
Aj keď tento zásobník získal veľa pozornosti, stále nemá takmer žiadnu stabilnú podporu ako tradičný zásobník LAMP.
Tak prečo by mal niekto ísť s MEAN? Pretože to je nakoniec rýchlejšie a ľahšie prispôsobiť. MongoDB je a Databázy NoSQL ktorý optimalizuje dopyty. Použitie fullstack JavaScript tiež zlepšuje vývoj, pretože jeden jazyk platí pre všetky frontend a backend práce.
Okrem mnohých ďalších rámcov JS sa trh stáva stabilným riešením. Napríklad, MEAN môžete prepnúť na a MEEN stack nahradiť Angulárne s Emberom.
Programátori budú milovať stack MEAN, pretože to oddeľuje kód pre udržiavateľnosť a rast. To robí to jednoduchšie usporiadať webové aplikácie JavaScriptu tak, aby fungovali v prirodzenom prostredí.
Na túto tému sa veľa naučiť a to je pravdepodobne najväčšia prekážka vstupu nových vývojárov. Učenie všetkých technológií potrebných na správu aplikácie MEAN môže trvať mesiace. Ale ak máte radi Node, a chcete spustiť všetko v jazyku JavaScript, stojí to za to.
Tu sú niektoré začiatočnícke kurzy, ktoré vám umožnia začať.
- Sprievodca absolútnym začiatočníkom na Node.js
- Felix's Node.js Sprievodca pre začiatočníkov
- Úvod do Express.js
- Naučte sa stavať moderné webové aplikácie s prostriedkami MEAN
- Začíname s aplikáciou Node.js, Express a MongoDB
PHP vs. uzol
PHP je od polovice 90. rokov a je naozaj najpopulárnejším podporným jazykom. Mnohí weboví vývojári začínajú PHP (alebo nakoniec sa učia), pretože je tak prevládajúci medzi webovými platformami a poskytovateľmi hostingu.
Uzol je novší rámec, ale jeho popularita sa zvýšila mimoriadne rýchlo. To zahŕňa popularitu NPM ako správcu balíkov pre webových vývojárov a ďalej sa rozširuje na výkonné frontendové rámce, ako napríklad Angular 2.
Ďalšou výhodou uzla je to, že prichádza s vlastným webovým serverom. JavaScript je koreňom všetkého na zásobníku MEAN, takže ak máte radi JS, potom budete skutočne milovať budovanie webových aplikácií MEAN.
Mnoho vývojárov cíti, že PHP je zle navrhnutý jazyk, pretože tvorca, Rasmus Lerdorf ho v skutočnosti nevytvoril ako jazyk. PHP začalo ako generické riešenie pre webové stránky, a rýchlo sa rozrástla do veľkej knižnice nesúvisiacich funkcií.
Ale PHP 7 sa pokúša opraviť veľa chýb jazyka, a to zadarmo OOP ako Laravel, PHP je oveľa lepší jazyk, než kedy bol.
Takže debata o jazyku sa znižuje vašou osobnou voľbou. Máte radi písanie jazyka JavaScript? Potom je vhodné zvážiť uzol s balíčkom MEAN.
Ak už poznáte PHP a chcete sa držať toho, čo viete, LAMP je životaschopnou cestou.
Celkové klady a zápory:
Existujú viac vrstiev každého webového balíka na porovnanie vrátane operačného systému, serverového softvéru, databázy a jazyka backendov.
(1) MEAN stack tiež zahŕňa uhlové čo je rámec frontend. Neexistuje žiadny požadovaný rámec v zásobníku LAMP, ale vždy môžete pridať svoju vlastnú aplikáciu, ktorú vytvoríte.
(2) Čo sa týka operačného systému, zásobník LAMP hľadá derivát Linuxu. Linux je zvyčajne najlepšou voľbou pre serverové prostredie bez ohľadu na stoh a je to pravda aj pre MEAN.
(3) Teraz server OS je len počítačový softvér, ale nie je to softvér webového servera. Ak chcete získať toto, potrebujete program ako Apache alebo nginx. LAMP používa Apache, pretože je to jedna z najstabilnejších dostupných možností.
(4) MEAN používa server Node.js, ktorý je časť balíka uzlov. Je to stále pomerne nové a zatiaľ čo tam je dostatok podpory, uzol nemá takmer žiadnu komunitu rovnakej veľkosti ako Apache.
(5) Tiež server Node vyžaduje backend JavaScript (bez rozšírení). apache umožňuje väčšinu podporných jazykov, a existuje mnoho bezplatných rozšírení pre väčšiu podporu. Ale práve teraz Apache nemá nič pre podporu uzla.
(6) Správa databáz je miesto, kde nájdete najväčší rozdiel. LAMP používa MySQL na ukladanie relačných dát, zatiaľ čo MEAN používa MongoDB, čo je nerelačná databáza. Nerelačné DB sú oveľa rýchlejšie, a poskytujú jednoduchšiu metódu škálovania s vyššou návštevnosťou.
(7) Majte na pamäti, že PHP nie je obmedzené len na MySQL. Môže použiť MongoDB a ďalšie alternatívy ako PostgreSQL alebo SQLite. Je to len to, že väčšina vývojárov PHP vie MySQL, takže je hlavným uchádzačom o typický LAMP zásobník.
(8) MEAN zásobníky typicky bež rýchlejšie a väčšia veľkosť, ale vyžadujú oveľa viac času a vedomosti o serveroch, aby sa naučili systém. Lampové zásobníky sú osvedčenú a pravdivé, a prídu von z krabice s najbezpečnejšou infraštruktúrou a najsrozumiteľnejšou podporou.
(9) Programovacie jazyky predstavujú veľký rozdiel medzi týmito dvomi zásobníkmi. LAMP primárne pracuje na PHP, ktorý zahŕňa WordPress a Laravel rámec. Služba MEAN pracuje na ExpressJS / NodeJS pre backend s rozhraním AngularJS na fronte.
(10) MEAN je full-stack JavaScript, a tam je veľa, čo budete musieť naučiť, aby sa to beží. Je to častý výber nových začínajúcich podnikov ochotní tlačiť hranice vo vývoji webových aplikácií. LAMP je tradičnejší JS na fronte, PHP na backend. Je určený ľuďom, ktorí chcú získajte webové stránky online bez prílišných obáv.
Prečítajte si túto porovnávaciu príručku a dozviete sa trochu viac. Ani jedna z možností nie je správna, alebo zle, len iná a určená pre rôzne projekty.
Zbaliť
Povedal by som, že väčšina webových stránok sa nakloní k zásobníku LAMP, pretože je testovaná a má veľa užitočných vlákien Q & A indexovaných v službe Google. Spoločnosť MEAN stále rastie a má tiež dostatok podpory, ale môže byť technickejšia, než sa väčšina ľudí snaží riešiť.
Nebojte sa skúsiť oba, a uvidíte ich sami. Je to možné inštalujte obe nastavenia lokálne v počítači a stavať na nich bez vzdialeného servera.
A ak hľadáte viac informácií o každom stohu, zhromaždil som súbor vhodných odkazov.
- Naučte sa stavať moderné webové aplikácie s prostriedkami MEAN (Thinkster.io)
- Docker LAMP Stack Admin (Jessesnet.com)
- Ako nainštalovať Linux, Apache, MySQL, PHP (LAMP) Stack na Debian 8 (Digitalocean.com)