Издање ЈаваСцрипт платформе на страни сервера Ноде.јс 13.0

Доступан издање Ноде.јс 13.0,платформе за покретање мрежних апликација у ЈаваСцрипт-у. Истовремено је завршена стабилизација претходне гране Ноде.јс 12.к, која је пребачена у категорију дугорочних издања подршке, ажурирања за која се издају 4 године. Подршка за претходну ЛТС грану Ноде.јс 10.0 трајаће до априла 2021, а подршка за последњу ЛТС грану 8.0 до јануара 2020.

Главни побољшања:

  • В8 мотор је ажуриран на верзију 7.8, који користи нове технике оптимизације перформанси, побољшава деструктурирање објеката, смањује потрошњу меморије и смањује време припреме за извршавање ВебАссембли-а;
  • Потпуна подршка за интернационализацију и Уницоде заснован на библиотеци је подразумевано омогућена ИЦУ (Међународне компоненте за Уницоде), што омогућава програмерима да пишу код подржавајући рад са различитим језицима и локацијама. Модул фулл-ицу је сада подразумевано инсталиран;
  • АПИ стабилизован Воркерс Тхреадс, дозвољавајући креирајте вишенитне петље догађаја. Имплементација је заснована на модулу воркер_тхреадс, који вам омогућава да покренете ЈаваСцрипт код у више паралелних нити. Стабилна подршка за Воркерс Тхреадс АПИ је такође пребачена у ЛТС грану Ноде.јс 12.к;
  • Захтеви за платформе су повећани. Сада за монтажу потребно најмање мацОС 10.11 (захтева Ксцоде 10), АИКС 7.2, Убунту 16.04, Дебиан 9, ЕЛ 7, Алпине 3.8, Виндовс 7/2008;
  • Побољшана подршка за Питхон 3. Ако систем има и Питхон 2 и Питхон 3, Питхон 2 се и даље користи, али је додата могућност изградње када је само Питхон 3 инсталиран на систему;
  • Стара имплементација ХТТП парсера („—хттп-парсер=легаци“) је уклоњена. Уклоњени или застарели позиви и својства ФСВатцхер.прототипе.старт(), ЦхилдПроцесс._цханнел, опен() метод у објектима РеадСтреам и ВритеСтреам, рекуест.цоннецтион, респонсе.цоннецтион, модуле.цреатеРекуиреФромПатх();
  • Пратите изашао ажурирање 13.0.1, које је брзо поправило неколико грешака. Конкретно, решен је проблем са нпм 6.12.0 који приказује упозорење о коришћењу неподржане верзије.

Подсетимо се да платформа Ноде.јс може да се користи како за серверску подршку веб апликација, тако и за креирање обичних клијентских и серверских мрежних програма. За проширење функционалности апликација за Ноде.јс, велики број збирка модула, у којем се могу пронаћи модули са имплементацијом сервера и клијената ХТТП, СМТП, КСМПП, ДНС, ФТП, ИМАП, ПОП3, модули за интеграцију са разним веб оквирима, ВебСоцкет и Ајак руковаоци, конектори за ДБМС (МиСКЛ, ПостгреСКЛ, СКЛите , МонгоДБ ), шаблонске машине, ЦСС машине, имплементације криптографских алгоритама и система ауторизације (ОАутх), КСМЛ парсери.

За руковање великим бројем паралелних захтева, Ноде.јс користи модел извршавања асинхроног кода заснован на обради догађаја без блокирања и дефинисању руковалаца повратним позивима. Подржане методе за мултиплексирање веза укључују еполл, ккуеуе, /дев/полл и селецт. Библиотека се користи за мултиплексирање веза либув, што је надградња преко либев на Уник системима и преко ИОЦП-а на Виндовс-у. Библиотека се користи за креирање скупа нити либеио, за обављање ДНС упита у неблокирајућем режиму је интегрисан ц-аре. Сви системски позиви који узрокују блокирање се извршавају унутар скупа нити, а затим, као руковаоци сигнала, прослеђују резултат свог рада назад кроз неименовану цев. Извршење ЈаваСцрипт кода је обезбеђено коришћењем машине коју је развио Гоогле V8 (Поред тога, Мицрософт развија верзију Ноде.јс са Цхакра-Цоре мотором).

У својој сржи, Ноде.јс је сличан оквирима Перл АниЕвент, Руби Евент Мацхине, Питхон Твистед и имплементација догађаја у Тцл-у, али петља догађаја у Ноде.јс је скривена од програмера и подсећа на руковање догађајима у веб апликацији која ради у претраживачу. Приликом писања апликација за ноде.јс, потребно је узети у обзир специфичности програмирања вођеног догађајима, на пример, уместо да радите „вар ресулт = дб.куери(“селецт..”);” са чекањем завршетка рада и накнадном обрадом резултата, Ноде.јс користи принцип асинхроног извршавања, тј. код се трансформише у „дб.куери(“селецт..”, фунцтион (ресулт) {ресулт процессинг});”, у коме ће контрола одмах прећи на даљи код, а резултат упита ће бити обрађен како подаци стигну. .

Извор: опеннет.ру

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