Как стать автором
Обновить

Анонс node 0.4 — второй стабильной ветки

Время на прочтение2 мин
Количество просмотров969
Автор оригинала: Ryan Dahl
Страничка Wiki, детально описывающая изменения в API между ветками 0.2.x и 0.4.x.

Важные изменения по сравнению с веткой 0.2.x:
  • Полное переписывание системы TLS/SSL. Раньше привязка к OpenSSL была глубоко переплетена с кодом сокетов. Эта привязка была переделана, чтобы вместо этого представлять каждое соединение парой «потоков»: дуплексным шифрованным потоком и дуплексным потоком обычного текста. Шифрованный поток связывается с простым сокетом TCP, используя метод общего назначения Stream.prototype.pipe(). Функциональность была расширена и API упрощён;
  • Облегчённая аллокация буферов (Buffers). Node использует объекты класса Buffer во множестве мест — и было заметно, что они относительно медленно инстанцируются, и их было тяжело собирать во время сборки мусора. Реализация была изменена, чтобы использовать чистые объекты JavaScript вместо ObjectWrap, что увеличило производительность;
  • Имея уже достаточный опыт на сегодня, мы провели некоторые модификации системы загрузки модулей для лучшей поддержки менеджеров пакетов. В частности, мы заставили NPM пересортировать симлинки большой вложенности и добавить «прокладку» для модулей, чтобы обойти ограничения в require(). Основные изменения:
    1. require() вызывает realpath. Следовательно, разрешаются символические ссылки. Это позволяет модулям-симлинкам выполнять относительные require;
    2. require() теперь имеет примитивное понимание package.json. Он ищет основной скрипт. Это позволяет require() работать напрямую с директориями пакетов;
    3. Специально именованная директория, node_modules/, ищется к текущем каталоге для подгрузки любых модулей. Это обрадует разработчиков, которые любят вкладывать пакеты в приложения, вместо того, чтобы зависеть от глобального пространста имён.

    Читайте больше об этих возможностях в документации системы модулей.
  • Наполовину готовое, но неплохое начало для построения нативной Windows-сборки с использованием MinGW было предпринято Бером Билдером. Инструкции для сборки могут быть найдены в Wiki;
  • Node обновился до последней версии V8, v3.1.2. Это включает в себя много работы, к примеру, новую инфраструктуру компиляции V8 и GDB-плагин под Linux. Прочтите полный список изменений V8;
  • Новый встроенный клиент для отладчика V8 был добавлен в Node. Он всё еще очень примитивен, но полезен для простых задач. Здесь маленькое вводное видео и немного документации;
  • Модуль os был добавлен Брайаном Уайтом, который предоставляет много базовой, но полезной информации о системе: os.cpus(), os.freemem(), os.totalmem(), os.loadavg();
  • И, конечно, множество исправлений ошибок. Читайте полный список изменений.
Теги:
Хабы:
+28
Комментарии14

Публикации

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн