Начална » Уеб дизайн » Средно срещу LAMP Stack За и против

    Средно срещу LAMP Stack За и против

    Уеб стекове са се развивали в продължение на десетилетия с напредък в технологиите и езиците на бекенда. Две от най-популярните уеб стекове в момента са LAMP и MEAN. Те разчитат на две различни технологии за бекенд езици, бази данни и сървърни среди. Терминът "стек" се отнася до технологии, които се подреждат един върху друг, за да създадат среда на уеб сървър.

    В тази статия бих искал да изясня тези два пакета в интернет, като разгледам техния технологичен избор, както за, така и за минуса. Къде превъзхожда всеки стек? И какви проекти ще извлекат най-голяма полза от която и да е опция? Ако сте нов в уеб технологиите или просто искате да научите за тези два стака, то това ръководство има всичко необходимо.

    Традиционно развитие на LAMP

    Повечето разработчици трябва да знаят за традиционния стек на LAMP, тъй като той е бил от началото на интернет. LAMP означава Linux, Apache, MySQL и PHP. Всяка от тях е индивидуална софтуерна опаковка, която се комбинира, за да се получи гъвкаво сървърно решение.

    Най-голямата причина да се придържате към LAMP е сигурност и широка подкрепа. Той е бил около десетилетия, и това е доказан метод за хостинг на уебсайтове.

    Всички backend технологии като PHP и MySQL са добре познати и поддържан от всеки основен доставчик на хостинг услуги. Ако работите на стека LAMP, можете да хоствате на практика. Освен това получавате достъп до най-популярните CMS двигатели. WordPress, Drupal и Joomla работят на PHP / MySQL.

    Има опции за персонализиране в рамките на LAMP архитектурата като LEMP, която заменя Apache с nginx. Можете също да изпълните вариант на Windows сървър като стек на WAMP.

    Все пак основният софтуер - включително Apache, MySQL и PHP - бяха отворени, и направени предимно за Linux. Ето защо Linux има най-голямо значение за сървърната среда и затова LAMP е издържал изпитанието на времето за модерно уеб разработване.

    Повечето разработчици отиват по този маршрут, защото това е най-простият начин за получаване на уебсайт онлайн. Ще намерите много подкрепа на форуми, които обхващат всичко, което трябва да конфигурирате и отстранявате неизправности в LAMP среда. Например, можете да проверите този въпрос за Serverfault за повече информация.

    JavaScript Backend с MEAN

    Node.js е най-новата технология за разработчиците, решена да изпълнява мащабируеми приложения, изградени с JavaScript. възел захранва стека MEAN, и предлага основно предимство: всичко работи на един език.

    ОЗНАЧАВА означава MongoDB, Express.js, Angular.js, и разбира се Node.js. Това съкращение не поставя изискване за сървърна операционна система или сървърен софтуер. Среден стек може да работи на всяка операционна система, и Node дори идва със собствен сървър за обработка на JS на задния панел.

    Ще намерите много документация и поддръжка на уебсайта на Mean.io.

    Въпреки че този стек е привлякъл много внимание, той все още няма почти никаква стабилна поддръжка като традиционния LAMP стек.

    Защо тогава някой ще отиде с MEAN? Защото е в крайна сметка по-бързо и по-лесно. MongoDB е a NoSQL база данни което оптимизира заявките. Използването на fullstack JavaScript също подобрява развитието, защото един език се прилага за всички интерфейси и бекенд работа.

    Плюс много други JS рамки са удари на пазара като стабилни решения. Например, MEAN може да се прехвърли към a MEEN стека заменяйки Angular с Ember.

    Програмистите ще обичат стека MEAN, защото той разделя кода за поддръжка и растеж. Това го прави по-лесно е да организирате JavaScript уеб приложенията си, така че те да работят в естествена среда.

    Има много неща, които трябва да научите по този въпрос и това е може би най-голямата бариера пред навлизането на нови разработчици. Изучаването на всички технологии, необходими за управление на MEAN приложение, може да отнеме месеци. Но ако обичате Node и искате да изпълните всичко на JavaScript, това си струва усилията.

    Ето някои уроци за начинаещи, за да започнете.

    • Абсолютно ръководство за начинаещи на Node.js
    • Ръководство за начинаещи на Феликс
    • Въведение в Express.js
    • Научете се да изграждате съвременни уеб приложения с MEAN
    • Първи стъпки с Node.js, Express и MongoDB

    PHP срещу възел

    PHP съществува от средата на 90-те години и е наистина най-популярният език на гръб. Много уеб разработчици започват с (или в крайна сметка научават) PHP, защото това е преобладаващо в уеб платформите и хостинг доставчиците.

    Node е по-нова рамка, но нейната популярност се е повишила изключително бързо. Това включва популярността на НПМ като мениджър на пакети за уеб разработчици и се разширява допълнително в мощни фронтенд рамки като Angular 2.

    Другата полза от Node е, че тя е идва със собствен уеб сървър. JavaScript е в основата на всичко на стека MEAN, така че ако обичате JS, тогава наистина ще обичате да изграждате MEAN уеб приложения.

    Много разработчици смятат, че PHP е лошо разработен език, защото създателят, Rasmus Lerdorf всъщност не го е проектирал като език. PHP стартира като общо решение за уебсайтове, и бързо се превърна в голяма библиотека от несвързани функции.

    Но с PHP 7, опитвайки се да поправя много грешки на езика, и със свободен обектно-ориентиран рамки, като Laravel, PHP е много по-добър език сега, отколкото някога е бил.

    ИЗОБРАЖЕНИЕ: Stackoverflow

    Така че дебатът за езика се свежда до това личен избор. Наистина ли обичате да пишете JavaScript? Тогава Node с MEAN стек може да си струва да се обмисли.

    Ако вече познавате PHP и искате да се придържате към това, което знаете, LAMP също е надежден маршрут.

    Като цяло плюсове и минуси:

    Има няколко слоя на всеки уеб стек за сравнение, включително операционната система, сървърния софтуер, базата данни и езика на бекенда.

    (1) Най- MEAN стек също включва Angular което е рамката на интерфейса. Няма никаква необходима рамка в стека на LAMP, но винаги можете да добавите свои собствени до всяко приложение, което изграждате.

    (2) По отношение на операционната система стакът LAMP търси дериват на Linux. Linux обикновено е най-добрият избор за сървърна среда, независимо от стека, и е вярно и за MEAN.

    (3) Сега операционната система на сървъра е само компютърният софтуер, но не е софтуер за уеб сървъри. За да получите това, ви е необходима програма като Apache или nginx. LAMP използва Apache, защото това е един от най-стабилните възможности за избор.

    (4) MEAN използва сървъра на Node.js, който е част от пакета Node. Той все още е сравнително нов и въпреки че има изобилие от поддръжка, Node е далеч от същата общност като Apache.

    (5) Също така изисква Node сървър бекенд на JavaScript (без разширения). Apache позволява повечето езици на бекенда, и има много безплатни разширения за по-голяма подкрепа. Но в момента Apache няма нищо за поддръжката на Node.

    (6) Управление на бази данни е мястото, където ще намерите най-голямата разлика. LAMP използва MySQL за релационно съхранение на данни, докато MEAN използва MongoDB, която е нерелационна база данни. Не са релационни БД много по-бързо, и осигуряват по-лесен метод за мащабиране с по-висок трафик.

    (7) Имайте предвид, че PHP не е ограничен само за MySQL. Той може да използва MongoDB и други алтернативи като PostgreSQL или SQLite. Просто PHP разработчиците познават MySQL, така че това е основният претендент за типичен LAMP стек.

    (8) Обикновено средните стекове Бягай по-бързо и мащаб, но изискват много повече време и знания на сървъра, за да научат системата. Лампите на LAMP са изпитани и вярно, и те идват извън кутията с най-сигурната инфраструктура и възможно най-широката подкрепа.

    (9) Езиците за програмиране правят основна разлика между двата стака. LAMP работи предимно върху PHP, който включва WordPress и рамката Laravel. MEAN работи на ExpressJS / NodeJS за бекенда с AngularJS на интерфейса.

    (10) MEAN е пълен стек JavaScript, и има много, което трябва да се научиш да го изпълняваш. Това е чест избор на нови стартиращи фирми желаещи да прокарват границите в развитието на уеб приложенията. LAMP е по-традиционен с JS на интерфейса, PHP на бекенда. Той е създаден за хора, които просто искат получавате уебсайтове онлайн, без много притеснения.

    Моля, проверете това ръководство за сравнение, за да научите малко повече. Нито изборът е правилен, нито погрешен, просто различен и направен за различни проекти.

    Обобщавайки

    Бих казал, че повечето уебсайтове се насочват към стака LAMP, тъй като тестът му е тестван и има много полезни теми за въпроси и отговори, индексирани в Google. MEAN все още расте и също има много подкрепа, но може да бъде по-техничен, отколкото повечето хора искат да се справят.

    Чувствайте се свободни да опитате и двете, и ги вижте сами. Възможно е инсталирайте двете настройки локално на компютъра си и да ги надграждате без отдалечен сървър.

    И ако търсите повече информация за двата стака, аз събрах по-долу полезни връзки.

    • Научете се да изграждате съвременни уеб приложения с MEAN (Thinkster.io)
    • Докинг лампа Stack Admin (Jessesnet.com)
    • Как да инсталирате Linux, Apache, MySQL, PHP (LAMP) стека на Debian 8 (Digitalocean.com)