Deno obsługuje już moduły NPM

deno npm

Platforma jest rozwijana przez Ryana Dahla, twórcę Node.js.

Ostatnio pojawiła się wiadomość o wydaniu nowej wersji frameworka Deno 1.28, który umożliwia uruchamianie samodzielnych aplikacji JavaScript i TypeScript, których można użyć do tworzenia kontrolerów działających na serwerze.

Deno zostało stworzone, aby zapewnić użytkownikom bezpieczniejsze środowisko i wyeliminować nieporozumienia w architekturze Node.js. Aby poprawić bezpieczeństwo, powiązania wokół silnika V8 są napisane w języku Rust, co zapobiega wielu lukom wynikającym z niskiego poziomu obsługi pamięci.

Do przetwarzania żądań w trybie nieblokującym używany jest framework Tokio, również napisany w języku Rust. Tokio pozwala tworzyć wysokowydajne aplikacje oparte na architekturze sterowanej zdarzeniami, obsługujące wielowątkowość i asynchroniczne przetwarzanie żądań sieciowych.

Niektóre funkcje Główne z nich Deno są następujące:

  • Wbudowana obsługa języka TypeScript oprócz JavaScript. Do sprawdzania typów i generowania JavaScript używany jest zwykły kompilator TypeScript, co prowadzi do spadku wydajności w porównaniu do parsowania JavaScript w V8.
  • Środowisko wykonawcze ma postać pojedynczego, samodzielnego pliku wykonywalnego („deno”). Aby uruchomić aplikacje za pomocą Deno, wystarczy pobrać plik wykonywalny dla swojej platformy o wielkości około 30 MB, który nie ma zewnętrznych zależności i nie wymaga żadnej specjalnej instalacji w systemie.
  • Wydajna aplikacja do przetwarzania żądań sieciowych przez HTTP, platforma przeznaczona do budowy aplikacji sieciowych o wysokiej wydajności
  • Możliwość tworzenia uniwersalnych aplikacji webowych, które mogą działać zarówno w Deno, jak i w zwykłej przeglądarce internetowej
  • Obecność standardowego zestawu modułów, których użycie nie wymaga powiązania z zewnętrznymi zależnościami.
  • Moduły ze standardowej kolekcji zostały dodatkowo skontrolowane i przetestowane pod kątem kompatybilności
  • Pakiet zawiera wbudowany system kontroli zależności (polecenie "deno info") oraz narzędzie do formatowania kodu (deno fmt).
  • Wszystkie skrypty aplikacji można połączyć w jeden plik JavaScript.

Główne nowości Deno 1.28

Kluczową zmianą w nowej wersji jest tzw stabilizacja kompatybilności z pakietami hostowanymi w repozytorium NPM, co pozwala Deno używać ponad 1,3 miliona modułów zbudowany dla platformy Node.js. Na przykład aplikacje oparte na Deno mogą teraz korzystać z modułów stałego dostępu do danych, takich jak Prisma, Mongoose i MySQL, a także z frameworków front-end, takich jak React i Vue.

Niektóre moduły NPM są nadal niekompatybilne z Deno, na przykład z powodu powiązań z określonymi środowiskami Node.js, takimi jak plik package.json. Nie jest również możliwe użycie polecenia „deno kompilacja” z modułami NPM. Planowane są przyszłe wersje w celu rozwiązania tych niezgodności i ograniczeń.

System modułowy Starszy model modułów ECMAScript i Web API Deno pozostaje taki sam, a znany schemat ładowania Deno oparty na adresach URL jest używany do importowania modułów NPM.

Korzystanie z pakietów NPM w Deno jest znacznie łatwiejsze niż w Node.js, ponieważ nie ma potrzeby preinstalowania modułów (moduły są instalowane przy pierwszym uruchomieniu aplikacji), nie jest używany plik package.json i nie jest używany katalog node_modules, jest używany domyślnie (moduły są buforowane we współdzielonym katalogu, ale możliwe jest przywrócenie poprzedniego zachowania za pomocą opcji „--node-modules-dir”).

aplikacje oparte na NPM zachowują możliwość korzystania z mechanizmów kontroli dostępu, Izolacja i aktywacja Deno dla zaawansowanych funkcji wpływających na bezpieczeństwo. Aby przeciwdziałać atakom poprzez wątpliwe zależności, Deno domyślnie blokuje wszelkie próby dostępu do systemu z zależności i wyświetla ostrzeżenie o wykrytych problemach. Na przykład, gdy moduł spróbuje zapisać do /usr/bin/, zostanie wyświetlony monit o potwierdzenie tej operacji:

Ulepszenia niezwiązane z NPM w nowej wersji obejmują aktualizację silnika V8 dla wersji 10.9, automatyczne wykrywanie plików z blokadami, stabilizacja Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() i Deno API. .uid(), dodając nowy niestabilny interfejs API Deno.Command() do wykonywania poleceń (uniwersalny zamiennik dla Deno.spawn, Deno.spawnSync i Deno.spawnChild).

Na koniec warto o tym wspomnieć Podobnie jak Node.js, Deno używa silnika JavaScript V8., który jest również używany w przeglądarkach opartych na Chromium. Jednocześnie Deno nie jest rozwidleniem Node.js, ale nowym projektem zbudowanym od podstaw. Kod projektu jest dystrybuowany na licencji MIT, a dostępne są gotowe kompilacje dla systemów Linux, Windows i macOS.

Jeżeli jesteś chcesz dowiedzieć się więcej na ten temat, możesz się skonsultować poniższy link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.