Издаване на JavaScript платформа Deno 1.16

Пуснато е издание на платформата Deno 1.16 за JavaScript, предназначена за самостоятелно изпълнение (без ползване на браузър) на приложения, написани на JavaScript и TypeScript. Проектът се развива от автора на Node.js Райън Дал (Ryan Dahl). Кодът на платформата е написан на програмния език Rust и се разпространява под лицензия MIT. Готови версии са подготвени за Linux, Windows и macOS.

Проектът е подобен на платформата Node.js и, подобно на нея, използва JavaScript двигателя V8, но според автора на Node.js, коригира редица архитектурни недостатъци на предшественика си и се отличава с следните нюанси:

  • Използването на Rust като основен език, което, според разработчиците, намалява риска от уязвимости, свързани с ниско ниво операции с паметта (препълване на буфера, use-after-free и др.);
  • Deno не използва пакетния мениджър npm и package.json, предлагайки на потребителя инсталация на модули чрез указване на URL адрес или пътя до модула за инсталация. Въпреки това, проектът предлага няколко инструмента за опростяване на работата с външни модули;
  • Приложенията се изпълняват самостоятелно в пясъчни среди и нямат достъп до мрежата, променливи на средата и файловата система, без явно позволение;
  • В архитектурата е заложена възможността за създаване на универсални уеб приложения, които могат да работят както в системата Deno, така и в обикновен браузър;
  • Използване на «ES Modules» и отсъствие на поддръжка за require();
  • Всички необработени грешки на програмиста във уеб приложението водят до принудително прекратяване;
  • Поддръжка на TypeScript в допълнение към JavaScript;
  • Пълният размер на готовата платформа е 84 MB (в zip архив — 31 MB) под формата на един изпълняем файл;
  • Включена е система за разрешаване на зависимости и форматиране на кода;
  • Ориентирана към високо производителни приложения.

Deno обработва заявките в неблокиращ режим с използване на платформата Tokio, предназначена за създаване на високо производителни приложения на базата на събитийна (event-driven) архитектура. Също така е интересно, че вграденият HTTP сървър на Deno е реализиран на TypeScript на базата на нативни TCP сокети, което положително се отразява на производителността на мрежовите операции.

В новата версия се отбелязват:

  • Оптимизация на производителността (4 поправки);
  • Поправка на над 15 грешки, като например, сега TLS-клиентът поддържа HTTP/2, подсистемата за кодиране поддържа допълнителни етикети за кодиране и др.;
  • Над двайсет нововъведения, сред които можем да отбележим стабилизацията на предишните тестови подсистеми Deno.startTls и Deno.TestDefinition.permissions, актуализация на движка JS V8 до версия 9.7 и поддръжка на преобразуванията на React 17 JSX.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster