Deno 1.0, қауіпсіз JavaScript платформасы Node.js

Node.js әзірлеушілері шығарылды жақында іске қосу алғашқы маңызды нұсқасы Deno 1.0 бұл екі жылдық дамудан кейін келеді. Бұл JavaScript және TypeScript қосымшаларын бөлек орындауға арналған платформа, оның көмегімен серверде жұмыс жасайтын контроллерлер жасауға болады. Жоқ Бұл Node.js тармағы емес, бұл нөлден жасалған жаңа жоба.

Node.js сияқты, Deno V8 JavaScript қозғалтқышын қолданады, ол Chromium негізіндегі браузерлерде де қолданылады.  Негізгі мотивация жаңа JavaScript платформасын құру Node.js архитектурасында жіберілген тұжырымдамалық қателіктерді жоюға деген ниет болды және пайдаланушыларға қауіпсіз ортаны қамтамасыз ету.

Қауіпсіздікті арттыру үшін V8 қозғалтқышының сілтемесі тот тілінде жазылған, Бұл жадымен жұмыс жасайтын төменгі деңгейдің салдарынан туындайтын көптеген осалдықтарды болдырмайды, мысалы, ол босатылғаннан кейін жад аймағына кіру, нөлдік көрсеткіштерге сілтеме жасау және буферлік шектеулерден шығу.

Жоба коды MIT лицензиясы бойынша таратылады және Linux, Windows және macOS үшін дайындалған компиляцияларға ие.

Deno 1.0-де қандай жаңалықтар бар

Платформаның бұл жаңа нұсқасы, Deno атау кеңістігінде API тұрақтылығы бөлектелген, олар қосымшалардың операциялық жүйемен өзара әрекеттесуіне жауап береді. Бағдарламалық жасақтама әлі тұрақты емес, әдепкі бойынша жасырылған және тұрақсыз режимде іске қосылғанда ғана қол жетімді.

Жаңа нұсқалар қалыптасқан сайын, мұндай API біртіндеп тұрақты болады. SetTimeout () және fetch () сияқты жалпы функцияларды қамтитын ғаламдық атаулар кеңістігіндегі API жалпы веб-шолғыштардың API-не мүмкіндігінше жақын және шолғыштарға арналған веб-стандарттарға сәйкес жасалған. Тікелей платформалық кодта қолданылатын Rust API, сондай-ақ Deno жұмыс уақытына арналған плагиндерді әзірлеу интерфейсі әлі тұрақты емес және дами береді.

Сонымен қатар, ол қауіпсіздікті қамтамасыз ету бойынша жұмыс істегенімен ерекшеленеді Файлға қол жеткізудің әдепкі параметрлерінде желі мүмкіндіктері және қоршаған ортаның айнымалыларына қол жеткізу әдепкі бойынша бұғатталады және нақты қосуды талап етеді. Әдепкіде, қосымшалар оқшауланған орталарда жұмыс істейді және олар жүйенің мүмкіндіктеріне айқын артықшылықтарсыз қол жеткізе алмайды.

Екінші жағынан, бұл туралы жаңа нұсқадағы хабарламада айтылады JavaScript-тен басқа TypeScript үшін жергілікті қолдау. Түрлерін тексеру және JavaScript құру үшін, стандартты TypeScript компиляторы қолданылады, V8-де JavaScript талдаумен салыстырғанда өнімділіктің төмендеуіне әкеледі. Болашақта біз өзімізде TypeScript типін тексеру жүйесін дайындауды жоспарлап отырмыз, бұл бізге TypeScript өңдеу өнімділігін едәуір арттыруға мүмкіндік береді.

Орындалу уақыты жеке орындалатын түрінде болады («емес»). Қолданбаларды Deno-ны іске қосу үшін платформаңыз үшін орындалатын файлды жүктеп алу жеткілікті, өлшемі шамамен 20 Мбайт, сыртқы тәуелділіктерсіз және жүйеге арнайы орнатуды қажет етпейді. Сонымен қатар, дено - бұл монолитті қосымша емес, жеке пайдалануға болатын Rust (deno_core, rusty_v8) қораптарының жиынтығы.

Жұмыс уақытынан басқа, платформа Deno пакет менеджері ретінде де жұмыс істейді және модульдерге URL ішінде код бойынша қол жеткізуге мүмкіндік береді. URL арқылы сыртқы серверлерден жүктелген файлдар кэштеледі. Модуль нұсқаларына сілтеме URL ішіндегі нұсқа нөмірімен анықталады.

Ерекше көзге түскен басқа инновациялардан бұл 1.0 нұсқасы:

  • Қосымшаларда HTTP желілік сұраныстарын тиімді өңдеу, платформа өнімділігі жоғары желілік қосымшалар жасауға арналған.
  • Денода да, кәдімгі веб-шолғышта да жұмыс істей алатын әмбебап веб-қосымшаларды құру мүмкіндігі.
  • Сыртқы тәуелділіктермен байланыстыруды қажет етпейтін стандартты модульдер жиынтығының болуы. Стандартты жинақтағы модульдер де тексеріліп, үйлесімділікке тексерілген.
  • Рамка - тәуелділікті тексерудің интеграцияланған жүйесі («deno info» командасы) және кодты форматтауға арналған утилита (deno fmt)
  • Барлық қосымшалардың сценарийлерін бір JavaScript файлына біріктіруге болады.

Дерек көзі: https://deno.land


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.