Nowe funkcje dla programistów udostępniane przez WebAssembly

Prezentacja narzędzi dostępnych teraz w internecie dzięki technologii WebAssembly.

Thomas Nattestad
Thomas Nattestad

WebAssembly umożliwia programistom wprowadzanie w internecie nowych, wydajnych funkcji z innych języków. W ciągu ostatnich kilku lat deweloperzy naprawdę korzystali z możliwości, jakie dają. W tym poście przedstawiamy kilka nowych, rewelacyjnych narzędzi, z których możesz korzystać m.in. dzięki WebAssembly.

Przejdźmy teraz do rzeczy, które dobrze czekają :D

SQLite

Ten kompletny port SQLite daje Ci dostęp do lekkiego, wbudowanego systemu zarządzania relacyjną bazą danych. Aby dowiedzieć się więcej, przeczytaj ten post na blogu, który przedstawia ten niezwykły port i sposób korzystania z niego.

FFmpeg.wasm

FFmpeg to bezpłatny projekt typu open source oprogramowania, który obejmuje zestaw bibliotek i programów do obsługi plików wideo, audio oraz innych plików multimedialnych i strumieni. Tutaj znajdziesz skompilowaną wersję Wasm (repozytorium GitHub), dzięki której wszystkie te funkcje są dostępne bezpośrednio w przeglądarce.

Uniwersalny opis sceny (USD)

Uniwersalny opis sceny (Universal SceneDescription, USD) to schemat danych 3D dotyczących grafiki komputerowej, który skupia się na współpracy, niedestruktywnej edycji i umożliwia wymianę różnych poglądów i opinii na temat danych graficznych. Jest to standard branżowy obsługiwany przez m.in. Pixar, Autodesk i Nvidia. Zespół pomocy technicznej jest dopiero obecny w internecie, ale Autodesk udostępnił już na licencji open source przeglądarkę USD w internecie, którą możesz zobaczyć tutaj.

CanvasKit

CanvasKit to Skia – silnik renderowania Chrome i Androida, skompilowany bezpośrednio z WebAssembly. Dzięki niemu masz prosty dostęp do interfejsu JavaScript API do niemal wszystkich możliwości silnika renderowania Skia. Funkcje te obejmują złożone renderowanie, kształtowanie tekstu, animacje, odcienie tekstu i inne elementy. Przeczytaj pakiet npm i krótki przewodnik.

TensorFlow.js

TensorFlow.js pozwala wykorzystać możliwości TensorFlow bezpośrednio w przeglądarce dzięki prostemu interfejsowi API w języku JavaScript. W tle optymalizuje modele zarówno pod kątem GPU i CPU (w tym optymalizacji karty SIM), aby zmaksymalizować wydajność. Zapoznaj się z przewodnikiem dla początkujących lub obejrzyj bezpośrednio niektóre jego prezentacje.

OpenCV

OpenCV to branżowy standard funkcji programowania funkcji służących głównie do rozpoznawania obrazu w czasie rzeczywistym. Tutaj znajdziesz łatwy w użyciu pakiet npm, a użytkownicy Emscripten mają też do dyspozycji szczegółowe instrukcje dotyczące pełnej kompilacji. Aby dowiedzieć się, jak SIMD i wątki zwiększają wydajność tych zadań, obejrzyj tę sekcję prezentacji Modern WebAssembly Chrome Dev Summit.

Wyspy Kokosowe

Cocos to zaawansowany i popularny silnik gier, który umożliwia deweloperom tworzenie gier obsługujących wiele platform. Obecnie jest to też możliwe w internecie. Stała się ona długą listą silników gier, które umożliwiają eksportowanie danych z internetu przez Wasm. Aby rozpocząć, otwórz edytor Cocos i postępuj zgodnie z tymi instrukcjami.

Podsumowanie

Oprócz tych konkretnych przykładów można się więc spodziewać, że WebAssembly może zmienić tempo nowych funkcji internetowych. W przypadku Chrome stworzyliśmy nawet fundusz Advanced Web Apps Fund, który pomaga deweloperom finansować swoją pracę na rzecz rozwijania funkcji internetowych dostępnych dla wszystkich deweloperów.

Baner powitalny z albumu Pexels, autorka: Ann Marie Kennon.