Deno 1.0 – następca Node.js, gotowy do produkcji
W maju 2020 roku Deno osiągnęło ostatecznie wersję 1.0, a teraz ogłoszono, że jest gotowy do produkcji. Deno 1.0 jest bezpiecznym środowiskiem wykonawczym dla JavaScript oraz TypeScript. Korzysta z silnika V8 i jest wbudowane w Rust. Jest to program podobny do Node,js, co nie jest dziwne, ponieważ jego twórcą jest pierwotny programista Node.js – Ryana Dahla.
Czym jest Deno 1.0?
Deno jest pojedynczą aplikacją binarną, używa Rust, w przeciwieństwie do modułowych plików binarnych Node.js i C/C++. Zamiast korzystać ze złożonych rozwiązań zarządzania zależnościami, programiści deklarują je w kodzie źródłowym, używając bezpośrednich adresów URL. Zasadniczo Deno nie jest kompatybilny z NPM napisanymi na Node.js, jednak przenoszenie ich powinno być dość łatwe, ponieważ opierają się na podobnej rodzinie języków i struktur.
Nowości
Przy uruchamianiu aplikacji kompilowany jest tylko plik TypeScript. Nie potrzebny jest żaden transpilator do tego, a to wszystko dzięki temu, że Deno 1.0 obsługuje TypeScript z pudełka.
Aplikacje Deno, oprócz TypeScript czy JavaScript, mogą ładować i uruchamiać programy kodu bajtowego WebAssembly. Przykładowo moduł Sqlite jest kompilowany do niego z C++.
W swoim API i bibliotekach Deno używa także ostatnich funkcji ECMAScript. Ze względu na natywną obsługę modułów ES nie trzeba korzystać z innych narzędzi do budowania aplikacji, by była ona przygotowana do użycia w przeglądarce. Dzięki temu zarządzanie zależnościami jest proste i elastyczne. Dla przykładu – żądanie funkcji ( require()) Deno nie obsługuje, w tym celu wykorzystuje się instrukcję importu ( import defaultExport from “module-name”).
Środowisko Deno 1.0 w domyśle jest bezpieczne, programista sam musi wyraźnie zadeklarować dostęp do systemu plików lub sieci.
Podsumowanie
Mimo tego, że Deno jest dopiero wersją 1.0, obsługują go znani branżowcy – AWS Lambda, Azure Functions czy Google Cloud Run. Wiele osób uważa także, że mimo podobieństw do Node.js, oba programy będą się rozwijać i powstanie Deno nie jest początkiem końca Node.js.
W kolejnych wersjach Deno planuje się ulepszyć interfejs CLI, publiczne API, a także system wtyczek Rust.
Źródła:
- https://www.infoq.com/news/2020/06/deno-1-ready-production/
- https://dev.to/jaquiel/deno-is-out-is-node-dead-68k