2014-11-02 2 views
1

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

Я понял, что MEAN стек может подходит к работе очень хорошо. Тем не менее, я перед дилеммой, следует ли использовать Node.js в качестве серверной технологии для применения:

Причины рассмотреть Сев.Узел

  • Бэкэнда будет в основном состоять из реальных времени компонентов. Например. инструменты для совместной работы, уведомления и т.д.
  • Эти компоненты будут обрабатывать эти данные одновременно
  • Это будет шкала лучше, чем обычный серверный язык программирования, таких как PHP
  • Разоблачение данные с REST для например мобильным приложениям будет бриз
  • Имея , один формат данных (JSON) в передней и задней частях ускорит разработку.

Сомнения

  • Некоторые компоненты требуют вычисления. Хотя это и не так сложно, это может замедлить работу приложения.
  • Хотя применение в основном одной страницы приложение, приложение (на более поздней стадии имеет некоторые особенности, что узел, кажется, как правило, не подходит для. Например, рабочего процесса оплаты.

Я уже сделал переключатель из предыдущего подхода, поэтому на этот раз я хочу быть уверенным в выборе правильного подхода. Будет ли Node.js правильным выбором для этого приложения, или, например, PHP-сервер с Laravel подходит для работы лучше, когда приложение созреет ?

+0

Ну, вы сами не будете строить платежную систему? В этом случае я предполагаю, что технология, которую вы выбираете, не имеет большого значения. – Whymarrh

+0

Не соединение с банком, конечно, но если требуется интеграция с другими компонентами системы, это совсем другая история, не так ли? – jroeleveld

+0

Я не совсем уверен, что вы подразумеваете под «интеграцией с другими компонентами систем»? Узел не отличается (на высоком уровне) от любого другого языка сервера: он может обрабатывать запросы и отправлять ответы. – Whymarrh

ответ

1

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

Тем не менее, я не вижу ничего, что вы описали в своих «сомнениях», как особенно не-нод. Вы можете сказать, что вычисления, которые вы говорите, будут легкими, но моя рекомендация заключается в том, чтобы относиться к нему, как к любой другой асинхронной задаче, а затем, если позже вы решите, что это проблема (например, замедляет работу приложения), довольно тривиально извлекать это из отдельный процесс узла (поэтому не блокирует цикл событий вашего основного приложения) или использовать компонент, построенный на выбранном вами языке (Java, .NET, C, Perl, независимо), как описано выше.

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

Смежные вопросы