MEAN vs. LAMP Stack Plusy i minusy
Stosy internetowe ewoluowały przez dziesięciolecia wraz z rozwojem technologii i języków backendowych. Dwa z najpopularniejszych obecnie stosów internetowych to LAMP i MEAN. Opierają się na dwóch różnych technologiach dla języków zaplecza, baz danych i środowisk serwerów. Termin „stos” odnosi się do technologie, które układają się jedna na drugiej, aby stworzyć środowisko serwera WWW.
W tym artykule chciałbym wyjaśnić te dwa stosy stron internetowych, patrząc na ich wybory technologiczne, zarówno za i przeciw. Gdzie wyróżnia się każdy stos? Jakie rodzaje projektów odniosłyby największe korzyści z obu opcji? Jeśli jesteś nowicjuszem w dziedzinie technologii internetowych lub chcesz się dowiedzieć o tych dwóch stosach, ten przewodnik zawiera wszystko, czego potrzebujesz.
Tradycyjny rozwój LAMP
Większość programistów powinna wiedzieć o tradycyjnym stosie LAMP, ponieważ istnieje on od wczesnej sieci. LAMPA oznacza Linux, Apache, MySQL i PHP. Każdy z nich to indywidualne pakiety oprogramowania, które łączą się, tworząc wszechstronne rozwiązanie serwerowe.
Największym powodem, dla którego warto trzymać się LAMP jest bezpieczeństwo i szerokie wsparcie. Jest już od dziesięcioleci i jest sprawdzoną metodą hostingu stron internetowych.
Wszystkie techniki zaplecza, takie jak PHP i MySQL, są dobrze znane i obsługiwane przez każdego głównego dostawcę usług hostingowych. Jeśli pracujesz na stosie LAMP, możesz w zasadzie hostować w dowolnym miejscu. Dodatkowo dostajesz dostęp do najpopularniejszych silników CMS. WordPress, Drupal i Joomla działają na PHP / MySQL.
Tam są konfigurowalne opcje w architekturze LAMP, takiej jak LEMP zastępująca Apache nginx. Możesz również uruchomić wariant na serwerze Windows jako stos WAMP.
Jednak całe podstawowe oprogramowanie - w tym Apache, MySQL i PHP - były otwarte, i stworzony głównie dla Linuksa. Dlatego właśnie Linux ma największe znaczenie dla środowiska serwerowego i dlatego LAMP przetrwał próbę czasu na nowoczesne tworzenie stron internetowych.
Większość programistów idzie tą drogą, ponieważ jest najprostszy sposób na uzyskanie strony internetowej online. Znajdziesz wiele wsparcia na forach, które obejmują wszystko, czego potrzebujesz do konfiguracji i rozwiązywania problemów ze środowiskiem LAMP. Na przykład możesz sprawdzić to pytanie ServerFault, aby uzyskać więcej informacji.
Backend JavaScript z MEAN
Node.js to najnowsza technologia dla deweloperów, którzy chcą uruchamiać skalowalne aplikacje zbudowane z JavaScript. Węzeł zasila stos MEAN, i oferuje podstawową przewagę: wszystko działa na jednym języku.
OZNACZAĆ oznacza MongoDB, Express.js, Angular.js, i oczywiście Node.js. Ten akronim nie wymaga żadnego systemu operacyjnego serwera ani oprogramowania serwera. Stos stosowny może działać na dowolnym systemie operacyjnym, a Node ma nawet własny serwer do obsługi JS na zapleczu.
Znajdziesz wiele dokumentacji i wsparcia na stronie Mean.io.
Chociaż ten stos zyskał wiele uwagi, wciąż nie ma w pobliżu stabilnego wsparcia, jak tradycyjny stos LAMP.
Dlaczego więc ktoś miałby iść z MEAN? Ponieważ to jest ostatecznie szybciej i łatwiejsze do skalowania. MongoDB to a Baza danych NoSQL co optymalizuje zapytania. Zastosowanie pełnego kodu JavaScript poprawia również rozwój, ponieważ jeden język dotyczy wszystkich nakładek i pracy zaplecza.
Ponadto wiele innych ram JS trafia na rynek jako stabilne rozwiązania. Na przykład MEAN można przełączyć na a MEEN stos zastąpienie Angulara Ember.
Programiści pokochają stos MEAN, ponieważ oddziela kod dla utrzymania i wzrostu. To sprawia, że łatwiej zorganizować swoje aplikacje internetowe JavaScript, aby działały w środowisku naturalnym.
Na ten temat można się wiele nauczyć, a to prawdopodobnie największa bariera dla nowych programistów. Nauka wszystkich technologii wymaganych do zarządzania aplikacją MEAN może potrwać miesiące. Ale jeśli kochasz Node i chcesz uruchomić wszystko na JavaScript, jest to warte wysiłku.
Oto kilka samouczków dla początkujących.
- Absolutny przewodnik dla początkujących do Node.js
- Przewodnik dla początkujących Felixa Node.js
- Wprowadzenie do Express.js
- Naucz się budować nowoczesne aplikacje internetowe za pomocą MEAN
- Pierwsze kroki z Node.js, Express i MongoDB
PHP vs. Node
PHP istnieje od połowy lat 90. i jest naprawdę najpopularniejszym językiem zaplecza. Wielu twórców stron internetowych zaczyna od PHP (lub w końcu się uczy), ponieważ jest tak przeważająca w przypadku platform internetowych i dostawców hostingu.
Węzeł jest nowszą strukturą, ale jego popularność wzrosła niezwykle szybko. Obejmuje to popularność NPM jako menedżera pakietów dla twórców stron internetowych i rozszerza się na potężne frameworki takie jak Angular 2.
Inną zaletą węzła jest to, że posiada własny serwer internetowy. JavaScript jest głównym źródłem wszystkiego na stosie MEAN, więc jeśli kochasz JS, naprawdę pokochasz tworzenie aplikacji internetowych MEAN.
Wielu programistów uważa, że PHP jest słabo zaprojektowanym językiem, ponieważ jest twórcą, Rasmus Lerdorf właściwie nie zaprojektował go jako języka. PHP rozpoczęło się jako ogólne rozwiązanie dla stron internetowych, i szybko wyrósł na dużą bibliotekę niepowiązanych funkcji.
Ale z PHP 7 próbuje naprawić wiele błędów języka i za darmo OOP frameworki, takie jak Laravel, PHP jest znacznie lepszym językiem niż kiedykolwiek.
Więc debata językowa sprowadza się do Twój osobisty wybór. Czy naprawdę lubisz pisać JavaScript? Następnie warto rozważyć Node ze stosem MEAN.
Jeśli znasz już PHP i chcesz trzymać się tego, co wiesz, LAMP jest również realną trasą.
Ogólnie Plusy i minusy:
Tam są wiele warstw każdego stosu stron do porównania, w tym systemu operacyjnego, oprogramowania serwera, bazy danych i języka zaplecza.
(1) The ZNACZENIE stosu również zawiera Angular który jest frameworkiem. W stosie LAMP nie ma żadnych wymaganych ram, ale zawsze możesz dodać własne do dowolnej budowanej aplikacji.
(2) Jeśli chodzi o system operacyjny, stos LAMP szuka pochodnej Linuksa. Linux jest zazwyczaj najlepszym wyborem dla środowiska serwerowego niezależnie od stosu, a także dla MEAN.
(3) Teraz system operacyjny serwera to tylko oprogramowanie komputerowe, ale to nie jest system oprogramowanie serwera WWW. Aby to uzyskać, potrzebujesz programu takiego jak Apache lub nginx. LAMP używa Apache, ponieważ jest to jedna z najbardziej stabilnych dostępnych opcji.
(4) MEAN używa serwera Node.js, który jest część pakietu węzłów. Nadal jest całkiem nowy i choć jest tam mnóstwo wsparcia, Node nie ma prawie takiej samej społeczności jak Apache.
(5) Wymagany jest także serwer Node backend JavaScript (bez rozszerzeń). Apache zezwala na większość języków backendu, i istnieje wiele darmowych rozszerzeń dla większego wsparcia. Ale w tej chwili Apache nie ma nic do obsługi Node.
(6) Zarządzania bazami danych jest tam, gdzie znajdziesz największa różnica. LAMP używa MySQL do relacyjnego przechowywania danych, podczas gdy MEAN używa MongoDB, który jest nierelacyjną bazą danych. Nie-relacyjne bazy danych to o wiele szybciej, i zapewnić łatwiejszą metodę skalowania przy większym ruchu.
(7) Weź pod uwagę, że PHP nie ogranicza się wyłącznie do MySQL. Może używać MongoDB i innych alternatyw, takich jak PostgreSQL lub SQLite. Po prostu większość programistów PHP zna MySQL, więc jest głównym kandydatem na typowy stos LAMP.
(8) Zwykłe stosy Biegnij szybciej i skala większa, ale wymaga dużo więcej czasu i wiedzy serwera, aby nauczyć się systemu. Stosy LAMP są wypróbowany i prawdziwy, i oni przychodzą po wyjęciu z pudełka z najbardziej bezpieczną infrastrukturą i najszerszym wsparciem, jakie można sobie wyobrazić.
(9) Języki programowania stanowią istotną różnicę między dwoma stosami. LAMP działa głównie na PHP, który zawiera WordPress i framework Laravel. MEAN działa na ExpressJS / NodeJS dla zaplecza z AngularJS na interfejsie.
(10) Oznacza to JavaScript w pełnym stosie, i jest wiele rzeczy, których musisz się nauczyć, aby to uruchomić. To jest częsty wybór nowych startupów chętny do przekraczania granic w tworzeniu aplikacji internetowych. LAMP jest bardziej tradycyjny JS na frontend, PHP na backend. Jest stworzony dla ludzi, którzy po prostu chcą zdobywaj strony internetowe bez większych obaw.
Sprawdź ten przewodnik porównawczy, aby dowiedzieć się trochę więcej. Ani wybór nie jest słuszny, ani inny, tylko inny i dotyczy różnych projektów.
Zawijanie
Powiedziałbym, że większość stron internetowych skłania się ku stosowi LAMP, ponieważ jest testowany i ma wiele pomocnych wątków Q&A indeksowanych w Google. ŚRODEK nadal rośnie, a także ma wiele wsparcia, ale może być bardziej techniczny niż większość ludzi chce się z nim uporać.
Nie krępuj się, spróbuj obu i zobacz je dla siebie. Jest możliwe zainstaluj oba ustawienia lokalnie na twoim komputerze i buduj na nich bez zdalnego serwera.
A jeśli szukasz więcej informacji na temat każdego stosu, poniżej zebrałem zestaw przydatnych linków.
- Naucz się budować nowoczesne aplikacje internetowe za pomocą MEAN (thinkster.io)
- Docker LAMP Stack Admin (jessesnet.com)
- Jak zainstalować Linux, Apache, MySQL, PHP (LAMP) Stos na Debianie 8 (digitalocean.com)