Пројекат Дено развија безбедну ЈаваСцрипт платформу сличну Ноде.јс

Доступан издање пројекта Дено 0.33, који нуди платформу сличну Ноде.јс за самосталну извршавање апликације у ЈаваСцрипт-у и ТипеСцрипт-у која се може користити за покретање апликација без везивања за прегледач, као што је креирање руковалаца који се покрећу на серверу. Дено користи ЈаваСцрипт мотор V8, који се такође користи у Ноде.јс и претраживачима заснованим на Цхромиум пројекту. Шифра пројекта дистрибуира под МИТ лиценцом. Пројекат развија Рајан Дал (Риан Дахл), креатор Ноде.јс ЈаваСцрипт платформе.

Један од главних циљева креирања новог времена извршавања за ЈаваСцрипт је да се обезбеди безбедније окружење. Да би се побољшала безбедност, В8 мотор је написан у Руст-у, који избегава многе рањивости које произилазе из манипулације меморијом на ниском нивоу, као што су приступ након слободне употребе, дереференцирање нулте показивача и прекорачење бафера. Платформа се користи за обраду захтева у неблокирајућем режиму токио, такође написан Руст. Токио вам омогућава да креирате апликације високих перформанси засноване на архитектури вођеној догађајима, подржавајући више-нитну обраду и обраду мрежних захтева у асинхроном режиму.

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

  • Подразумевана конфигурација оријентисана на безбедност. Приступ датотекама, умрежавање и приступ варијаблама окружења су подразумевано онемогућени и морају бити експлицитно омогућени;
  • Уграђена подршка за језик ТипеСцрипт поред ЈаваСцрипт-а;
  • Рунтиме долази у облику једне самосталне извршне датотеке („дено“). Довољно је покренути апликације користећи Дено довнлоад за своју платформу једна извршна датотека, величине око 10 МБ, која нема спољне зависности и не захтева никакву посебну инсталацију на систему;
  • Приликом покретања програма, као и за учитавање модула, можете користити УРЛ адресирање. На пример, да бисте покренули програм велцоме.јс, можете користити команду „дено хттпс://дено.ланд/стд/екамплес/велцоме.јс“. Код са спољних ресурса се преузима и кешује на локалном систему, али се никада не ажурира аутоматски (ажурирање захтева експлицитно покретање апликације са заставицом „--релоад“);
  • Ефикасна обрада мрежних захтева преко ХТТП-а у апликацијама, платформа је дизајнирана за креирање мрежних апликација високих перформанси;
  • Могућност креирања универзалних веб апликација које се могу извршавати и у Дено-у иу обичном веб претраживачу;
  • Поред времена извршавања, Дено платформа такође делује као менаџер пакета и омогућава вам да приступите модулима преко УРЛ-а унутар кода. На пример, да бисте учитали модул, можете навести у коду „импорт * ас лог фром „хттпс://дено.ланд/стд/лог/мод.тс“. Датотеке преузете са спољних сервера преко УРЛ-а се кеширају. Везивање за верзије модула се одређује навођењем бројева верзија унутар УРЛ-а, на пример, „хттпс://унпкг.цом/[емаил заштићен]/дист/лилтест.јс";
  • Структура укључује интегрисани систем инспекције зависности (команда „дено инфо”) и услужни програм за форматирање кода (дено фмт).
  • За програмере апликација предложио скуп стандардних модула који су прошли додатну ревизију и тестирање компатибилности;
  • Све скрипте апликације могу се комбиновати у једну ЈаваСцрипт датотеку.

Разлике од Ноде.јс:

  • Дено не користи нпм менаџер пакета
    и није везан за спремишта, модули се адресирају преко УРЛ-а или путем путање датотеке, а сами модули се могу поставити на било коју веб локацију;

  • Дено не користи "пацкаге.јсон" за дефинисање модула;
  • АПИ разлика, све асинхроне акције у Дено-у враћају обећање;
  • Дено захтева експлицитну дефиницију свих потребних дозвола за датотеке, мреже и променљиве окружења;
  • Све грешке које нису обезбеђене руковаоцима доводе до гашења апликације;
  • Дено користи систем модула ЕЦМАСцрипт и не подржава рекуире().

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

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