Node.js — это среда выполнения JavaScript-программ, построенная на движке Chrome V8. Раньше на JS можно было делать только интерактивные сайты, так как это специализированный браузерный язык программирования. С программной платформой Node.js появилась возможность создавать «безбраузерные» приложения для компьютера.
На других языках
К настоящему времени он лидирует в качестве средства для разработки веб-приложений на стороне клиента. Это произошло из-за того, что эволюция веба двинулась в сторону интерактивных веб-приложений, хотя Сеть не была изначально предназначена для этого, как не был предназначен и JavaScript. Главная особенность Node.js в том, что вместо традиционной модели параллелизма на основе потоков автор выбрал событийно-ориентированный подход. Это такая парадигма программирования, в которой выполнение программ определяется событиями. Например, это действие пользователя, поступление сетевого пакета, сообщение из другой программы и так далее.
Пишем первую программу на Node.js
- В ходе своих исследований он пришёл к выводу, что вместо традиционной модели параллелизма на основе потоков следует обратиться к событийно-ориентированным системам.
- Чтобы создавать приложения на HTML5, нужно постоянно осваивать новые технологии и инструменты.
- Это произошло из-за того, что эволюция веба двинулась в сторону интерактивных веб-приложений, хотя Сеть не была изначально предназначена для этого, как не был предназначен и JavaScript.
- То есть эта платформа фактически превращает JavaScript из специализированного скриптового языка в язык общего назначения.
Постепенно JavaScript оброс целой инфраструктурой фреймворков, библиотек, компиляторов и протоколов. В том числе появилось несколько платформ исполнения серверных и клиентских приложений. Среда исполнения представляет собой платформу для написания JavaScript-приложений с использованием внешних библиотек. Разработку языка координирует OpenJS Foundation, который финансируется по программе поддержки свободных проектов Linux Foundation. Это свободный распределённый проект, в создании которого на безвозмездной основе участвуют тысячи разработчиков со всего мира. Такой подход сильно упрощает программирование некоторых приложений, особенно при реализации удобного интерфейса ввода-вывода (I/O), как у Node.js.
На других языках
Важной частью Node.js node js против php является пакетный менеджер NPM — Node Package Manager, который устанавливается вместе с интерпретатором (см. ниже).
- Такой подход сильно упрощает программирование некоторых приложений, особенно при реализации удобного интерфейса ввода-вывода (I/O), как у Node.js.
- Важной частью Node.js является пакетный менеджер NPM — Node Package Manager, который устанавливается вместе с интерпретатором (см. ниже).
- Постепенно JavaScript оброс целой инфраструктурой фреймворков, библиотек, компиляторов и протоколов.
- Это означает, что на Node.js вы можете писать любые компьютерные программы.
На других языках
Чтобы создавать приложения на HTML5, нужно постоянно осваивать новые технологии и инструменты. Каждые несколько лет всё становится с ног на голову, а набор технологий для создания современного приложения изменяется. Важными событиями в развитии платформы стало появление Atomics и SharedArrayBuffer в Node.js 9, а также worker_threads в Node.js 10.5 (и существенное развитие в Node.js 12)10.
Таким образом, Node.js — это событийно-ориентированный I/O-фреймворк на JavaScript. Технические особенности делают приложения на его основе легковесными и эффективными. Программная платформа Node.js работает на движке V8, который транслирует JavaScript в машинный код. Грубо говоря, сама платформа является приложением C++, которое получает на входе JavaScript-код и выполняет его. Кроме Node и NPM нужно ещё установить редактор кода, если его у вас до сих пор нет. Есть несколько удобных редакторов, в том числе Visual Studio Code от Microsoft, Brackets от Adobe и популярный свободный редактор Atom.
Как платформа устроена изнутри
Это значит, что при необходимости на JavaScript теперь можно делать то же, что на Python и других скриптовых языках программирования общего назначения. В среде исполнения есть собственный интерфейс на C++ для взаимодействия с устройствами ввода-вывода на компьютере. То есть эта платформа фактически превращает JavaScript из специализированного скриптового языка в язык общего назначения. Это означает, что на Node.js вы можете писать любые компьютерные программы. Но, как часто бывает, со временем разработчики начали использовать JavaScript совсем иначе, чем было задумано. Самый неправильно понятый в мире язык программирования в итоге стал самым популярным.
Пакетный менеджер NPM
Это позволило создавать многопоточные параллельные приложения, реализовывать примитивы параллельного программирования и работать с разделяемой памятью11. Node.js разработал Райан Даль в 2009 году после двух лет экспериментирования над созданием серверных веб-компонентов. В ходе своих исследований он пришёл к выводу, что вместо традиционной модели параллелизма на основе потоков следует обратиться к событийно-ориентированным системам. Эта модель была выбрана из-за простоты, низких накладных расходов (по сравнению с идеологией «один поток на каждое соединение») и быстродействия. Целью Node является предложить «простой способ построения масштабируемых сетевых серверов».