Я планирую сделать сайт, на котором будет отображаться информация о местоположении.
Дело в том, что страницы будут интерактивными для пользователей, и я думаю об использовании node.js и mongoDB (довольно способный для node.js, не так ли?).
Пожалуйста, порекомендуйте мне, какие языки подходят для node.js & mongoDB.
Python? или я должен использовать нефрит для разработки?
и плюс, будет ли PHP Codeigniter полезен?
(Я привык к разработке с PHP, и мне интересно, хороша ли комбинация PHP и node.js)
Заранее спасибо.
В общем, я бы предпочел не использовать два разных языка для сравнительно простых приложений (если ваш usecase прост). Там могут быть случаи, когда вы не можете этого избежать, например, вы должны использовать библиотеки, которые существуют только на одном из языков.
Я бы использовал Jade с ExpressJS в качестве Backend, однако считаю, что язык шаблонов является очень личным выбором. См. http://expressjs.com/api.html для примера ExpressJS.
См. https://npmjs.org/browse/depended для списка популярных пакетов NodeJS. Некоторые люди предпочитают использовать EJS (встроенный javascript) или ECO (встроенный coffeescript) или одну из многочисленных других систем шаблонов вместо Jade.
Пожалуйста, также подумайте о том, чтобы использовать CoffeeScript вместо написания JS самостоятельно (CoffeeScript автоматически преобразуется в JS. Он добавляет некоторые опрятные функции, которые легко ошибиться при написании простой JS.
С точки зрения производительности, NodeJS лучше всего, когда у вас много вызовов API, которые возвращают небольшой объем данных. Я отлично поработал с производительностью ExpressJS, используя Jade в качестве backend.
Я могу рекомендовать новичковую книгу NodeJS , однако это, как всегда, очень субъективно.
Мне трудно судить, может ли Python быть лучшим решением. Я рекомендую вам взглянуть на Tornado вместе с Jinja2 в качестве механизма шаблонов. NodeJS иногда может получить довольно обратный ад , из-за того, как он делает свою асинхронность, см., Например, http://callbackhell.com/
Обратите внимание, что в любом случае для повышения безопасности и быстрой загрузки статического файла (CSS, JS) вам может понадобиться добавить обратный прокси-сервер (Nginx обычно обеспечивает лучшую производительность, но Apache работает также) перед сервером NodeJS / Python.