Издание на JavaScript Node.js 13.0 од страна на серверот

Достапно ослободување Јазол.js 13.0,платформи за извршување на мрежни апликации во JavaScript. Во исто време, завршена е стабилизацијата на претходната гранка на Node.js 12.x, која е префрлена во категоријата изданија за долгорочна поддршка, ажурирања за кои се објавуваат 4 години. Поддршката за претходната LTS гранка на Node.js 10.0 ќе трае до април 2021 година, а поддршката за последната LTS гранка 8.0 до јануари 2020 година.

Главните подобрувања:

  • Моторот V8 е ажуриран во верзија 7.8, кој користи нови техники за оптимизација на перформансите, го подобрува деструктурирањето на објектите, ја намалува потрошувачката на меморија и го намалува времето на подготовка за извршување на WebAssembly;
  • Целосната поддршка за интернационализација и Уникод базиран на библиотека е стандардно овозможен Одделението за интензивна нега (International Components for Unicode), кој им овозможува на програмерите да пишуваат код поддржувачки работа со различни јазици и локалитети. Модулот full-icu сега е стандардно инсталиран;
  • API е стабилизиран Работнички Теми, дозволувајќи креирајте јамки за настани со повеќе нишки. Имплементацијата се заснова на модулот worker_threads, кој ви овозможува да извршите JavaScript код во повеќе паралелни нишки. Стабилната поддршка за Workers Threads API е исто така вратена во гранката LTS на Node.js 12.x;
  • Барањата за платформи се зголемени. За склопување сега потребни најмалку macOS 10.11 (потребен е Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Подобрена поддршка за Python 3. Ако системот има и Python 2 и Python 3, Python 2 сè уште се користи, но е додадена можноста за градење кога само Python 3 е инсталиран на системот;
  • Старата имплементација на HTTP парсерот („—http-parser=legacy“) е отстранета. Отстранети или застарени повици и својства FSWatcher.prototype.start(), ChildProcess._channel, open() метод во ReadStream и WriteStream објекти, request.connection, answer.connection, module.createRequireFromPath();
  • Следно излезе ажурирање 13.0.1, кое брзо поправи неколку грешки. Особено, проблемот со npm 6.12.0 прикажување предупредување за користење на неподдржана верзија е решен.

Да потсетиме дека платформата Node.js може да се користи и за серверска поддршка на веб-апликации и за креирање обични мрежни програми за клиент и сервер. За да се прошири функционалноста на апликациите за Node.js, голем број на колекција на модули, во кои можете да најдете модули со имплементација на сервери и клиенти HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули за интеграција со различни веб рамки, WebSocket и Ajax управувачи, конектори за DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), мотори на шаблони, CSS мотори, имплементации на криптографски алгоритми и системи за авторизација (OAuth), XML парсери.

За да се справи со голем број паралелни барања, Node.js користи асинхрон модел за извршување на код базиран на неблокирачка обработка на настани и дефинирање на управувачи со повратен повик. Поддржани методи за мултиплексирање конекции вклучуваат epoll, kqueue, /dev/poll и select. Библиотеката се користи за мултиплекс врски либув, што е надградба над либев на Unix системи и преку IOCP на Windows. Библиотеката се користи за создавање на базен со нишки либејо, за извршување на DNS барања во неблокирачки режим е интегриран в-ари. Сите системски повици кои предизвикуваат блокирање се извршуваат во рамките на базенот на нишки и потоа, како ракувачи со сигнали, го пренесуваат резултатот од нивната работа назад низ неименувана цевка. Извршувањето на JavaScript кодот е обезбедено преку употреба на мотор развиен од Google V8 (Покрај тоа, Microsoft развива верзија на Node.js со моторот Chakra-Core).

Во неговото јадро, Node.js е сличен на рамки Perl AnyEvent, Руби машина за настани, Python Twisted и имплементација настани во Tcl, но циклусот на настани во Node.js е скриен од развивачот и наликува на справување со настани во веб-апликација што работи во прелистувач. Кога пишувате апликации за node.js, неопходно е да се земат предвид спецификите на програмирањето управувано од настани, на пример, наместо да се прави „var result = db.query („избери..“);“ со чекање за завршување на работата и последователна обработка на резултатите, Node.js го користи принципот на асинхроно извршување, т.е. кодот се трансформира во „db.query („избери..“, функција (резултат) {обработка на резултат});“, во која контролата веднаш ќе премине на понатамошниот код, а резултатот од барањето ќе се обработува како што пристигнуваат податоците. .

Извор: opennet.ru

Додадете коментар