Платформа NodeJS
Node или NodeJS — платформа, основанная на движке V8, превращающая JavaScript в язык общего назначения.
При разработке на NodeJS используются событийно-ориентированное и асинхронное программирование. NodeJS достаточно сильно расширяет возможности использования языка JavaScript, поэтому на его базе можно разрабатывать как веб-серверные приложения, так и десктопные приложения. Также встроенный в Node пакетный менеджер npm сильно упрощает работу с пакетами и их зависимостями при любой разработке, связанной с использованием JavaScript.
Мы очень редко используем возможности NodeJS для бэкенд-разработки, так как сознательно предпочитаем разрабатывать эту часть веб-приложений на Ruby on Rails. Но активно используем NodeJS в разработке десктопных приложений и для упрощения работы с фронтендом.
JavaScript (JS) — язык программирования, который наиболее широко JS используется в браузерах как язык сценариев для придания интерактивности веб-страницам.
Также JS может использоваться для бэкенд-разработки, для разработки мобильных приложений и для других задач. В языке отсутствуют стандартная библиотека, стандартные интерфейсы к веб-серверам и базам данных, а также нет встроенной системы управления пакетами. Но всё это решается подключением сторонних библиотек и использованием дополнительного ПО.
Node Package Manager (npm) — менеджер пакетов, входящий в состав Node.js.
Инфраструктура пакетного менеджера состоит из консольного клиента (npm) и доступной онлайн базы данных публичных и приватных пакетов — npm registry. Клиент позволяет скачивать пакеты из реестра и устанавливать их. Для хранения списка используемых в проекте пакетов используется файл package.json
Yarn — это альтернативный npm-клиент для работы в качестве пакетного менеджера JavaScript.
Этот менеджер пакетов ускоряет сборку пакетов и делает её более безопасной. Yarn поддерживает параллельную установку, что обычно в несколько раз быстрее, а также позволяет точно зафиксировать версии зависимостей в файле yarn.lock