Разработчик Node.js запустил новую JavaScript-платформу Deno 1.0

25.05.2020     

Создатель платформы для JavaScript-разработки Node.js Райан Даль выпустил первый официальный релиз нового проекта – Deno 1.0. Это защищенная платформа, которая позволит создавать и обособленно выполнять приложения на JavaScript и TypeScript.

Безопасная и открытая платформа

Разработка Deno стартовала около двух лет назад. Как и Node.js, а также браузеры на базе Chromium, новая платформа использует JavaScript-движок V8.

Но Deno – не очередной этап развития Node.js. Это абсолютно самостоятельная платформа, которая лучше защищена и работает стабильнее.

В целом Deno создан для производительных web-приложений. Они могут выполняться на самой платформе или в любом современном браузере. 

По словам Даля, в Deno он стремился избавиться от основных ошибок в архитектуре, сделанных в Node.js, и повысить безопасность окружения. Для создания обвязки движка V8 он использовал язык Rust. Его инструменты позволяют избежать проблем, связанных с неправильной низкоуровневой работой с памятью. К примеру, Rust не даст обратиться по адресу к уже освобожденной памяти, выйти за границы буфера или разыменовать нулевой указатель. 

В неблокирующем режиме запросы Deno обрабатывает платформа Tokio. Она также написана на Rust и использует модель событийно-ориентированной архитектуры (Event-driven). Tokio эффективно работает в асинхронном режиме и поддерживает многопоточность. 

Deno распространяется под лицензией MIT. Сборки Deno 1.0 можно загрузить для Linux, Windows и macOS.

Часть программных интерфейсов пока скрыта. Доступ к ним можно получить, только если запустить Deno с ключом --unstable. 

Чем Deno отличается от Node.js

Deno не привязан к конкретным репозиториям и не использует пакетный менеджер npm. Прослойка, которая обеспечит совместимость новой платформы с Node.js, активно развивается. Она позволит запускать в Deno приложения для Node.js. 

Модули платформы могут размещаться на любом сайте, поддерживается их адресация через файловые пути и URL. Используется система модулей ECMAScript, функция require() не поддерживается. 

Структур «package.json» для определения модулей здесь тоже нет. Для всех файлов, переменных окружения и сетей в Deno нужно указывать полномочия явно.

Асинхронные действия в Deno API возвращают promise. Если в работе приложения возникла ошибка, которой не поставлен в соответствие обработчик, то оно завершит работу. 

Deno поддерживает TypeScript, тогда как Node.js может работать только с JavaScript. Штатный компилятор TypeScript используется для проверки типов и генерации JavaScript. Даль планирует создать собственную систему проверки типов, чтобы повысить производительность решения.

Преимущества Deno 

Чтобы запустить Deno в рантайме, достаточно одного исполняемого файла размером около 20 Мб. Он не имеет внешних зависимостей, хотя и является коллекцией отдельных crate-пакетов на Rust (deno_core, rusty_v8). 

В Deno конфигурации по умолчанию ориентированы на достижение максимальной безопасности. Приложения запускаются в изолированных песочницах и не имеют доступа к системе, пока вы явно его не предоставите. 

Код с внешних ресурсов для Deno можно запускать через URL. Он кешируется на локальной машине и по умолчанию автоматически не обновляется. Все скрипты Deno-приложения можно объединить в единственный JavaScript-файл.

Deno включает HTTP-сервер на TypeScript. Он работает поверх нативных TCP-сокетов, чтобы предоставить разработчикам более простой и универсальный интерфейс. Минус решения – снижение пропускной способности, плюс – гарантированно предсказуемые задержки. За секунду он обрабатывает 25 тыс. запросов, максимальная задержка в тестах – 1,3 мс.

Напомним, в Node.js встроенный сервер написан на С, и он предполагает привязку для JavaScript. При этом в тестах сервер Node.js обработал за секунду 34 тыс. запросов, но время задержек колебалось от 2 до 300 мс. 


Автор:
Ксения Шестакова Обозреватель


Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1185 04.06.20 13:47 Сейчас в теме
Какая интересная новость.
Оставьте свое сообщение

См. также

Ученые выяснили, как работает мозг программистов при работе с кодом

Новость Наука

Исследовательская группа Хемницкого технологического университета в Германии впервые проанализировала, как работает мозг человека при работе над программным кодом.  

03.07.2020    490    SKravchenko    18       

Apple разрешила разработчикам оспаривать нарушение правил App Store 

Новость Мобильные приложения Новости компаний

Apple пересмотрит процесс взаимодействия с разработчиками, нарушившими правила App Store. Авторы приложений смогут обжаловать решение компании и загружать обновления в магазин, пока идет спор. 

30.06.2020    373    VKuser24342747    0       

Ползет вперёд: Python обогнал Java в рейтинге языков программирования

Новость Языки программирования

JetBrains, крупный разработчик сред для создания кода, представил ежегодный отчет о популярных языках программирования. В рейтинге Developer Ecosystem Survey 2020 язык Python впервые обогнал Java. 

26.06.2020    725    user1015646    3       

Швейцарские ученые создали первый интуитивно понятный язык для квантовых компьютеров

Новость Инновации Языки программирования

Ученые из Высшей технической школы Цюриха (ETH Zurich) разработали язык программирования, который можно использовать для квантовых компьютеров так же легко, надежно и безошибочно, как классические. 

26.06.2020    763    SKravchenko    0       

ABBYY опубликовала исходный код своей библиотеки машинного обучения

Новость Infostart Software Partners Маркет Новости компаний

Компания ABBYY выложила на GitHub исходники своей нейросети, используемой для распознания текста. Программный код открыт под свободной лицензией Apache 2.0.

23.06.2020    1342    VKuser24342747    2       

Лучше поздно… Роскомнадзор прекращает блокировку Telegram

Новость Мессенджеры Роскомнадзор

Новость об отмене блокировки мессенджера появилась на официальном сайте ведомства.

22.06.2020    1385    Senator_I    18       

SpaceX использовал Linux и C, для вывода астронавтов на орбиту

Новость

Ракета Илона Маска Falcon 9, с помощью которой корабль Crew Dragon доставил астронавтов НАСА на Международную космическую станцию, работает на жидком кислороде, ракетном керосине, Linux и C/C++.

19.06.2020    966    SKravchenko    3       

Google избавляется от «расизма» в коде Chrome

Новость Новости компаний

Команда Google Chrome исключает из кода термины «черный список» и «белый список», чтобы сделать их более инклюзивными.

18.06.2020    844    SKravchenko    15       

Представлено ядро Linux 5.7: что нового

Новость Linux

В релиз включили обновленную реализацию файловой системы exFAT, переработанные средства аутентификации и инструменты для создания UDP-туннелей, а также сняли ограничение на длину строки кода в 80 символов.

18.06.2020    735    user1015646    0       

Разработчики получили доступ к созданию навыков для «Маруси»

Новость Новости компаний

Mail.ru Group предоставила возможность сторонним разработчикам создавать собственные голосовые команды для виртуального помощника «Маруся».

17.06.2020    826    VKuser24342747    1       

Microsoft представила бесплатные инструменты для создания ботов

Новость Новости компаний

Компания Microsoft обновила инструменты для создания ботов: Virtual Assistant Accelerator и Bot Framework Composer.

16.06.2020    950    user1015646    0       

Сайт Stack Overflow назвал «самые страшные» и «самые любимые» языки программирования

Новость Языки программирования

2020 год показал, что Rust – «самый любимый», Python – «самый востребованный», а Perl, Scala и Go – «самые высокооплачиваемые» языки программирования.

15.06.2020    961    SKravchenko    3       

Разработчики «Эльбруса» выложили в открытый доступ систему команд процессора

Новость Микроэлектроника

МЦСТ, создающая отечественные «Эльбрус», предоставила всем желающим доступ к набору микропроцессорных команд. Документация распространяется по открытой лицензии. 

08.06.2020    974    VKuser24342747    4       

Создатель Linux высказался за увеличение длины строк кода

Новость Linux

Золотым стандартом для кода ядра Linux считаются 80-символьные строки. Но Торвальдс предлагает увеличить значение до 100 символов.

05.06.2020    2059    user1015646    18       

«Ростех» внедрит в вузах России учебного промышленного робота с исходниками на GitHub

Новость GitHub Робототехника

Госкорпорация «Ростех» создала компактного робота для обучения студентов вузов и колледжей. Исходный код для управления устройством выложен на GitHub, учебные заведения могут дорабатывать его под свои нужды. 

05.06.2020    1474    VKuser24342747    1       

Microsoft призвала пользоваться PowerShell вместо CMD

Новость Infostart Software Partners Маркет Новости компаний

Microsoft порекомендовала пользоваться инструментом PowerShell вместо классического интерпретатора CMD (cmd.exe). Разработчики не будут заниматься доработкой CMD, но оставят его в системе для обеспечения совместимости. 

04.06.2020    2359    user1015646    39       

Из реестра российского ПО могут удалить ОС на ядре Linux

Новость Linux Минкомсвязь

Правила, которыми руководствуется Минкомсвязь, запрещают добавлять в реестр ПО с компонентами, которые распространяются по свободным лицензиям GPL и MPL.

02.06.2020    1220    user1015646    10       

Опубликован релиз платформы Electron 9.0.0 для создания приложений на базе движка Chromium

Новость Linux

Создатели обновления повысили эффективность обработчика событий окна в Linux, улучшили просмотрщик PDF и многое другое.

01.06.2020    1182    SKravchenko    0       

Microsoft планирует объединить UWP и Win32-приложения при помощи проекта Reunion

Новость Новости компаний

Reunion призван объединить платформу разработчиков Windows, которая в настоящее время разбита между Win32 и универсальной платформой Windows (UWP).

29.05.2020    1144    SKravchenko    0       

«Яндекс» запустил бесплатную облачную платформу для разработки нейросетей

Новость Искусственный интеллект Облачные технологии

«Яндекс» запустил новый сервис DataSphere, позволяющий проводить в облаке ресурсоемкие вычисления для машинного обучения. Во время тестирования услуга полностью бесплатна для разработчиков. 

29.05.2020    1515    VKuser24342747    1       

В Беларуси заработал сервис видеоконференций на основе российской облачной платформы

Новость Облачные технологии Стартапы

Сервис видеоконференцсвязи на базе российской облачной платформы IVA MCU запустили в Беларуси. Услуги предоставляет республиканский провайдер облачных услуг beCloud. 

28.05.2020    952    user1015646    0       

Microsoft открыла исходники для 37-летнего языка GW-BASIC

Новость Новости компаний Языки программирования

Microsoft представила исходный код интерпретатора языка программирования GW-BASIC. 37 лет назад он был одним из самых популярных языков для написания программ и игр. 

28.05.2020    1441    VKuser24342747    2       

Создатель Linux отказался от Intel в пользу AMD

Новость Linux Микроэлектроника

Линус Торвальдс стал использовать для работы компьютер на базе процессора AMD. Предыдущие 15 лет он отдавал предпочтение ПК на компонентах Intel. 

27.05.2020    1458    user1015646    9       

Microsoft Build 2020: переход в онлайн и главные анонсы

Новость Infostart Software Partners Маркет Новости компаний

Компания Microsoft на конференции Build 2020 представила не только технологии будущего, но и полезные практические решения, которыми будут пользоваться миллионы людей по всему миру.

26.05.2020    2351    user1015646    1       

Microsoft создаст единую платформу для разработки под Windows

Новость Infostart Software Partners Маркет Новости компаний

Компания представила единую платформу для разработки под Windows, функционал для ответственного использования машинного обучения и другие инструменты для разработчиков. 

25.05.2020    2080    VKuser24342747    3