Ответ 1
В терминах Node.js я не вижу, чтобы это стало основным способом использования javascript в качестве языка сценариев общего назначения. Основной причиной этого является асинхронный характер 99% библиотек и функций, доступных в Node.js. Из-за асинхронной природы вам нужно полностью изменить свое мышление. Отсутствие синхронных методов является камнем преткновения. Это делает вещи менее script похожими на то, что ваш код не является линейным больше.
Таким образом, принятие не происходит по той простой причине, что большую часть времени вы думаете: я мог бы написать это намного быстрее/проще в Ruby/Python/... (просто попробуйте загрузить 5 разных файлов, и копирование их в другую папку с помощью Node.js)
Поскольку люди больше привыкли к мышлению и программированию в асинхронном режиме, использование Node.js в качестве инструмента для сценариев общего назначения может измениться.
Если бы каждая асинхронная функция в node имела синхронную версию, усыновление было бы иным, и люди закончили бы с не масштабируемыми серверами Node.js, потому что они предпочитают использовать методы синхронизации в местах. Возможно, node не стал бы популярным, поскольку номера производительности не выделяли бы его.
Короче:
принятие Node.js происходит из-за этого асинхронного характера. принятие Node.js в качестве инструмента для общего использования скриптов на стороне клиента не происходит из-за отсутствия синхронных функций.
Пожалуйста, имейте в виду, что это основано на моем собственном опыте и мнении, а не на статьях или цифрах, которые я нашел в Интернете, поэтому попробуйте сами и сделайте свое собственное мнение.