Домашня » Веб дизайн » ЗБІЛЬШЕ проти LAMP Stack Плюси і мінуси

    ЗБІЛЬШЕ проти LAMP Stack Плюси і мінуси

    Веб-стеки розвивалися протягом десятиліть з досягненнями в області технологій і мови бекенда. Два з найбільш популярних веб-стеків в даний час є LAMP і MEAN. Вони покладаються на дві різні технології для мов, бази даних і серверних середовищ. Термін "стек" відноситься до технології, що складаються один на одного для створення середовища веб-сервера.

    У цій статті, я хотів би пояснити ці два веб-стеки, подивившись на їхній вибір технологій, як плюси, так і мінуси. Звідки перевершує кожен стек? А які типи проектів найбільше виграють від будь-якого з варіантів? Якщо ви новачок у веб-технологіях або просто хочете дізнатися про ці два стеки, то в цьому посібнику є все, що вам потрібно.

    Традиційний розвиток LAMP

    Більшість розробників повинні знати про традиційний стек LAMP, оскільки він існує ще з ранньої мережі. LAMP виступає за Linux, Apache, MySQL і PHP. Кожен з них є окремими програмними пакетами, які об'єднуються для створення універсального серверного рішення.

    Найбільшою причиною дотримуватися LAMP є безпеки і широкої підтримки. Вона існує протягом десятиліть, і це перевірений спосіб розміщення веб-сайтів.

    Всі бекенди, такі як 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
    • Посібник для початківців Felix's Node.js
    • Вступ до Express.js
    • Навчіться створювати сучасні веб-програми за допомогою MEAN
    • Початок роботи з Node.js, Express та MongoDB

    PHP проти Node

    PHP існує з середини 90-х років і є справді найпопулярнішою мовою. Багато веб-розробників починають з PHP (або в кінцевому підсумку вивчають) PHP, тому що воно переважає через веб-платформи та провайдери хостингу.

    Node - новіша структура, але її популярність надзвичайно швидко зросла. Це включає в себе популярність NPM як менеджера пакетів для веб-розробників, і розширюється далі в потужні фреймвордні рамки, такі як Angular 2.

    Інша перевага Node полягає в тому, що він поставляється з власним веб-сервером. JavaScript лежить в основі всього на MEAN стеку, так що якщо ви любите JS, то ви дійсно любите будувати MEAN веб-додатків.

    Багато розробників вважають, що PHP є погано розробленою мовою, тому що творець, Rasmus Lerdorf фактично не розробив його як мову. PHP запущений як загальне рішення для веб-сайтів, і швидко переросла у велику бібліотеку незв'язаних функцій.

    Але з PHP 7 намагається виправити багато помилок мови, і з безкоштовним ООП Рамках, таких як Laravel, PHP є набагато кращою мовою, ніж це було коли-небудь.

    Зображення: Stackoverflow

    Таким чином, мовна дискусія зводиться до Ваш особистий вибір. Ви дійсно любите писати JavaScript? Тоді Node з стеком MEAN може бути варто розглянути.

    Якщо ви вже знаєте PHP, і хочете дотримуватися того, що ви знаєте, LAMP є життєздатним маршрутом.

    Загальні плюси та мінуси:

    Існує кілька шарів для кожного веб-стека для порівняння, включаючи операційну систему, серверне програмне забезпечення, базу даних та мову інтерфейсу.

    (1) The 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 на frontend, PHP на бекенде. Це зроблено для людей, які просто хочуть отримати веб-сайти в Інтернеті без особливих турбот.

    Будь ласка, ознайомтеся з цим посібником із порівняння, щоб дізнатися трохи більше. Ні вибір є правильним, або неправильним, просто іншим і зробленим для різних проектів.

    Підведенню

    Я б сказав, що більшість веб-сайтів схиляються до стека LAMP, тому що він тестується, і в Google є багато корисних посилань. MEAN все ще зростає, а також має достатню підтримку, але може бути більш технічною, ніж більшість людей хочуть мати справу.

    Не соромтеся спробувати обидва, і побачити їх самі. Можна встановити обидві установки локально на комп'ютері, і будувати на них без віддаленого сервера.

    І якщо ви шукаєте більше інформації на будь-якому з стеків, я зібрав низку зручних посилань нижче.

    • Навчіться створювати сучасні веб-програми за допомогою MEAN (thinkster.io)
    • Docker LAMP стек адміністратора (jessesnet.com)
    • Як встановити стек Linux, Apache, MySQL, PHP (LAMP) на Debian 8 (digitalocean.com)