Хорошо, этот ответ является продолжением моих комментариев, которые отвечают на вопрос более прямо.Однако здесь я буду вдаваться в подробности, которые, вероятно, необходимы, но они полностью ответят на ваши вопросы.Кроме того, это образовательный процесс, и я бы сказал, что это довольно весело, когда вы действительно начнете копаться в этом: D
Начать с самого начала.По мере того как Интернет в первые годы становился все более продвинутым, потребность в типе «логики интерфейса» возросла, и ответом Netscape на это требование было создание конкурентоспособного, передового языка программирования в рекордно короткие сроки.
И под рекордным временем я имею в виду 10 дней, а под конкурентным я имею в виду едва функционирующий.
Правильно, Javascript родился за 10 дней ( буквально ).Как вы можете себе представить, это был довольно плохой язык, но он работал достаточно хорошо, чтобы люди начали его использовать.
Потому что это был язык программирования интернета, и из-за того, как быстро вырос интернет, достаточно людей началииспользовать его, чтобы мысль о его удалении стала страшной.
Если вы измените его, вы нарушите обратную совместимость с миллионами веб-сайтов.Другая идея состояла бы в том, чтобы сохранить это, но также и внедрить новый стандарт.Однако это было бы трудно оправдать, потому что для поддержки javascript уже потребовалось много работы, поддержание нескольких стандартов было бы кошмаром (кашель ... flash кашель).
Javascipt было легкоДостаточно для «новых» программистов, чтобы учиться, но проблема заключалась в том, что javascript был единственным языком в мире, где php, ruby, mySql, Mongo, Css, Html правили как доминирующие короли в своих королевствах.
Итак, кто-то подумал, что было бы неплохо перенести javascript на сервер, и таким образом родился node.js.
Однако для того, чтобы javascript означал что-либо на сервере, ондолжен был быть в состоянии сделать вещи, которые вы не хотели бы делать в вашем браузере.Например, отсканируйте свой жесткий диск и отредактируйте свои файлы.
Если каждый посещенный вами веб-сайт может начать сканирование и загрузку всего в вашей системе хорошо ....
Однако, если ваше серверное программное обеспечение не может редактировать или читать файлы, вынужно это ну ....
Вы поняли идею.Это тот же язык, но из-за проблем с безопасностью node.js имеет некоторые различия.В основном это модули, которые разрешено использовать.
Теперь самое интересное.Можете ли вы запустить клиентскую часть node.js в браузере.Технически да.Фактически, теперь, когда мы выгружаем целые операционных систем в подмножество javascript с именем asm.js , на самом деле javascript не может ничего сделать с достаточной вычислительной мощностью.
Однако даже если вы сбросите весь движок node.js (который по сути является урезанной версией chrome) в asm.js, вы все равно будете иметь те же ограничения безопасности, которые установлены браузером «Host», и поэтому вашмодули могут работать только в песочнице, которую предоставляет браузер.
Так что технически это просто браузер в другом браузере, работающий на половине скорости с теми же ограничениями безопасности.
Я бы порекомендовал это сделать?Конечно нет.
Это то, что люди еще не пробовали раньше?Конечно, нет.
Так что я надеюсь, что это поможет ответить на ваш вопрос.