2015-06-28 1 views
0

Я был главным разработчиком стека LAMP, но в последнее время я хотел попасть в новые вещи, такие как стеки MEAN, но все, с чем я сталкиваюсь, запутывается, может кто-то мне помочь очистить его?Какая связь веб-фреймворков и других

Итак, я играл с сервером Node.js с помощью Express, Jade и mySQL DB. Итак, из того, что я читал, Node управляет бэкэнд, Express выполняет визуализацию переднего плана, а Jade ... тоже делает передний конец?

Кроме того, для стека MEAN. Угловой имеет передний конец вправо? Так что делает Экспресс в этой ситуации, и ему нужно что-то вроде Джейд?

Все эти новые вещи настолько перегружены, что я все еще читаю документы о Янтаре, Реагировании, Метеор, Firebase и т. Д. Есть ли сайт, который документирует все это вместе и как они подходят друг другу?

ответ

0

Экспресс не делает передний конец. Express - это структура, которая находится поверх Node.js и упрощает создание сайтов. Видишь, узел был изначально создан для создания веб-сайтов. Вы можете считать, что Express является веб-картой для узла, так же, как Flask и Django для Python. Для узла есть и другие веб-фреймворки, такие как Sails и Koa. В стеке MEAN Express обычно выполняет маршрутизацию и обрабатывает разные маршруты в вашем приложении, в то время как Angular обрабатывает интерфейс.

Также, если вы только начинаете со стека MEAN, вам не нужны вещи, такие как Ember, React, Meteor, Firebase и т. Д. Это разные вещи для разных целей, и мое предложение было бы не переусердствуйте и делайте шаг за шагом.

+0

Так Express обрабатывает файл router.js, а Node.js обрабатывает файл server.js в моем проекте? –

+0

Нет, Node.js обрабатывает оба этих файла. Express - это просто программное обеспечение или модуль, который написан * с помощью * Node, чтобы упростить веб-разработку. Так же, как PHP имеет такие рамки, как Laravel, CakePHP и т. Д., Узел имеет Express. –

0

Вот краткое описание того, что вы ищете:

'M' for [MONGODB] 

MongoDB документирована ориентированная база данных, его очень проста в использовании и работает очень хорошо с JavaScript. вы вставляете данные JSON и получаете от него данные JSON.

'E' for [Express] 

Экспресс Node.js рамки с http глагола (GET, POST, PUT DELETE) и поддержка промежуточного программного обеспечения. Он поддерживает маршрутизацию с помощью http и middlewares.

'A' for [Angularjs] 

AngularJS - это интерфейсный веб-фреймворк, который прекрасно соединяется с вами приложением nodesjs. Вы можете использовать службы RESTful из источников данных Backend и создавать интерактивные одностраничные приложения (SPA) с использованием угловых символов.

'N' for [Node.js] 

Node.js - это среда javascript на стороне сервера, основанная на движке Google V8. Это чисто среда javascript. вы можете закодировать в javascript, и узел позаботится об этом и запустится на веб-сервере.

Относительно [Jade], это шаблонный двигатель, который компилируется до HTML, плюс он отображается на вашем сервере.

+0

хорошая разбивка и обобщенное описание (y) – regmeek

+0

Какие преимущества у этого есть над стеком LAMP? Сегодня я написал упражнение с использованием API баз данных продуктов питания USDA и Meteor, но потребовалось много времени для настройки.Мне нужно было создать шаблон, использовать {{spacebars}} в html, написать Template.helper, написать Template.event, написать Meteor.Method на стороне сервера. Если бы я сделал это в PHP, это было бы в 1 файле и намного меньше строк. Я вижу это с узлом, где структура и поведение разделены, но я должен писать в router.js каждый раз, когда у меня есть новая страница, и управляю кучей разных файлов, которые раньше занимали всего 1-2 файла на PHP. –

+0

О, я думал, что М стоял за Мангуста. Поэтому, если я использую стек MEAN на моем сервере, мне нужно загрузить дополнительные пакеты, чтобы заставить MongoDB работать с узлами, Express или Angular? Я часто видел людей, использующих Mongoose для MongoDB при использовании Node.js. –