The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск JavaScript-платформы Deno 1.16

10.11.2021 12:01

Состоялся релиз JavaScript-платформы Deno 1.16, предназначенной для обособленного выполнения (без использования браузера) приложений, написанных на языках 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 МБ (в zip-архиве - 31 МБ) в виде одного исполняемого файла;
  • В комплекте предлагается система разрешения зависимостей и форматирования кода;
  • Ориентировать на высокопроизводительные приложения.

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.


  1. Главная ссылка к новости (https://deno.land...)
  2. OpenNews: Автор Node.js представил защищённую JavaScript-платформу Deno 1.0
  3. OpenNews: Проект Deno развивает защищённую JavaScript-платформу, похожую на Node.js
  4. OpenNews: Релиз Tokio 1.13.0, платформы для создания асинхронных приложений на языке Rust
  5. OpenNews: Предложен компилятор исходных текстов на языке TypeScript в машинный код
  6. OpenNews: Выпуск серверной JavaScript-платформы Node.js 17.0
Автор новости: QwertyReg
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/56129-deno
Ключевые слова: deno, node.js, javascript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (52) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:34, 10/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    V8 тоже на Rust переписать, тогда будет epic win!
     
     
  • 2.44, Аноним (-), 21:53, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Ты не понял. Теперь жаркие поклонники руста смогут со спокойной душой писать на тупоскрипте, тем самым доставляя гейцобалмерам оргазмы. В одни ворота сегодня уже не модно.
     

  • 1.2, nsf (ok), 12:36, 10/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Я конечно извиняюсь, но:

    > Полный размер готовой к использованию платформы - 10 Мб в виде единого файла;
    > Deno will always be distributed as a single executable. Given a URL to a Deno program, it is runnable with nothing more than the ~25 megabyte zipped executable.

     
     
  • 2.3, QwertyReg (ok), 12:38, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Спасибо, поправил.
     
  • 2.10, Аноним (10), 13:09, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Всегда забавляли эти «хухры-мухры zipped» размеры. Исполнять они тоже будут сжатый код?
     
     
  • 3.12, Q2W (?), 13:19, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так во время исполнения память будет расходоваться не только на сам бинарь, а и на его нужды.
    Так что тут без разницы, надо смотреть на уже по факту занимаемую память.

    А размер зипованного бинаря говорит о том, сколько этот дэно он стоит при распространении приложухи.

     
     
  • 4.30, Аноним (30), 16:08, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    чочо? при запакованном в бинарнике исполняемого кода или ресурсов программы они будут лежать в памяти в полном объеме. Здесь нет никакого "выигрыша" кроме как накладных расходов.
     
     
  • 5.59, sdkhflskhgl (?), 14:52, 11/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    там мысль была другая: при работе проги размер потребляемой памяти может быть таким, что флуктуации на тему разности [не]сжатых бинарей могут быть ничтожны
     

  • 1.4, Аноним (4), 12:44, 10/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > защищённой
    > javascript

    лолшто

     
     
  • 2.7, Аноним (7), 13:01, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Нужна подробная инструкция: «Как перестать орать с новостей QwertyReg»
     
     
  • 3.24, псевдонимус (?), 15:05, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А чего там подробного надо? Опу ему зашить суровой ниткой и всего делов.
     
  • 3.58, Смузихлёб (?), 12:27, 11/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Разумнее его просто забанить по подсети.
     
  • 3.63, морошка ягодка такая (?), 08:07, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы так пытаетесь травить человека? Зачем?
     
     
  • 4.65, Аноним (-), 04:43, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вопервых, конечно же да, травля вообще должна рано или поздно обрести очертания в уголовном кодексе. Это плохо, не спорю. Но ведь же не человека, а просто виртуальный никнейм, который можно просто сменить, это же не бросить, дом/квартиру, вещи, все и вся и бежать куда глаза глядят. Давайте без вот этих вот подтосовок.
     

  • 1.6, Аноним (6), 13:00, 10/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > Ориентировать на высокопроизводительные приложения.

    lol

     
     
  • 2.25, псевдонимус (?), 15:10, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это правда.

    Правда производительными они будут на серваке, а твой ведроид/гейфон/ маквдруг будут работать печкой. Прибыль приватизируем, убытки обобществляем. Что не так-то?

     
  • 2.62, trdm (ok), 07:55, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ориентировать на высокопроизводительные приложения.

    Предназначение скриптовых языков это не высокая производительность, а удобство и быстрота разработки.
    Высокая производительность обеспечивается языками низкого уровня.

     

  • 1.8, Аноним (8), 13:02, 10/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Нужная вещь, переосмысленный Node.js с typescript, за Deno будущее.
     
     
  • 2.15, th3m3 (ok), 14:02, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Помню лет 10 назад, за но ноду тоже говорили, что за ней будущее. Что js захватит мир и прочие глупости. Тут те же яйца, только в профиль.
     
     
  • 3.16, Аноним (16), 14:09, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >за но ноду тоже говорили

    за что-то обычно хватают, а не говорят.

     
     
  • 4.18, th3m3 (ok), 14:19, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > за что-то обычно хватают, а не говорят.

    Это интернет, детка. Тут всем пофиг.

     
  • 3.19, Джульбарс (?), 14:23, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Разумеется речь о нишевом использовании, та же нода сверхпопулярна и востребована во многих тысячах проектов. И Deno её потихоньку вытеснит со временем...
     
     
  • 4.21, Джульбарс (?), 14:26, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А JS таки самый популярный и используемый язык в мире и альтернатив ему в его нише просто нет, так что в какой-то степени он мир таки захватил...
     
  • 3.20, Аноним (20), 14:25, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    К сожалению, угрозы в значительной мере осуществились.
     
  • 3.26, псевдонимус (?), 15:11, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А что, не захватил?
     
     
  • 4.33, th3m3 (ok), 16:29, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > А что, не захватил?

    Нет. Что-то я не вижу, чтобы все перешли на js.

     
     
  • 5.35, Аноним (35), 17:16, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    56% программистов пишут на JavaScript. Одно из последних исследований.
     
     
  • 6.61, Аноним (-), 04:10, 12/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    На чем же тогда пушут остальные 145% ?
     
  • 3.43, Рева RarogCmex Денис (?), 20:33, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А она и захватила :)
     
     
  • 4.55, th3m3 (ok), 07:29, 11/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А она и захватила :)

    Где? Хайп давно прошёл.

     
  • 2.31, Skynin (?), 16:20, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не вытеснит. Потому что ничего принципиально нового в нем не предлагается.
     

  • 1.11, лолшто (?), 13:18, 10/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такая ли уж большая разница: писать прототип на node.js или на deno? Чего-то прям революционного deno в себе не несет. Вот зачем нужна поддержка TS, если в рантайме ты все равно не сможешь информацию о типах использовать? Вместо коллбэков выбрали промисы по дефолту, так и нода на сегодняшний день уже имеет методы, что работают через промисы. Пакетный менеджер выкинули и все равно потребность в нем никуда не ушла. Типичный проект на js может тысячи зависимостей иметь. Как хоть выглядит целевая аудитория для которой этот deno создавался?
     
     
  • 2.14, Аноним (35), 13:58, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конкуренция - это очень хорошо.
    По сути улучшенный Node.js.
    Не настолько прям, чтобы на него полностью переходить.
    Но для микросервисов думаю пойдёт.
     
     
  • 3.32, лолшто (?), 16:23, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Десяток лет в этой фрагментированной вечно меняющейся и конкурирующей среде, и ты уже начинаешь ценить языки с богатой стандартной библиотекой и тот опыт, что не утратил актуальности за этот десяток.
     
     
  • 4.48, Аноним (48), 22:51, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Десяток лет в этой фрагментированной вечно меняющейся и конкурирующей среде, и ты уже начинаешь ценить операционки с богатым стандартным паком драйверов и тот опыт в нахождении кнопки пуск, что не утратил актуальности за этот десяток.
     
  • 2.17, bugmenot (??), 14:12, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если всякие Нетодологии начнут продавать курсы по Deno, то может и спрос поднимется.


    Есть же мнение, что Node.JS в своё время как раз продаваны курсов и пропихнули в прод.

     
     
  • 3.27, Аноним (27), 15:32, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В прод ноду пропихнули потребности людей иметь один язык для написания фронта и сервера
     
     
  • 4.29, bugmenot (??), 16:05, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну, не знаю.
     
  • 3.64, Аноним (-), 04:37, 13/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Если всякие Нетодологии начнут продавать курсы по Deno, то может и спрос поднимется.

    Пока не вкинут вакансий - не начнут. Лох уже не ведется на просто хайп, пруфца ему подавай лять..

     
  • 2.42, anonymous (??), 19:34, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    пишут на js или ts


    на node.js либо deno оно выполняется...

     

  • 1.34, Аноним (34), 17:09, 10/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор Node.js во время работы над проектом сошёл с ума и решил написать T̶e̶m̶p̶l̶e̶O̶S̶ Deno, но вместо добавления фич решил их выкидывать и выкинул npm, из-за чего Deno в промышленной эксплуатации стал неюзабелен и поэтому не нужен. Не удивительно, что для реализации затеи был выбран Rust.
     
     
  • 2.36, Аноним (35), 17:19, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Был выбран Go, и прототип на нём написан.

    Но его очень попросили написать на Rust. Т.к. писать runtime для языка со сборником мусора на языке со сборщиком мусора....это оооочень тупая идея.

    Он послушался. Это одно из его самых лучших решений.

     
     
  • 3.38, Аноним (38), 17:33, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Там рантайм - плюсовый V8.
     
     
  • 4.40, Likern (?), 18:31, 10/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    JavaScript движок там V8. А runtime там написан на Rust.
     
  • 3.56, Аноним (56), 07:43, 11/11/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Был выбран Go, и прототип на нём написан.

    Но его очень попросили написать на Rust. Т.к. писать runtime для языка со сборником мусора на языке со сборщиком мусора....это оооочень тупая идея.

    Так на Go вроде бы можно отключить сборку мусора, нет?

     
  • 2.60, Аноним (60), 18:09, 11/11/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Автор Node.js во время работы над проектом сошёл с ума и решил написать T̶e̶m̶p̶l̶e̶O̶S̶ Deno, но вместо добавления фич решил их выкидывать и выкинул npm, из-за чего Deno в промышленной эксплуатации стал неюзабелен и поэтому не нужен. Не удивительно, что для реализации затеи был выбран Rust.

    Очевидно что не зря Анонимы на велосипедные пакетные менеджеры (годные только для песочниц) бочку гонят.

    Очевидно, что Автор как раз на целился на промышленную эксплуатацию, а не на песчоницы. Там где это должно использоваться свои пакетные менеджеы есть, с пакетами не от Васяна.

     

  • 1.51, Рмшъ (?), 01:19, 11/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Ориентировать на высокопроизводительные приложения

    Это выдернуто из todo? Или это нам задача прилетела? Дедлайн когда?

     
  • 1.54, kissmyass (?), 02:14, 11/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не нужен не node не deno, будут ботексом обкалывать и какое-то время еще продержаться оба
     
  • 1.57, Sultan (?), 10:34, 11/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Ориентировать на высокопроизводительные приложения."
    Весь этот хлам скорее ориентирован на высокопроизводительные железо и даст огромный углеродный след.
     
  • 1.66, Аноним (66), 07:02, 13/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понял, а TypeScript там реализован самим Deno или используется транспиляция на JavaScript во время выполнения? Просто подозреваю, что существенных преимуществ кроме обертки нет.
     
  • 1.67, Аноним (67), 17:45, 13/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Deno не использует пакетный менеджер npm и package.json, предлагая пользователю установку модулей путём указания URL или пути к модулю для установки.
    > Приложения запускаются обособленно в песочницах и не имеют доступа к сети, переменным окружения и файловой системе, без явно выданных полномочий;
    > создания универсальных веб-приложений, которые способны работать как в системе Deno, так и в обычном браузере;

    а еще https://deno.com/deploy/

    так что очень хорошая альтеративна ноде

     
  • 1.68, Аноноша (?), 03:17, 16/11/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Deno не использует пакетный менеджер npm и package.json, предлагая пользователю установку модулей путём указания URL или пути к модулю для установки. Тем не менее, проектом предлагается несколько утилит для упрощения работы со сторонними модулями;

    В чем смысл этого преимущества?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру