СРЕДСТВО против ЛАМПЫ Стеки Плюсы и минусы
Веб-стеки развивались на протяжении десятилетий благодаря достижениям в области технологий и языков программирования. Два самых популярных веб-стека в настоящее время - LAMP и MEAN. Они полагаются на две разные технологии для внутренних языков, баз данных и серверных сред. Термин «стек» относится к технологии, которые накладываются друг на друга, чтобы создать среду веб-сервера.
В этой статье я хотел бы прояснить эти два веб-стека, рассматривая их технологические решения, как плюсы, так и минусы. Где каждый стек превосходит? И какие типы проектов выиграют больше всего от любого варианта? Если вы новичок в веб-технологиях или просто хотите узнать об этих двух стеках, то в этом руководстве есть все, что вам нужно.
Традиционная разработка LAMP
Большинство разработчиков должны знать о традиционном стеке LAMP, потому что он существует с ранних времен Интернета. ФОНАРЬ обозначает Linux, Apache, MySQL а также PHP. Каждый из них представляет собой отдельные пакеты программного обеспечения, которые объединяются в универсальное серверное решение..
Самая большая причина придерживаться ЛАМПЫ - безопасность и повсеместная поддержка. Это было на протяжении десятилетий, и это проверенный метод хостинга веб-сайтов.
Все бэкэнд-технологии, такие как PHP и MySQL, хорошо известны, и поддерживается всеми основными хостинг-провайдерами. Если вы работаете со стеком LAMP, вы можете разместить его где угодно. Кроме того, вы получаете доступ к самым популярным CMS-движкам. WordPress, Drupal и Joomla работают на PHP / MySQL.
Есть настраиваемые параметры в архитектуре LAMP, такой как LEMP, заменяя Apache на nginx. Вы также можете запустить вариант на сервере Windows в качестве стека WAMP.
Однако все основное программное обеспечение - включая Apache, MySQL и PHP - были с открытым исходным кодом, и сделано в основном для Linux. Вот почему Linux больше всего подходит для серверной среды, и именно поэтому LAMP выдержал испытание временем для современной веб-разработки..
Большинство разработчиков идут по этому пути, потому что это самый простой способ получить сайт онлайн. Вы найдете много поддержки на форумах, которые охватывают все, что вам нужно для настройки и устранения неполадок среды LAMP. Например, вы можете проверить этот вопрос ServerFault для получения дополнительной информации.
Бэкэнд JavaScript с MEAN
Node.js - это новейшая технология для разработчиков, решивших запустить масштабируемые приложения, созданные с использованием JavaScript. Узел усиливает СРЕДНИЙ стек, и предлагает основное преимущество: все работает на одном языке.
ИМЕЮ В ВИДУ обозначает MongoDB, Express.js, Angular.js, и конечно Node.js. Эта аббревиатура не предъявляет никаких требований к серверной операционной системе или серверному программному обеспечению. СРЕДНИЙ стек может работать на любой ОС, и Node даже поставляется со своим собственным сервером для обработки JS на бэкэнде.
Вы найдете много документации и поддержки на сайте Mean.io.
Хотя этот стек привлек много внимания, он все еще не достиг уровня стабильной поддержки в качестве традиционного стека LAMP..
Так зачем кому-то идти с MEAN? Потому что это в конечном итоге быстрее а также легче масштабировать. MongoDB является База данных NoSQL который оптимизирует запросы. Использование полнофункционального JavaScript также улучшает разработку, потому что один язык применяется для всей внешней и внутренней работы..
Кроме того, многие другие платформы JS выходят на рынок в качестве стабильных решений. Например, MEAN может быть переключен на MEEN стек заменяя Angular на Ember.
Программистам понравится стек MEAN, потому что он разделяет код для удобства обслуживания и роста. Это делает это проще организовать ваши веб-приложения JavaScript, чтобы они работали в естественной среде.
По этому предмету можно многому научиться, и это, вероятно, самый большой барьер для новых разработчиков. Изучение всех технологий, необходимых для управления приложением MEAN, может занять месяцы. Но если вы любите Node и хотите запускать все на JavaScript, это того стоит.
Вот несколько уроков для начинающих, чтобы вы начали.
- Абсолютное руководство для начинающих по Node.js
- Руководство для начинающих Феликса Node.js
- Введение в Express.js
- Научитесь создавать современные веб-приложения с помощью MEAN
- Начало работы с Node.js, Express и MongoDB
PHP против узла
PHP существует с середины 90-х годов и является действительно самым популярным языком бэкэнда. Многие веб-разработчики начинают с (или в конечном итоге изучают) PHP, потому что он так преобладает среди веб-платформ и хостинг-провайдеров..
Node - более новая структура, но его популярность чрезвычайно быстро растет. Это включает в себя популярность NPM в качестве менеджера пакетов для веб-разработчиков и расширяется до мощных интегрированных сред, таких как Angular 2..
Другое преимущество Node в том, что он поставляется с собственным веб-сервером. JavaScript является корнем всего в стеке MEAN, поэтому, если вы любите JS, вам действительно понравится создавать веб-приложения MEAN.
Многие разработчики считают, что PHP - плохо разработанный язык, потому что создатель, Расмус Лердорф на самом деле не проектировал его как язык. PHP начинался как универсальное решение для сайтов, и быстро вырос в большую библиотеку несвязанных функций.
Но с PHP 7 пытается исправить много ошибок языка, и с бесплатным OOP фреймворки, такие как Laravel, PHP сейчас намного лучше, чем когда-либо.
Таким образом, языковые дебаты сводятся к ваш личный выбор. Вы действительно любите писать JavaScript? Тогда стоит рассмотреть узел со средним стеком.
Если вы уже знаете PHP и хотите придерживаться того, что знаете, LAMP также является жизнеспособным маршрутом..
Общие плюсы и минусы:
Есть несколько слоев каждого веб-стека для сравнения, включая операционную систему, серверное программное обеспечение, базу данных и язык бэкэнда.
(1) СРЕДНИЙ стек также включает в себя угловой который является основой веб-интерфейса. В стеке LAMP нет никакой необходимой инфраструктуры, но вы всегда можете добавить свою собственную в любое приложение, которое вы создаете.
(2) Что касается ОС, стек LAMP ищет производную от Linux. Linux, как правило, лучший выбор для серверной среды независимо от стека, и это также верно для MEAN.
(3) Теперь ОС сервера - это всего лишь компьютерная программа, но это не программное обеспечение веб-сервера. Чтобы получить это, вам нужна программа вроде Apache или nginx. LAMP использует Apache, потому что это один из самых стабильных доступных вариантов.
(4) MEAN использует сервер Node.js, который часть пакета Node. Он все еще довольно новый, и, хотя есть много поддержки, Node не имеет ничего общего с сообществом Apache..
(5) Также Node-сервер требует бэкэнд JavaScript (без расширений). апаш позволяет большинство языков бэкэнда, и есть много бесплатных расширений для большей поддержки. Но на данный момент у Apache нет ничего для поддержки Node.
(6) Управление базой данных где вы найдете самая большая разница. LAMP использует MySQL для хранения реляционных данных, в то время как MEAN использует MongoDB, который является нереляционной базой данных. Нереляционные БД намного быстрее, и предоставить более простой метод масштабирования с более высоким трафиком.
(7) Имейте в виду, что PHP не ограничивается только MySQL. Он может использовать MongoDB и другие альтернативы, такие как PostgreSQL или SQLite. Просто большинство разработчиков PHP знают MySQL, поэтому это основной претендент на типичный стек LAMP.
(8) СРЕДНЕЕ стеки обычно бежать быстрее а также масштаб больше, но для изучения системы требуется гораздо больше времени и знаний сервера. ЛАМПА стеки пытался и верно, и они приходят вне коробки с самой безопасной инфраструктурой и широчайшей поддержкой.
(9) Языки программирования имеют большое значение для двух стеков. LAMP в основном работает на PHP, который включает в себя WordPress и фреймворк Laravel. MEAN работает на ExpressJS / NodeJS для бэкэнда с AngularJS на внешнем интерфейсе.
(10) Значит полный стек JavaScript, и вам нужно многому научиться, чтобы это заработало. Это частый выбор новых стартапов готовы раздвинуть границы в разработке веб-приложений. ЛАМПА более традиционна с JS на внешнем интерфейсе, PHP на внутреннем. Это сделано для людей, которые просто хотят получить сайты в Интернете без особых проблем.
Пожалуйста, ознакомьтесь с этим руководством по сравнению, чтобы узнать немного больше. Ни один выбор не является правильным или неправильным, просто другой и сделан для разных проектов.
Завершение
Я бы сказал, что большинство веб-сайтов склоняются к стеку LAMP, потому что он протестирован и имеет множество полезных потоков вопросов и ответов, проиндексированных в Google. MEAN все еще растет и также имеет много поддержки, но может быть более технической, чем большинство людей хотят иметь дело с.
Не стесняйтесь попробовать оба, и убедитесь сами. Можно установить обе установки локально на вашем компьютере, и строить на них без удаленного сервера.
И если вы ищете дополнительную информацию о любом стеке, я собрал несколько удобных ссылок ниже.
- Научитесь создавать современные веб-приложения с помощью MEAN (Thinkster.io)
- Docker LAMP Stack Admin (Jessesnet.com)
- Как установить Linux, Apache, MySQL, PHP (LAMP) в стеке на Debian 8 (Digitalocean.com)