Fornex
Европейский
хостинг

    Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API (написанный на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и Mac OS)

    file

    Улучшения в Node.js 12:

    • Обновление движка V8 до версии 7.4 с поддержкой асинхронных трассировок стека, увеличением производительности await, парсинга JavaScript и вызовов при несоответствии фактического и заявленного числа аргументов;
    • Поддержка TLS 1.3 в модуле tls и отключение по умолчанию TLS 1.0/1.1;
    • Усиление защиты и проверок размера выделяемой памяти в классе Buffer;
    • Усиление проверок аргументов в модулях child_process, fs и assert;
    • Удаление устаревших обработчиков в модуле crypto;
    • Перевод модуля http по умолчанию на парсер llhttp;
    • Перевод lib на использование стиля ECMAScript 6 при наследовании классов;
    • Экспериментальная поддержка модулей ECMAScript 6;
    • Изменение ограничений на размер кучи в JavaScript, которые теперь выбираются в зависимости от размера ОЗУ, а не задаются фиксировано;
    • Улучшение поддержки нативных модулей (на C/C++) в комбинации с Worker-потоками и N-API v4 для упрощения использования собственных - потоков с асинхронными функциями на C/C++;
    • Упрощение использования API Worker Threads, для которого теперь не нужно выставлять флаг включения экспериментальной функции;
    • Добавление экспериментальной возможности генерации на лету диагностических отчётов, в которых отражаются события, помогающие диагностике таких проблем как крахи, падение производительности, утечки памяти, большая нагрузка на CPU, непредвиденный вывод ошибок;
    • Реализация команды для сохранения дампа с состоянием кучи для последующего анализа проблем с распределением памяти;
    • Ускорение запуска за счёт задействования встроенного кэша со скомпилированным кодом JavaScript-библиотек. Если раньше кэш заполнялся по мере работы, то теперь его содержимое для встроенных в Node.js библиотек генерируется на этапе сборки и привязывается к исполняемому файлу. - Новая модель заполнения кэша позволила приблизительно на 30% сократить время запуска основного потока;
    • Повышены требования к платформе и версиям компилятора: для сборки теперь требуется как минимум GCC 6 и glibc 2.17 на платформах, отличных от macOS и Windows. Из совместимых дистрибутивов заявлены Enterprise Linux 7, Debian 8 и Ubuntu 14.04. При работе в Windows требуется как минимум Windows 7, 2008 R2 или 2012 R2 и Visual Studio 2017, а в macOS - macOS 10.10 "Yosemite" и Xcode 8.