Доступна је ЈаваСцрипт платформа Ноде.јс 19.0 на страни сервера

Објављена је Ноде.јс 19.0, платформа за покретање мрежних апликација у ЈаваСцрипт-у. Ноде.јс 19 је редовна грана подршке са ажурирањима доступним до јуна 2023. У наредним данима биће завршена стабилизација гране Ноде.јс 18, која ће добити ЛТС статус и биће подржана до априла 2025. године. Одржавање претходне ЛТС гране Ноде.јс 16.0 трајаће до септембра 2023. године, а претпрошле ЛТС гране 14.0 до априла 2023. године.

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

  • В8 мотор је ажуриран на верзију 10.7, која се користи у Цхромиум-у 107. Међу променама у машини у поређењу са граном Ноде.јс 18, примећена је имплементација треће верзије АПИ-ја Интл.НумберФормат, која додаје нове функције форматРанге (), форматРангеТоПартс() и селецтРанге(), груписање скупова, нове опције за заокруживање и прецизност подешавања, могућност тумачења низова као децималних бројева. Укључене зависности ллхттп 8.1.0 и нпм 8.19.2 су такође ажуриране.
  • Предложена је експериментална команда "ноде -ватцх" са имплементацијом режима посматрања који обезбеђује да се процес поново покрене када се увезена датотека промени (на пример, ако се изврши "ноде -ватцх индек.јс", процес ће бити аутоматски се поново покреће када се индек.јс промени).
  • За све одлазне ХТТП/ХТТПС везе омогућена је подршка за ХТТП 1.1 механизам Кееп-Аливе, који оставља везу отвореном одређено време за обраду неколико ХТТП захтева у оквиру исте везе. Очекује се да ће Кееп-Аливе побољшати пропусност и перформансе. Подразумевано, временско ограничење за отварање везе је подешено на 5 секунди. Подршка за рашчлањивање Кееп-Аливе ХТТП заглавља у одговорима сервера је додата имплементацији ХТТП клијента, а аутоматско искључење неактивних клијената који користе Кееп-Аливе је додато имплементацији ХТТП сервера Ноде.јс.
  • ВебЦрипто АПИ је пребачен у стабилну категорију, са изузетком функција које користе алгоритме Ед25519, Ед448, Кс25519 и Кс448. За приступ ВебЦрипто модулу сада можете користити глобалТхис.црипто или рекуире('ноде:црипто').вебцрипто.
  • Подршка за алате за праћење ДТраце, СистемТап и ЕТВ (Евент Трацинг фор Виндовс) је уклоњена, чије се одржавање сматрало неприкладним због сложености његовог ажурирања у недостатку одговарајућег плана подршке.

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

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

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

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

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