Deno - это горячая новая среда выполнения, которая может заменить Node.js. Все говорят об этом, как о следующем большом событии. Вероятно, это так. Вот почему.
Что такое Дено?
Из руководства:
Deno - это среда выполнения JavaScript / TypeScript с безопасными параметрами по умолчанию и удобством для разработчиков.
Он построен на V8, Rust и Tokio.
Deno призван заменить наш любимый Node.js, и им руководит Райан Дал, который начал проект Node.js еще в 2009 году. Дизайн основан на 10 вещах, о которых он сожалеет по поводу Node.js.
Итак, Deno стремится взяться за Node.js, что было бы настоящей удачей, если бы Райан не руководил им. Итак, вот пара причин, по которым стоит обратить внимание на Deno:
- Его создал человек, запустивший Node.js.
- Он напрямую устраняет недостатки Node.js
Так что хорошее начало. Но давайте посмотрим на некоторые технологии, лежащие в основе этого, и посмотрим, имеет ли это значение.
Что дает Deno
Итак, в руководстве упоминаются V8, Rust и Tokio. Бесполезно, если вы не знаете, что это такое.
V8 - это высокопроизводительный движок Google JavaScript (а теперь и WebAssembly). Сейчас его используют Node.js и Chrome. Он работает автономно и очень быстро. Последние несколько лет разработка этого двигателя была очень успешной. Примечание. V8 компилирует JavaScript в машинный код для сверхбыстрой производительности. Вот еще полезная информация о V8.
Rust - это быстро развивающийся язык системного программирования. У него нет среды выполнения или сборщика мусора. Его основное внимание уделяется производительности и безопасности памяти. Вот еще кое-что интересное в Rust.
Tokio - это асинхронная среда выполнения для Rust. Это платформа, управляемая событиями, для создания быстрых, надежных и легких сетевых приложений. Кроме того, он очень быстр и хорошо справляется с параллелизмом.
Так вы чувствуете здесь закономерность? Deno состоит из быстрых, легких и безопасных технологий. У нас отличное начало.
Так почему что-то новое?
Что ж, JavaScript немного изменился с 2009 года. Разработка, производительность и функции резко изменились за это время, и Node.js старается не отставать. Возможно, лучше начать с нуля.
По словам Даля, вот некоторые проблемы с дизайном, которые он обнаружил с Node.js.
- Модульная система и ее распространение
- Устаревшие API, которые необходимо поддерживать
- Проблемы с безопасностью
Deno стремится решить все эти проблемы.
Если вы какое-то время работали с Node.js, то знаете о NPM и его особенностях. Лично я считаю, что это не так уж и плохо. Это, безусловно, можно улучшить. Он использует модель центрального репозитория (npmjs.com), у которой есть свои проблемы.
Модули Deno можно разместить где угодно. Кроме того, они кешируются локально. Вам не нужно обновлять их, если вы этого не хотите. Довольно мило.
Безопасность в Deno интегрирована. У него нет доступа к файловым или сетевым ресурсам, если он явно не включен. Он умирает из-за неперехваченных ошибок.
Встроенный TypeScript - это исключительно для разработчиков. Вы можете в полной мере использовать TypeScript для разработки и использовать все эти причудливые явные типы и другие полезные свойства языка.
Самая большая выгода?
Deno обещает производительность и безопасность. Это большое преимущество, но самое многообещающее - это опыт разработчика. Он призван облегчить вашу жизнь. Вот как:
Ты можешь использовать:
- ES6
- Машинопись
- Удаленные репозитории
Круто, это здорово. Но вы также можете:
- Тестируйте с помощью Deno. Никаких попыток найти случайные инструменты или спорить о том, что лучше, в ядро встроено средство запуска тестов.
- Отформатируйте код. Для форматирования файлов можно использовать «обозначает fmt». Это одна из тех вещей, которые мне нравятся в Go. У работы в самоуверенной среде есть свои недостатки. Это также может сэкономить много времени разработчикам.
- Отладка - Deno имеет встроенную отладку, поэтому вам не нужно искать в Интернете лучший отладчик.
- Компиляция и сборка. Мне сказали, что это еще не все, но у него довольно приличный сборщик, и вы можете ожидать дополнительных улучшений в будущем.
Все это улучшения, ориентированные на разработчиков. Хотя люди, вероятно, будут в восторге от скорости и безопасности, приятно осознавать, что создание приложений с помощью Deno не станет большой головной болью для разработчиков.
Да, и у него есть единственный исполняемый файл для запуска. Это многообещающе. Любой, кто боролся с зависимостями и ломал голову, знает, что такое надежный исполняемый файл для запуска. Вы обновляете его, когда хотите, и вам не нужно бояться того, что происходит с зависимостями в данный момент.
Последнее слово
Дено собирается встряхнуть ситуацию. Это принесет:
- Представление
- Безопасность
- Меньше боли разработчика
Здесь большой потенциал. Deno также обещает:
- Соблюдение веб-стандартов
- Защита от устаревших API
- TypeScript включен
- Встроенный инструментарий
У Deno светлое будущее, и я с нетерпением жду возможности покопаться в нем и построить что-нибудь на его основе. Выглядит очень многообещающе.
Вы что-нибудь построили с Deno? Что вы думаете? Дайте мне знать!
Если вы хотите создать свою игру на JavaScript, ознакомьтесь с этими замечательными курсами.