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

одиграло се издање Ноде.јс 14.0,платформе за покретање мрежних апликација у ЈаваСцрипт-у. Ноде.јс 14.0 је грана за дугорочну подршку, али овај статус ће бити додељен тек у октобру, након стабилизације. Ноде.јс 14.0 ће бити подржан вршити до априла 2023. Одржавање претходне ЛТС гране Ноде.јс 12.0 трајаће до априла 2022, а претпрошле ЛТС гране 10.0 до априла 2021. Подршка за сценску грану 13.к ће се завршити у јуну ове године.

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

  • Способност генерисања у ходу или по настанку одређених догађаја је стабилизована дијагностички извештаји, који приказују догађаје који помажу у дијагностицирању проблема као што су рушења, деградација перформанси, цурење меморије, велико оптерећење ЦПУ-а, неочекивани излаз грешке итд.
  • Додата експериментална подршка за АПИ Асинц Лоцал Стораге са имплементацијом класе АсинцЛоцалСтораге, која се може користити за креирање асинхроног стања са руковаоцима заснованим на повратним позивима и обећањима. АсинцЛоцалСтораге вам омогућава да складиштите податке док се веб захтев обрађује, што подсећа на локално складиштење нити на другим језицима.
  • Уклоњена порука упозорења о експерименталној функцији приликом учитавања модула ЕЦМАСцрипт 6 повезани и извезени коришћењем изјава за увоз и извоз. Истовремено, сама имплементација ЕСМ модула остаје експериментална.
  • В8 мотор је ажуриран на верзију 8.1 (1, 2, 3), који укључује нове оптимизације перформанси и функције као што је нови оператор логичке конкатенације "??" (враћа десни операнд ако је леви операнд НУЛЛ или недефинисан, и обрнуто), оператор „?.“ за једнократну проверу целог ланца својстава или позива (на пример, „дб?.усер?.наме?.ленгтх“ без прелиминарних провера), метод Интл.ДисплаиНаме за добијање локализованих имена итд.
  • Извршена је ревизија Стреамс АПИ-ја са циљем да се побољша конзистентност Стреамс АПИ-ја и елиминишу разлике у понашању основних делова Ноде.јс-а. На пример, понашање хттп.ОутгоингМессаге је блиско стреам.Вритабле, а нет.Соцкет је слично стреам.Дуплек. Опција аутоДестрои је подразумевано подешена на „труе“, што значи позивање „_дестрои“ по завршетку.
  • Додата експериментална подршка за АПИ ЈЕСАМ ЛИ ЈА (ВебАссембли системски интерфејс), обезбеђивање софтверских интерфејса за директну интеракцију са оперативним системом (ПОСИКС АПИ за рад са датотекама, сокетима итд.).
  • Повећани захтеви за минималне верзије компајлери и платформе: мацОС 10.13 (Хигх Сиерра), ГЦЦ 6, Виндовс новији 7/2008Р2.

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

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

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

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

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