Rilaxx ta' JavaScript Node.js 13.0 min-naħa tas-server

Disponibbli rilaxx Node.js 13.0, платформы для выполнения сетевых приложений на языке JavaScript. Одновременно завершена стабилизация прошлой ветки Node.js 12.x, которая переведена в категорию выпусков с длительным сроком поддержки, обновления для которых выпускаются в течение 4 лет. Поддержка прошлой LTS-ветки Node.js 10.0 продлится до апреля 2021 года, а позапрошлой LTS-ветки 8.0 до января 2020 года.

Il-prinċipali titjib:

  • Magna V8 aġġornata għall-verżjoni 7.8, в которой задействованы новые методы оптимизации производительности, улучшена деструктуризация объектов, уменьшено потребление памяти и сокращено время подготовки к выполнению WebAssembly;
  • По умолчанию включена полная поддержка интернационализации и Unicode на базе библиотек ICU (International Components for Unicode), позволяющая разработчикам писать код, appoġġ работу с разными языками и локалями. Модуль full-icu теперь установлен по умолчанию;
  • Стабилизирован API Workers Threads, tippermetti создавать многопоточные циклы обработки событий (event loop). Реализация основана на модуле worker_threads, позволяющем запускать JavaScript-код в несколько параллельных потоков. Стабильная поддержка API Workers Threads также бэкепортирована в LTS-ветку Node.js 12.x;
  • Повышены требования к платформам. Для сборки теперь meħtieġa как минимум 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, response.connection, module.createRequireFromPath();
  • Sussegwentement ħareġ обновление 13.0.1, в котором по горячим следам устранено несколько ошибок. В том числе решена проблема с выводом в npm 6.12.0 предупреждения об использовании неподдерживаемой версии.

Ejja nfakkru li l-pjattaforma Node.js tista 'tintuża kemm għall-appoġġ tas-server tal-applikazzjonijiet tal-Web kif ukoll għall-ħolqien ta' programmi ordinarji tan-netwerk tal-klijenti u tas-server. Biex tespandi l-funzjonalità ta 'applikazzjonijiet għal Node.js, numru kbir ta' ġbir ta' moduli, li fiha tista 'ssib moduli bl-implimentazzjoni ta' servers u klijenti HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduli għall-integrazzjoni ma 'diversi oqfsa tal-web, WebSocket u Ajax handlers, konnetturi għal DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), magni tal-mudelli, magni CSS, implimentazzjonijiet ta 'algoritmi kriptografiċi u sistemi ta' awtorizzazzjoni (OAuth), parsers XML.

Biex jimmaniġġa għadd kbir ta 'talbiet paralleli, Node.js juża mudell ta' eżekuzzjoni ta 'kodiċi asinkroniku bbażat fuq proċessar ta' avvenimenti li ma jimblokkax u jiddefinixxi callback handlers. Metodi appoġġjati għall-konnessjonijiet multiplexing jinkludu epoll, kqueue, /dev/poll, u select. Il-librerija hija użata biex konnessjonijiet multiplex libuv, li hija sovrastruttura fuq libev fuq sistemi Unix u fuq IOCP fuq Windows. A librerija hija użata biex tinħoloq pool ta 'ħajt libeio, għat-twettiq ta 'mistoqsijiet DNS fil-mod li ma jimblokkax huwa integrat c-ares. Is-sejħiet kollha tas-sistema li jikkawżaw l-imblukkar huma eżegwiti fil-pool tal-ħajt u mbagħad, bħal dawk li jimmaniġġjaw is-sinjali, jgħaddu r-riżultat tax-xogħol tagħhom lura minn pajp bla isem. L-eżekuzzjoni tal-kodiċi JavaScript hija żgurata permezz tal-użu ta 'magna żviluppata minn Google V8 (Barra minn hekk, Microsoft qed tiżviluppa verżjoni ta 'Node.js bil-magna Chakra-Core).

Fil-qalba tiegħu, Node.js huwa simili għal oqfsa Perl AnyEvent, Magni tal-Avveniment Ruby, Python Twisted и implimentazzjoni avvenimenti f'Tcl, iżda l-linja tal-avvenimenti f'Node.js hija moħbija mill-iżviluppatur u tixbaħ l-immaniġġjar tal-avvenimenti f'applikazzjoni tal-web li taħdem f'browser. Meta tikteb applikazzjonijiet għal node.js, huwa meħtieġ li jitqiesu l-ispeċifiċitajiet tal-programmazzjoni mmexxija mill-avvenimenti, pereżempju, minflok ma tagħmel "var result = db.query ("select..");" bl-istennija għat-tlestija tax-xogħol u l-ipproċessar sussegwenti tar-riżultati, Node.js juża l-prinċipju ta 'eżekuzzjoni asinkronika, i.e. il-kodiċi jinbidel fi "db.query ("select..", funzjoni (riżultat) {proċessar tar-riżultat});", li fih il-kontroll jgħaddi immedjatament għal aktar kodiċi, u r-riżultat tal-mistoqsija jiġi pproċessat hekk kif tasal id-data. .

Sors: opennet.ru

Żid kumment