Nodejs и socket.io , это чистый javascript?

#javascript #linux

#javascript #linux

Вопрос:

Я начинаю использовать nodejs и socket.io …

Это чистый javascript или мне нужно изучить фреймворк, такой как jQuery или MOntools?

Спасибо!

Комментарии:

1. Mootools, Jquery — все это чистый javascript

Ответ №1:

node.js это чистый javascript.

Да, вам действительно нужно научиться node.js потому что это ваша библиотека ввода-вывода на стороне сервера. И нет, вам не нужно изучать jQuery или MooTools для разработки на стороне сервера.

В пределах node.js сообщество большое внимание уделяется использованию сторонних библиотек для достижения того, чего вы хотите. В настоящее время для node не созданы фреймворки.

Пара библиотек, которые стоит изучить, это

  • выразить маршрутизацию, механизм просмотра и контроллеры (половина MVC)

Express — это облегченная библиотека MVC, которая создается поверх connect. Это дает вам доступ к библиотеке маршрутизации и механизму просмотра. При использовании в сочетании с EJS или Jade это позволит вам настроить свой node.js код для индивидуальной обработки входящих маршрутов и рендеринга данных из шаблонов. Я бы также рекомендовал посмотреть на express-controllers, которые являются отличным способом обработки маршрутизации ваших URL-адресов в стиле REST.

теперь это абстракция поверх socket.io . Он предлагает «общее» пространство имен между клиентом и сервером. Это делает RPC тривиальным. Просто объявите функцию как свойство now на сервере и вызовите ее с клиента. Теперь обрабатывает весь сокет.для вас связь ввода-вывода.

  • cradle Библиотека базы данных

Cradle — это абстракция, которая позволяет вам взаимодействовать с couchdb. Если вы собираетесь использовать node, я рекомендую вам использовать базу данных NoSQL, такую как couch или mongodb (попробуйте mongoose, если вы используете mongo).

Потрясающая библиотека утилит, которая позволяет вам писать код в функциональном стиле (думаю, на Python или ruby). Это настоятельно рекомендуется, хотя большинство функций уже являются частью ES5. Использование этого на клиенте для эмуляции ES5 также является большим преимуществом

  • основа Коллекций и моделей (другая половина MVC)

Backbone — это облегченная абстракция MVC. Это позволяет вам использовать более широко известные конструкции MVC. Для node.js сам по себе я бы рекомендовал использовать Backbone.Model и Backbone.Collection и иметь express, обрабатывающий рендеринг представления (но заполняющий представления данными из коллекций и моделей). Вы также можете легко перезаписать Backbone.Sync для взаимодействия с выбранной вами абстракцией базы данных, которая практически превращает Backbone в ORM. Надежной альтернативой был бы Spine

Futures предоставляет вам promises API. Это отлично подходит для написания управляемого читаемого кода. Это также останавливает вас от вложения обратных вызовов на 5 уровней глубиной. Сама библиотека обширна. Он также предоставляет хорошие абстракции для последовательного выполнения асинхронных обратных вызовов и для их параллельного выполнения с обработчиком обратного вызова в конце.

3 месяца спустя

После выполнения нескольких проектов я бы все же рекомендовал express. Однако.

Я не рекомендую

  • итак. Почему? Это мешает, оно протекает. Используйте сокет.вместо этого ввод-вывод.
  • cradle. Почему? В нем есть ошибки в крайнем случае, которые являются кошмаром для отладки, вместо этого используйте request.
  • подчеркивание. Почему? Это просто не нужно. ES5 достаточно выразителен
  • магистраль /spine. Почему? Это утечка, это мешает. Он просто не предназначен для сервера
  • фьючерсы. Почему? Это перебор. вам это не нужно. Вместо этого используйте after.
  • экспресс-контроллеры. Это непрочная абстракция, она не работает.

Вещи, которые я бы порекомендовал.

Ответ №2:

jQuery, MooTools и Node.js все ли «чистые» Javascript, если это то, о чем вы спрашиваете. Однако все они также являются библиотеками, и вам действительно придется изучить их API.

Вы можете найти документацию для Node.js здесь.

Комментарии:

1. jQuery не является фреймворком. node.js это фреймворк на толчке. (Это библиотеки). «все они .. нужно учиться». Нет абсолютно никакой причины изучать оба MooTools или jQuery .

2. @Raynos, правда, я по какой-то причине имитировал использование framework задавшим здесь вопрос. Это действительно библиотеки, ответ обновлен соответствующим образом. Спасибо 🙂

3. Вам все еще не следует рекомендовать, чтобы он изучал оба jQuery и MooTools (что просто глупо)

4. @Raynos, я не предлагаю, чтобы он это сделал, это действительно было бы глупо 🙂 Я просто указываю, что спрашивающему придется изучить API в дополнение к основному языку Javascript, чтобы использовать любой из них. Мое предложение настолько слабо построено, что не очевидно? 🙂