Проектот Deno развива безбедна JavaScript платформа слична на Node.js

Достапно објавување на проектот Дено 0.33, кој нуди платформа слична на Node.js за самостојно извршување на апликации во JavaScript и TypeScript што може да се користи за извршување на апликации без да се врзува за прелистувач, како што е создавање управувачи што работат на серверот. Deno користи JavaScript мотор V8, кој исто така се користи во Node.js и прелистувачите базирани на проектот Chromium. Код на проектот дистрибуирани од под лиценца МИТ. Проектот го развива Рајан Дал (Рајан Дал), креатор на JavaScript платформата Node.js.

Една од главните цели за создавање на ново траење за JavaScript е да се обезбеди побезбедна средина. За да се подобри безбедноста, V8 моторот е напишан во Rust, со што се избегнуваат многу ранливости што произлегуваат од манипулација со меморијата на ниско ниво, како што се по-слободен пристап, дереференци на нула покажувач и пречекорувања на баферот. Платформата се користи за обработка на барања во режим на неблокирање Токио, напишано и во Rust. Tokio ви овозможува да креирате апликации со високи перформанси засновани на архитектура управувана од настани, поддржувајќи повеќенишки и обработувајќи мрежни барања во асинхрон режим.

Главните Карактеристики Дено:

  • Стандардна конфигурација ориентирана кон безбедноста. Пристапот до датотеките, вмрежувањето и пристапот до променливите на околината се стандардно оневозможени и мора да бидат експлицитно овозможени;
  • Вградена поддршка за јазикот TypeScript покрај JavaScript;
  • Времето на траење доаѓа во форма на единствена самостојна извршна датотека („deno“). Доволно е да стартувате апликации користејќи Deno преземете за својата платформа една извршна датотека, со големина од околу 10 MB, која нема надворешни зависности и не бара посебна инсталација на системот;
  • Кога ја стартувате програмата, како и за вчитување модули, можете да користите URL-адресирање. На пример, за да ја извршите програмата Welcome.js, можете да ја користите командата „deno https://deno.land/std/examples/welcome.js“. Кодот од надворешни ресурси се презема и кешира на локалниот систем, но никогаш не се ажурира автоматски (за ажурирањето потребно е експлицитно да се стартува апликацијата со знаменцето „--reload“);
  • Ефикасна обработка на мрежни барања преку HTTP во апликации, платформата е дизајнирана за креирање мрежни апликации со високи перформанси;
  • Способност да се креираат универзални веб-апликации кои можат да се извршат и во Deno и во обичен веб-прелистувач;
  • Покрај траењето, платформата Deno делува и како менаџер на пакети и ви овозможува пристап до модулите преку URL во кодот. На пример, за да вчитате модул, можете да наведете во кодот „увоз * како дневник од „https://deno.land/std/log/mod.ts“. Датотеките преземени од надворешни сервери преку URL се кешираат. Поврзувањето со верзиите на модулите се одредува со наведување на броеви на верзии во URL-то, на пример, „https://unpkg.com/[заштитена по е-пошта]/dist/liltest.js";
  • Структурата вклучува интегриран систем за проверка на зависноста (командата „deno info“) и алатка за форматирање на кодот (deno fmt).
  • За развивачите на апликации предложи збир на стандардни модули кои биле подложени на дополнителна ревизија и тестирање на компатибилност;
  • Сите скрипти за апликација може да се комбинираат во една датотека JavaScript.

Разлики од Node.js:

  • Дено не користи менаџер на пакети npm
    и не е врзан за складишта, модулите се адресираат преку URL или преку патека на датотека, а самите модули може да се постават на која било веб-страница;

  • Дено не користи „package.json“ за да дефинира модули;
  • API разлика, сите асинхрони дејства во Deno враќаат ветување;
  • Deno бара експлицитно дефинирање на сите потребни дозволи за датотеки, мрежа и променливи на околината;
  • Сите грешки што не се обезбедени со ракувачи доведуваат до прекинување на апликацијата;
  • Deno го користи системот на модули ECMAScript и не поддржува бара().

Извор: opennet.ru

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