node.js - это чистый javascript.
Да, вам нужно изучить node.js, потому что это ваша библиотека ввода-вывода на стороне сервера.И нет, вам не нужно изучать jQuery или MooTools для разработки на стороне сервера.
В сообществе node.js особое внимание уделяется использованию сторонних библиотек для достижения того, чего вы хотите.В настоящее время нет никаких фреймворков, настроенных для узла.
Несколько библиотек, которые стоит изучить:
- express Механизм маршрутизации, просмотра и контроллеры (Половина MVC)
Express - легковесная библиотека MVC, основанная на connect .Это дает вам доступ к библиотеке маршрутизации и движку представления.При использовании в сочетании с EJS или Jade это позволит вам настроить код node.js для индивидуальной обработки входящих маршрутов и визуализации данных из шаблонов.Я также рекомендовал бы взглянуть на express-controllers , который является отличным способом обработки маршрутизации ваших URL в стиле REST.
теперь является абстракцией поверх socket.io.Он предлагает «общее» пространство имен между клиентом и сервером.Это делает RPC тривиальным.Просто объявите функцию как свойство now на сервере и вызовите ее с клиента.Теперь обрабатывает все сообщения socket.io для вас.
Cradle - это абстракция, котораяпозволяет взаимодействовать с couchdb .Если вы собираетесь использовать узел, я рекомендую вам использовать базу данных NoSQL, например, couch или mongodb (попробуйте mongoose , если вы используете mongo).
Потрясающая служебная библиотека, которая позволяет кодировать в функциональном стиле(думаю, питон или рубин).Это настоятельно рекомендуется, хотя большинство функций уже являются частью ES5.Использование этого на клиенте для эмуляции ES5 также является большим преимуществом
- Магистраль Коллекции и модели (Другая половина MVC)
Backbone - это легкая абстракция MVC.Это позволяет вам использовать более известные конструкции MVC.Для самого node.js я бы рекомендовал использовать Backbone.Model
и Backbone.Collection
и иметь экспресс-обработку рендеринга вида (но при заполнении видов данными из коллекций и моделей).Вы также можете легко перезаписать Backbone.Sync
для взаимодействия с выбранной абстракцией базы данных, которая фактически превращает Backbone в ORM.Твердой альтернативой будет Spine
Futures дает вамAPI обещаний.Это отлично подходит для написания легко читаемого кода.Это также останавливает вас от вложенных обратных вызовов глубиной 5 слоев.Сама библиотека обширная.Он также предоставляет хорошие абстракции для последовательного выполнения асинхронных обратных вызовов и для их параллельного запуска с обработчиком обратного вызова в конце.
3 месяца спустя
После того, как вы сделалиНесколько проектов я бы все же рекомендовал выразить.Однако.
Я не рекомендую
- сейчас.Зачем?Это мешает, это протекает.Вместо этого используйте socket.io .
- подставка.Зачем?В нем есть ошибки в крайнем случае, которые являются кошмаром для отладки, вместо этого используйте запрос.
- подчеркивание.Зачем?Это просто не нужно.ES5 достаточно выразительный
- позвоночник / позвоночник.Зачем?Это протекает, это мешает.Он просто не предназначен для фьючерсов на сервер
- .Зачем?Это излишне.тебе это не нужноИспользуйте после вместо.
- express-controllers.Это дырявая абстракция, она не работает.
Вещи, которые я бы порекомендовал.