Deno JavaScript платформа версия 1.16

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

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

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

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

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

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

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