Какой технологический стек (модули, фреймворки) лучше для первого проекта node.js, чтобы изучить узел и сделать хороший продукт? - PullRequest
4 голосов
/ 10 марта 2012

Год назад я сделал несколько маленьких шагов в узле.Уже тогда было множество модулей и фреймворков.Теперь я хочу глубже изучить среду узлов и начать проект, основанный на веб-технологиях.Я понимаю, что многое зависит от того, какое приложение вы пишете, но в нем всегда есть какая-то основа.

На данный момент я хотел бы знать:

  1. Лучше начать с нуля или взять какую-то платформу (какая, по вашему мнению)?
  2. Какие модули имеют первостепенное значение?На какие модули мне стоит обратить внимание в первую очередь?
  3. Какие базы данных и модули вы предпочитаете?
  4. Я слышал, что вы можете написать в coffeescript для узла.Что я должен сделать для этого?Или, может быть, лучше использовать javascript?
  5. О некоторых полезных книгах и учебных пособиях об узле в действии.

Все эти вопросы довольно широки, но ответы будут очень полезны для всехначинающие

Спасибо)

Ответы [ 4 ]

5 голосов
/ 11 марта 2012

Я постараюсь ответить на ваш вопрос с точки зрения кого-то, кто пытался попасть в Node.js путем одновременной разработки идентичного проекта с различными комбинациями «современных» модулей.

  1. Сложность вашего проекта диктует подход, как обычно.Если вы хотите изучить весь спектр тонкостей Node, вы можете создавать с нуля и просто использовать соответствующие библиотеки (такие как абстракция и абстракция уровня базы данных, такие как cradle или mongoose, подробнее в Ответе 2), когда вам нужноих.

    Если вы хотите иметь кодовую базу, из которой вы можете найти работоспособные решения, вам следует воспользоваться платформой Express (построенной на соединении), так как она кажется наиболее распространенной среди узловРазработчики.Многие учебные сайты предоставляют простые для понимания примеры, включающие эту платформу .Модуль Bogart будет делать то же самое, но он не так общеизвестен.

  2. Помимо Express, вы можете захотеть взглянуть на систему шаблонов для вашего HTMLвыход.Я бы предложил Джейд для этого.Я объясню, почему в ответе 4. Альтернативой будет Усы или EJS.

    Тогда вам следует проверить cradle или mongoose , так как эти модули понадобятся для удобный доступ к БД .Теперь, когда основные функциональные возможности и БД охвачены, вы можете заглянуть в модули LESS или SASS для магии CSS .

    Аутентификация может обрабатываться Everyauth , он обеспечивает Twitter, Facebook и многие другие функции oauth.

  3. Я думаюя уже рассмотрел модули в 2., так что теперь на вопрос БД.Мне очень понравилось работать с MongoDB , и вы можете легко пойти с этим и найти много документации и лучших практик в Интернете.Я сам нашел CouchDB гораздо более интересным, поскольку он предоставляет фантастический доступ на основе API, а его ключевая фраза - "Relax".- но это не так важно.Пока вы понимаете NoSQL-подход, который управляет монго и кушеткой, вы можете использовать любой из них.Я настоятельно рекомендую избегать традиционных баз данных на основе SQL , поскольку вывод JSON -форматированных систем баз данных NoSQL легко интегрируется в JavaScript-среду Node.js.

  4. Я разработал с JS и Coffee, и я могу сказать вам одну вещь: с чашкой последнего вам будет гораздо легче начать работу над вашими проектами. Отступы Программирование на основе играет рука об руку с системой Jade Templating, которая также чувствительна к отступам.При одинаковом подходе к серверному коду и коду представления (и CSS, даже с отступами для вашего удобства) значительно упрощается разработка обоих.Мне еще предстоит найти проблему с JS, которая не может быть решена с помощью гораздо более красивого выражения CoffeeScript.

  5. Следуйте проекту узла на github, следуйте по Express / Connect / cradle / Jade/mongoose/..- проект на github, Google для "Экспресс-руководство по узлу блога" и попробуйте присоединиться к сообществу IRC на irc.freenode.net.Интересные каналы: # node.js и, возможно, ## javascript.Оттуда люди покажут вам более специализированные комнаты.Я настоятельно рекомендую вам пойти туда, это очень полезная связка.

    У издателя O'Reilly есть несколько очень хороших книг, но они устарели в тот момент, когда их отправляют в книжный магазин.Поскольку сообщество ежедневно разрабатывает новые функции и версии, вам следует постараться максимально приблизиться к разработчикам основной функциональности.На IRC вы даже можете задать их с вашими (возможно, слегка интересными) проблемами - тем не менее, вы получите ответы и подсказки.

    Короче говоря: оставайтесь на связи с сообществом.

2 голосов
/ 10 марта 2012
  1. Connect - это мощный и гибкий мини-каркас.Думаю, с правильным набором модулей это лучшее решение.
  2. node-mongodb-native для MongoDB, db-mysql для MySQL, просто для шаблонов.Используйте Панель инструментов узла , чтобы найти больше.
  3. Я использую MongoDB и MySQL.Это зависит от проекта.
  4. Я использую простой JavaScript, но это дело вкуса.Я люблю родной.
  5. Исходный код.Realy.Экосистема Node.JS развивается очень быстро.Большая часть документации устарела на момент ее написания.Используйте GitHub для отслеживания проектов.Это действительно полезно.
1 голос
/ 10 марта 2012
  1. Используйте библиотеки, а не фреймворк, за исключением, может быть, expressjs.Большинство фреймворков, как правило, делают проблему более сложной, чем она есть.Используйте библиотеки, которые находятся на хороших условиях лицензирования.Если они больше не поддерживаются, вы можете, по крайней мере, взять на себя управление проектом.
  2. ExpressJS, Jade, Stylus, SocketIO, подчеркивание, jsdom
  3. Mongo, безусловно, самая популярная в наши дни.Я думаю, что причина в том, что его консольный интерфейс использует JavaScript.Это создает больше «языковой синергии» с разработчиком.
  4. У CoffeeScript есть свои особенности, но все же он намного лучше, чем простой JavaScript.Обратите внимание, это мнение.
  5. Не могу вам помочь;Я прошел через процесс обучения, просто читая онлайн-материалы.
0 голосов
/ 30 января 2015
  1. Это зависит от вашей базы знаний. Я начал с использования нескольких фреймворков и вернулся к пониманию основных понятий, но я бы порекомендовал начать с малого
  2. .Достаточно экспресс-руководств, и это отличный способ начать работу с узлами, но для этого нужен движок шаблонов, такой как Jade или EJS .. (я предпочитаю ejs для рендеринга основных файлов .html).Кроме того, узел имеет массу базовых модулей, например: require ('http');это хорошая отправная точка для понимания потока запросов.
  3. Mongo и Redis являются одними из самых щадящих IMO БД и имеют массу абстракций.хотя вы могли бы пойти с чем-то более коммерческим, как Parse.com
  4. Если вы уже знаете JS .. придерживайтесь этого.в противном случае используйте CS как способ быстро написать Javascript, а не заменить его основы.Есть и другие примеры JS онлайн для новичков, но гораздо больше реализаций сценариев кофе в Git
  5. Не совсем уверен в этом. Посмотрите на книгу Брэда Дейли "NodeJS, MongoDB и AngularJS" и Google MEAN.разработка стека
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...