Подтвердить что ты не робот

Каковы некоторые архитектурные причины использования node.js помимо масштабируемости?

Наиболее распространенная тема, которую я прочитал о том, почему использовать node.js, является высокой масштабируемостью из-за его непредвиденной, неблокирующей модели ввода-вывода. Я пытаюсь понять другие случаи использования немасштабируемости (и, кроме того, что они используются как общий серверный механизм javascript).

  • Есть ли у node.js другие варианты использования, если масштабируемость не касается меня?
  • Если да на # 1, то какие они?
  • Используется ли node.js для любого типа архитектуры приложений? Например. аналогично тому, как некоторые ключевые/значения (nosql - ugh я hate the term) базы данных полезны, кроме как по причинам масштабируемости.
4b9b3361

Ответ 2

Моя причина опробовать node заключается в том, что невероятно легко отправить данные JSON между сервером и клиентом для запросов ajax. Если вы используете что-то вроде MongoDB, которое также хранит данные как объект JSON, вам никогда не придется беспокоиться о переводе или анализе ваших данных.

Если ваш сайт использует много ajax и вы отправляете свои данные как объекты JSON (а не XML или обычный текст), тогда node.js сэкономит вам немного усилий.

Ответ 3

Я могу думать об одной причине, но ее не очень глубокой. В принципе, если вы разрабатываете RIA, весь ваш стек может быть javascript. Это может иметь определенную ценность.

Но я сомневаюсь в собственном ответе, а именно в мысли, даже если он делает код на стороне сервера более доступным для разработчиков на стороне клиента, им все равно нужно понять, как работает их стек сервера. Так что еще есть чему поучиться.

Ответ 4

Чтобы быть точным, я думаю, что общий серверный JavaScript-движок в вашем вопросе будет V8, а в соответствии с его создателем Node был создан для "сценариев сетевых программ".

Основываясь на многих своих комментариях, я не считаю, что он рассматривает его так широко, как многие из нас, но признает, куда он может пойти. [Я не могу говорить ни для кого другого - это моя интерпретация, основанная на писаниях и презентациях, которые я видел.]

Таким образом, он приближается к вещам с несколько более низкого уровня, делает HTTP первоклассным гражданином и просто бывает действительно круто, что, я думаю, делает его достаточным для "использования" для большинства из нас.;)

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

В настоящее время люди используют его для приложений реального времени из-за его легкого, асинхронного характера, а также общей веб-разработки, хотя ИМО его сладкое пятно остается с первоначально заявленной целью.

Ответ 5

Что мне нравится в node.js, помимо неблокирующей модели ввода/вывода, масштабируемости и всех этих "основных причин":

  • Легкий характер его структуры. Основы легко усваиваются.
  • Сообщество разработчиков создает множество полезных модулей и библиотек на github, которые расширяют node.js легкое ядро ​​и его возможности.
  • Очень просто и быстро создавать серверные и системы реального времени (например, на основе http или сокетов) без знания сложных библиотек.

Ответ 6

Мне нравится использовать NodeJS для записи тестового жгута, потому что вы можете быстро написать stub/server/client. И вы можете легко управлять своим приложением. Я могу легко script стороннего серверного сервера выполнить тестирование производительности в моем приложении. Я также использую его для моего приложения. Я могу выполнять сложные сценарии клиентского сервера, используя setTimout, чтобы вызвать запуск нескольких событий на основе любой логики, которую я хочу, и проверить их по шкале.