Ответ 1
Я бы очень рекомендовал node-xmpp, который является самой идиоматической библиотекой, доступной для Node, поскольку каждое соединение является EventEmitter, который испускает события в аналогичном к встроенным модулям.
Если вы используете Node на основе браузера, способ построения строф идентичен Strophe.js, что сводит к минимуму кривую обучения.
По мере того, как вы продвигаетесь дальше на территорию XMPP, node -xmpp также отличный способ писать компоненты. И его архитектура достаточно чистая, что даже на ней построен xmpp-server проект.
Наконец, я также разрабатываю Junction, который представляет собой набор промежуточного ПО XMPP, аналогичный тому, что предлагает Connect/Express для HTTP. В настоящее время я разрабатываю примеры и дополнительную документацию, но исходный код имеет полные API-документы, и я думаю, что это прочная структура, особенно если вы включаете различные XEP в свой клиент/компонент.