Platforma JavaScript Deno w wersji 1.16

Została wydana platforma JavaScript Deno 1.16, przeznaczona do samodzielnego wykonywania (bez użycia przeglądarki) aplikacji napisanych w JavaScript i TypeScript. Projekt jest rozwijany przez autora Node.js, Ryana Dahla. Kod platformy napisany jest w języku programowania Rust i rozpowszechniany na licencji MIT. Gotowe zestawy przygotowane są dla systemu Linux, Windows i macOS.

Projekt jest podobny do platformy Node.js i podobnie jak ona wykorzystuje silnik JavaScript V8, jednak zdaniem autora Node.js naprawia szereg błędnych obliczeń architektonicznych swojego poprzednika i różni się od niego następującymi niuansami :

  • Wykorzystanie Rusta jako głównego języka, który zdaniem twórców zmniejsza ryzyko wystąpienia luk związanych z obsługą pamięci na niskim poziomie (przepełnienie bufora, użycie po zwolnieniu itp.);
  • Deno nie korzysta z menedżera pakietów npm i package.json, monitując użytkownika o zainstalowanie modułów poprzez podanie adresu URL lub ścieżki do modułu, który ma zostać zainstalowany. Projekt oferuje jednak kilka narzędzi ułatwiających pracę z modułami innych firm;
  • Aplikacje działają osobno w piaskownicach i nie mają dostępu do sieci, zmiennych środowiskowych i systemu plików, bez jawnie nadanych uprawnień;
  • Architektura obejmuje możliwość tworzenia uniwersalnych aplikacji internetowych, które mogą pracować zarówno w systemie Deno, jak i w zwykłej przeglądarce;
  • Używanie „modułów ES” i brak obsługi require();
  • Wszelkie błędy w aplikacji internetowej, które nie zostaną obsłużone przez programistę, prowadzą do ich wymuszonego zakończenia;
  • Obsługa TypeScriptu oprócz JavaScript;
  • Całkowity rozmiar gotowej do użycia platformy wynosi 84 MB (31 MB w archiwum ZIP) jako pojedynczy plik wykonywalny;
  • Zawiera system rozwiązywania zależności i formatowania kodu;
  • Skoncentruj się na aplikacjach o wysokiej wydajności.

Dino przetwarza żądania w sposób nieblokujący, wykorzystując platformę Tokio, zaprojektowaną do budowania wysokowydajnych aplikacji w oparciu o architekturę sterowaną zdarzeniami. Interesujące jest również to, że wbudowany w Deno serwer HTTP jest zaimplementowany w TypeScript na natywnych gniazdach TCP, co pozytywnie wpływa na wydajność operacji sieciowych.

W nowej wersji zauważono:

  • Optymalizacja wydajności (4 poprawki);
  • W szczególności korekta ponad 15 błędów, teraz klient TLS obsługuje HTTP / 2, podsystem kodowania obsługuje dodatkowe znaki kodowania itp.;
  • Ponad dwa tuziny innowacji, w tym stabilizacja testowanych wcześniej podsystemów Deno.startTls i Deno.TestDefinition.permissions, aktualizacja silnika V8 JS do wersji 9.7 oraz obsługa transformacji React 17 JSX.

Źródło: opennet.ru

Dodaj komentarz