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

Објављен је Ноде.јс 18.0, платформа за покретање мрежних апликација у ЈаваСцрипт-у. Ноде.јс 18.0 је класификован као грана за дугорочну подршку, али ће овај статус бити додељен тек у октобру, након стабилизације. Ноде.јс 18.к ће бити подржан до априла 2025. Одржавање претходне ЛТС гране Ноде.јс 16.к трајаће до априла 2024, а претпрошле ЛТС гране 14.к до априла 2023. Грана 12.к ЛТС ће бити укинута 30. априла, а грана за провођење Ноде.јс 17.к ће бити укинута 1. јуна.

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

  • В8 мотор је ажуриран на верзију 10.1, која се користи у Цхромиум-у 101. У поређењу са издањем Ноде.јс 17.9.0, сада постоји подршка за функције као што су методе финдЛаст и финдЛастИндек за проналажење елемената у односу на крај низ и функцију Интл.суппортедВалуесОф. Побољшан АПИ за Интл.Лоцале. Иницијализација поља класе и приватних метода је убрзана.
  • Експериментални фетцх() АПИ је подразумевано омогућен, дизајниран за учитавање ресурса преко мреже. Имплементација је заснована на коду ХТТП/1.1 ундици клијента и што је ближа сличном АПИ-ју који се налази у претраживачима. Ово укључује подршку за ФормДата, Хеадерс, Рекуест и Респонсе интерфејсе за манипулисање ХТТП заглављима захтева и одговора. цонст рес = аваит фетцх('хттпс://нодејс.орг/апи/доцументатион.јсон'); иф (рес.ок) { цонст дата = аваит рес.јсон(); цонсоле.лог(подаци); }
  • Додата је експериментална имплементација АПИ-ја за веб стримове, која омогућава приступ токовима података примљеним преко мреже. АПИ омогућава да додате сопствене руковаоце за рад са подацима како информације стигну преко мреже, без чекања да се цео фајл преузме. Објекти који су сада доступни у Ноде.јс укључују РеадаблеСтреам*, ТрансформСтреам*, ВритаблеСтреам*, ТектЕнцодерСтреам, ТектДецодерСтреам, ЦомпрессионСтреам и ДецомпрессионСтреам.
  • Блоб АПИ је премештен у стабилан, омогућавајући вам да енкапсулирате непроменљиве необрађене податке за безбедну употребу у различитим радничким нитима.
  • БроадцастЦханнел АПИ је стабилан, омогућавајући вам да организујете размену порука у асинхроном режиму у формату „један пошиљалац - много прималаца“.
  • Додат је експериментални модул ноде:тест за креирање и покретање тестова у ЈаваСцрипт-у који враћају резултате у ТАП (Тест Анитхинг Протоцол) формату.
  • Обезбеђена је генерација готових склопова за Ред Хат Ентерприсе Линук (РХЕЛ) 8 и друге дистрибуције засноване на Глибц 2.28+, укључујући Дебиан 10 и Убунту 20.04, као и за мацОС 10.15+. Због проблема са В8 мотором, креирање 32-битних верзија за Виндовс је привремено заустављено.
  • Обезбеђена је експериментална опција за прављење извршне датотеке Ноде.јс са компонентама које је изабрао корисник иницијализованим при покретању. Да бисте дефинисали почетне компоненте, опција „--ноде-снапсхот-маин“ је додата скрипти за конфигурисање, на пример, „./цонфигуре —ноде-снапсхот-маин=маркед.јс; име чвора"

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

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

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

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

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