Разработчики Node.js выпустили стабильную версию проекта JavaScript с открытым исходным кодом.
Node.js находится в процессе реорганизации, поскольку руководство идет с созданием фонда для наблюдения за его развитием, но есть также время для выпуска новой версии.
Если вы не знаете, что Node.js — это серверный JavaScript, основанный на движке Google V8 JavaScript. Отколовшаяся группа Node.js недавно разделила Node.js для создания io.js.
В новом выпуске много изменений по сравнению с предыдущим выпуском 0.10. Основные особенности этой новой версии v0.12 включают улучшенную реализацию Streams и лучшую обработку HTTP.
Согласно сообщению в блоге о новой версии, реализация Streams:
«Теперь работает так, как вы думали, без внесения каких-либо изменений в API».
Разработчики говорят, что в основном это означает, что больше не нужно застревать в «старом режиме», есть только потоки, которые текут или нет. Потоки теперь поддерживают использование механизмов пробки и откупоривания для предотвращения сброса записи в систему, если приложение будет выполнять много записей подряд.
Улучшенная поддержка HTTP начинается с увеличения maxSockets; вы больше не ограничены пятью, и теперь по умолчанию установлено значение «Бесконечность» с вами как разработчиком вместе с операционной системой, контролируя, сколько одновременных подключений приложение может поддерживать с заданным хостом. Сокеты также теперь будут оставаться открытыми до тех пор, пока не истечет время ожидания в заданное время, не будут закрыты удаленной стороной или процесс не завершится, поэтому вам больше не нужно проверять конвейерную обработку запросов, чтобы сокет оставался открытым, или использовать альтернативный модуль. чтобы получить эту поддержку.
Функция кластера теперь имеет два режима работы с новым по умолчанию механизмом циклического распределения, когда мастер принимает новые соединения и распределяет их среди ваших рабочих.
Согласно сообщению в блоге, новый механизм TLSWrap включен «под капотом», что устраняет некоторые скачки между реализациями JavaScript и C ++. Обработка TLS теперь также имеет API-интерфейсы для асинхронных обратных вызовов SNI, сшивания OCSP и событий хранилища.
Механизм выделения памяти для буферов стал более точным, поэтому вы увидите меньше накладных расходов и меньше воздействия от удержания небольших фрагментов буферов. Это снижает нагрузку на память в системе, а это означает, что сборка мусора выполняется быстрее, а это означает, что Node.js меньше загружается на ЦП и, следовательно, снижает задержку для ваших приложений.
Поддержка криптографии — еще одна область, которая была улучшена, с новыми API-интерфейсами для загрузки пользовательских механизмов для использования с скомпилированными в OpenSSL. Другие новые API-интерфейсы поддерживают передачу парольных фраз и шифрование / дешифрование с открытым / закрытым ключом RSA.
В сообщении блога говорится, что разработчики:
«Рад сообщить, что в этом выпуске Node.js есть тесты, проходящие на всех поддерживаемых нами платформах. С одной стороны, это кажется очевидным (для чего нужны тесты, если не для проверки перед выпуском ?!), но на самом деле это первый выпуск Node.js, работавший в рамках этого ограничения. Требование прохождения всех тестов перед выпуском Node.js знаменует собой важное событие для проекта и имеет важное значение для построения твердого пути продвижения вперед ».
Параметры загрузки указаны в сообщении блога вместе с подробностями о других изменениях в новой версии.