Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, поисковые системы, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 9980
  комментариев: 1483

Выпуск серверной JavaScript-платформы Node.js 5.0


Состоялся релиз Node.js 5.0, новой стабильной ветки платформы для выполнения высокопроизводительных сетевых приложений на языке JavaScript. Ветка 5.0 включает порцию новых возможностей и будет развиваться параллельно c веткой Node.js 4.x, которая отнесена к категории стабильных LTS-выпусков с длительным сроком поддержки (30 месяцев). Время поддержки Node.js 5.x составит 8 месяцев. В дальнейшем, в апреле 2016 года планируется выпустить Node.js 6.0, который получит статус LTS.

Выпуск Node.js 5.0 рекомендуется тем, кто желает оперативно получить доступ к новой функциональности, имеет возможность безболезненно провести обновление и готов разбираться с возможными негативными последствиями из-за нарушений обратной совместимости. LTS-ветки предлагаются для сложных промышленных внедрений, крупных предприятий и тех, для кого стабильность имеет первоочередное значение.

Из новшеств Node.js 5.0 можно отметить переход на новый выпуск движка V8 4.6.85.25, что требует пересборки установленных сторонних дополнений. Пакетный менеджер npm обновлён до выпуска 3.3.6. Внесены нарушающие совместимость изменения в объекты buffer (удалены типы кодировок 'raw' и 'raws') и console (изменён формат вывода console.time), прекращена поддержка вызовов require.paths, util.p(), util.inherits() и require.registerExtension(), ужесточены требования к именам методов и заголовков HTTP, прекращена поддержка модуля _linklist. В модуль tls добавлена поддержка ALPN, минимальный размер ключа DH для tls.connect() увеличен до 1024 бит. Добавлена возможность передачи файловых дескрипторов в вызовы fs.readFile*(), fs.writeFile*() и fs.appendFile*().

Платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.

Для обеспечения обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv, которая является надстройкой над libev в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный канал (pipe). Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8.

По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python Twisted и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере. При написании приложений для node.js необходимо учитывать специфику событийно-ориентированного программирования, например, вместо выполнения "var result = db.query("select..");" с ожиданием завершения работы и последующей обработкой результатов, в Node.js использует принцип асинхронного выполнения, т.е. код трансформируется в "db.query("select..", function (result) {обработка результата});", при котором управление мгновенно перейдёт к дальнейшему коду, а результат запроса будет обработан по мере поступления данных. Ни одна функция в Node.js не должна напрямую выполнять операции ввода/вывода - для получения данных с диска, от другого процесса или из сети требуется установка callback-обработчика.


Источник: opennet.ru

  31 октября 2015 455
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 3 и 16*:            


Хостеры (2043)
HostDB (31)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)


Лучшие новости
ХостерыЧестный хостинг без тарифов и ограничений за 30 копеек в месяц! +3   JustHost.ru

ХостерыЧестный хостинг без тарифов и ограничений за 30 копеек в месяц! +2   JustHost.ru

ХостерыБесплатный конструктор сайтов на хостинге от ГиперХост +1   HyperHost

ХостерыVPS на SSD от 124 руб. в месяц. VPS на HDD от 87 руб. в месяц. +1   JustHost.ru

ХостерыЗапуск KVM VDS на NVMe SSD-дисках   HostiMan

ХостерыМы проделали большую работу для Вас и рады сообщить о выпуске новых обновлений за 24 апреля 2018 года.   FastFox

ХостерыС 18 по 20 апреля 2018 года .masterhost как один из старейших хостинг-провайдеров на российском рынке традиционно стал экспонентом выставки, проходящей в рамках важного для Рунета события – «РИФ 2018»   .masterhost

ХостерыНаша компания не упускает возможности пообщаться со своей аудиторией на профессиональных IT-мероприятиях. Именно поэтому мы выступили экспонентами на выставке «Связь–2018» и в течение всех 4 дней   .masterhost



Отправить сообщение администратору

Сумма чисел 35 и 0*:


Яндекс цитирования Rambler's Top100
сообщить о неточности