Deno 1.8 ze wsparciem interfejsu API WebGPU
Marzec rozpoczął się wydaniem nowej wersji Deno 1.8. Jedną z najważniejszych nowości jest wsparcie dla interfejsu API WebGPU. Wprowadzono również kilka ulepszeń w narzędziach pokrycia oraz obsługę pobierania prywatnych modułów.
Deno jest zbudowany w Rust i korzysta z silnika V8. Nie ma on dostępu do plików, sieci i środowiska, przez co zapewnia większe bezpieczeństwo użytkownika. Platforma powstała w celu zapewnienia bezpieczniejszej alternatywy dla Node.js
Interfejs API WebGPU w Deno 1.8
Jest to najważniejsza zmiana w tym wydaniu. Wprowadzenie eksperymentalnego wsparcia dla interfejsu API WebGPU jest początkiem drogi do uczenia maszynowego przyspieszanego przez GPU. Programiści dzięki obsłudze interfejsu w Deno otrzymują dostęp do renderowania GPU oraz jego obliczeń ogólnego przeznaczenia z poziomu Deno.
Głównym zadaniem interfejsu jest zapewnienie niskopoziomowego i wydajnego sposobu programowania sprzętu GPU z poziomu JS. Jest następcą WebGL w sieci. Korzystanie z GPU daje programistom możliwość rozległego tworzenia niektórych algorytmów numerycznych. Teraz większość sieci neuronowych definiuje się w Pythonie, a na GPU są przenoszone obliczenia. JS mógłby świetnie wyrażać matematyczne pomysły, gdyby istniała odpowiednia infrastruktura. Celem twórców jest uruchomienie Tensorflow.js na Deno z akceleracją GPU.
Końcowy pull request zawierał aż 15.5 tys. wierszy kodu i praca nad jego scaleniem po otwarciu zajęła 5 miesięcy.
Interfejsy API internacjonalizacji
Kolejną ważną zmianą jest włączenie wbudowanych interfejsów API internacjonalizacji. ICU (International Components for Unicode) jest używany do implementacji wielu operacji niskiego poziomu. Interfejs API internacjonalizacji zapewnia kluczowe elementy funkcji (zależnych od języka), wymaganych przez aplikacje – formatowanie liczb, daty, konwersja wielkości liter czy porównywanie ciągów.
Pozostałe zmiany w Deno 1.8
Zmiany dotyczą także map importu, które w nowym wydaniu zostały ustabilizowane. Dzięki aktualizacji mapy pasują do najnowszej wersji specyfikacji. Służą one do kontrolowania zachowania importu JS i ponownego mapowania importu bez modyfikowania kodu źródłowego. Ponadto mapy importu obejmują zarówno lokalne ścieżki, jak i adresy URL, umożliwiając ładowanie map importu ze zdalnych serwerów.
Ustabilizowane zostało także wsparcie dla pobierania prywatnych modułów. Dzięki temu programiści pobiorą zdalne moduły z prywatnego serwera przy użyciu tokenów uwierzytelniania.
Ostatnią wprowadzoną rzeczą jest modernizacja narzędzi pokrycia. Teraz obsługa pokrycia jest podzielona na zbieranie pokrycia i raportowanie pokrycia, a nie wywoływana pojedynczym poleceniem, jak wcześniej.
Ta wersja Deno jest również dostarczana z najnowszym wydaniem TypeScript 4.2.1.
Podsumowanie
Szczegółowa instrukcja instalacji dla Deno 1.8 jest dostępna na oficjalnej stronie. Aby zaktualizować wersję wystarczy uruchomić deno upgrade. Pełna lista zmian i opis nowych funkcji znajduje się w notce o wydaniu.