Весь сайт с node.js и mongodb?
Я создал несколько сайтов, использующих PHP и mySQL в качестве бэкэнд, и считаю, что я хорошо знаком с обоими. Однако во время исследований для моего нового веб-сайта я встретил node.js и mongodb (и socket.io, так как сайт будет содержать чат).
Я решил использовать node.js и mongodb для запуска чата - но не знаю, должен ли я просто делать весь сайт с этими двумя вещами?
Так как я буду запускать сервер node в любом случае, должен ли я запускать еще один (отдельный) хостинг сайта? Или это плохая идея? - Это стабильно?
Я мог бы делать программирование на PHP и все еще использовать mongodb - но не быстрее ли node?
И еще вопрос:
Я планировал использовать ajax для обработки всех сообщений на странице, но так как я уже использую socket.io в чате - должен ли я делать все мои запросы по почте, используя это?
Для ajax я планировал использовать jQuery (также для всех эффектов frontend).
Ответы
Ответ 1
не знаю, должен ли я просто весь сайт с этими двумя вещами?
Если вы хотите узнать node.js, тогда нет ничего лучше, чем его кодирование.
Так как я запускаю сервер nodeв любом случае я должен просто запустить другой (отдельный) один хостинг веб-сайта?
Вы можете использовать существующий сервер и запустить приложение node.js на другом свободном порту (o). Я думаю, что для обучения node вам не нужно иметь выделенную машину.
устойчиво?
Даже версии node.js являются стабильными версиями, однако до тех пор, пока не будет 1.0 с фиксацией функции, в его API могут быть внесены изменения.
Я мог бы программировать на PHP и все еще использовать мангодб, но не node будет быстрее?
Скорее всего (и определенно).
Я планировал использовать ajax для обработки всех сообщения на страницу - но так как я allready используя socket.io в чате - должен ли я выполнять все мои запросы, используя что?
Я бы порекомендовал придерживаться модели MVC и использовать экспресс, так как вы можете получить много времени на проблемы, если будете использовать socket.io для классических вещей. Socket.io - это функция реального времени и связанные с этим вещи.
Ответ 2
Для node.js уже существуют сплошные веб-фреймворки, в частности, проверьте Express. Здесь действительно хорошая статья, в которой излагаются некоторые уроки и опыт создания веб-сайта node.js:
Как это похоже на создание реального веб-сайта в node.js
Что касается вашего второго вопроса, вероятно, лучше всего использовать обработчики AJAX и HTTP с помощью jQuery. Я не уверен, что jQuery поддерживает обратные вызовы через сырые TCP-сокеты.
Ответ 3
node.js + express + jade + stylus + jQuery является моей предпочтительной средой.
Используя forever, чтобы автоматически перезапустить сервер, у меня никогда не возникало каких-либо реальных проблем, даже когда у меня были ошибки, сбой сервера на регулярной основе.
Что касается socket.io + jQuery, они отлично ладят, но это не так естественно, как express + jQuery. Я придерживаюсь того, чтобы делать ajax-вызовы для большинства вещей.
Ответ 4
Node.JS все еще может быть немного диким Западом, но его улучшение. Это совсем другая модель от кодирования в php, но она очень хорошо подходит для многих сайтов. Вероятно, вы захотите сделать тонкий сервер (выставить REST API и конечные точки вашего веб-сайта) более толстым клиентом, используя что-то вроде BackBone.js, чтобы поддерживать взаимодействие в чистоте.
Большая победа от всего, что происходит в node, заключается в том, что у вас не будет дублирования кода между php и js для работы с БД или любыми другими службами, требуемыми обоими. Node.JS также фантастичен при обработке тонн и тонны одновременных запросов.
Удача