Deno 1.0, bezpieczna platforma JavaScript Node.js

Wydano deweloperów Node.js. niedawno uruchomienie pierwsza znacząca wersja Deno 1.0 , , , , , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , który pojawia się po dwóch latach rozwoju. To jest platforma do oddzielnego wykonywania aplikacji JavaScript i TypeScript, którego można użyć do tworzenia kontrolerów działających na serwerze. Nie Nie jest to gałąź Node.js, jest to raczej nowy projekt stworzony od podstaw.

Podobnie jak Node.js, Deno wykorzystuje silnik JavaScript V8, który jest również używany w przeglądarkach opartych na Chromium.  Kluczowa motywacja aby stworzyć nową platformę JavaScript była chęć usunięcia błędów koncepcyjnych popełnionych w architekturze Node.js. i zapewnić użytkownikom bezpieczniejsze środowisko.

Aby zwiększyć bezpieczeństwo, łącze wokół silnika V8 jest napisane w języku Rust, Pozwala to uniknąć wielu luk w zabezpieczeniach, które powstają w wyniku niskopoziomowej pracy z pamięcią, takich jak dostęp do obszaru pamięci po jego zwolnieniu, odwoływanie się do wskaźników zerowych i przekroczenie limitów bufora.

Kod projektu jest rozpowszechniany na licencji MIT i ma przygotowane kompilacje dla systemów Linux, Windows i macOS.

Co nowego w Deno 1.0

Ta nowa wersja platformy, Podświetlona stabilizacja API w przestrzeni nazw Deno, które są odpowiedzialny za interakcję aplikacji z systemem operacyjnym. Interfejsy oprogramowania, które nie są jeszcze stabilne, są domyślnie ukryte i dostępne tylko po uruchomieniu w trybie niestabilnym.

W miarę tworzenia nowych wersji takie interfejsy API będą stopniowo stawać się stabilne. Interfejs API w globalnej przestrzeni nazw, który obejmuje typowe funkcje, takie jak setTimeout () i fetch (), jest możliwie najbliższy interfejsowi API typowych przeglądarek internetowych i jest opracowany zgodnie ze standardami sieciowymi dla przeglądarek. Interfejsy API Rusta, które są używane bezpośrednio w kodzie platformy, a także interfejs do tworzenia wtyczek dla środowiska wykonawczego Deno, nie są jeszcze stabilne i nadal ewoluują.

Ponadto, wyróżnia się, że pracował nad orientacją na bezpieczeństwo w domyślnych ustawieniach dostępu do plików możliwości sieciowe i dostęp do zmiennych środowiskowych są domyślnie zablokowane i wymagają jawnego włączenia. Domyślnie aplikacje działają w izolowanych środowiskach piaskownicy i nie mogą uzyskać dostępu do możliwości systemu bez wyraźnych uprawnień.

Z drugiej strony, w zapowiedzi nowej wersji wspomniano o tym natywna obsługa języka TypeScript oprócz JavaScript. Aby sprawdzić typy i wygenerować JavaScript, używany jest standardowy kompilator TypeScript, prowadząc do obniżonej wydajności w porównaniu do analizowania JavaScript w wersji 8. W przyszłości planujemy przygotować własną implementację systemu sprawdzania typów TypeScript, co pozwoli nam znacznie zwiększyć wydajność przetwarzania TypeScript.

Środowisko wykonawcze ma postać pojedynczego samodzielnego pliku wykonywalnego ("nie"). Aby uruchamiać aplikacje za pomocą Deno, wystarczy pobrać plik wykonywalny dla swojej platformy o rozmiarze około 20 MB, bez zewnętrznych zależności i który nie wymaga specjalnej instalacji w systemie. Jednocześnie deno nie jest monolityczną aplikacją, ale zbiorem pakietów pudełkowych w Rust (deno_core, rusty_v8), których można używać osobno.

Oprócz środowiska uruchomieniowego platforma Deno działa również jako menedżer pakietów i umożliwia dostęp do modułów za pomocą adresu URL w kodzie. Pliki pobierane z serwerów zewnętrznych przez adresy URL są buforowane. Link do wersji modułu jest określany przez instrukcje dotyczące numeru wersji w adresie URL.

Z innych wyróżniających się innowacji ta wersja 1.0:

  • Efektywne przetwarzanie żądań sieciowych HTTP w aplikacjach, platforma przeznaczona jest do tworzenia wysokowydajnych aplikacji sieciowych.
  • Możliwość tworzenia uniwersalnych aplikacji internetowych, które mogą działać zarówno w języku Deno, jak iw zwykłej przeglądarce internetowej.
  • Obecność standardowego zestawu modułów, których użycie nie wymaga łączenia z zewnętrznymi zależnościami. Moduły ze standardowej kolekcji również zostały poddane audytowi i przetestowane pod kątem kompatybilności.
  • Framework to zintegrowany system kontroli zależności (polecenie „deno info”) i narzędzie do formatowania kodu (deno fmt)
  • Wszystkie skrypty aplikacji można połączyć w jeden plik JavaScript.

źródło: https://deno.land


Zostaw swój komentarz

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

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  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.