Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Przez ponad dwie dekady JavaScript był jedynym językiem programowania, który mógł działać w przeglądarkach. Inne języki, takie jak Python, C++ i Go, służyły głównie do tworzenia aplikacji i usług internetowych po stronie serwera.

JavaScript radził sobie całkiem nieźle, ale wiele innych języków programowania jest szybszych. Istnieje wiele korzyści, z których aplikacje internetowe mogą korzystać, uruchamiając inne, bardziej wydajne języki programowania bezpośrednio w przeglądarce.

WebAssembly oferuje wydajną, otwartą i bezpieczną opcję, która jest częścią otwartej platformy internetowej. Można go używać do tworzenia aplikacji działających w przeglądarkach, na serwerach iw innych środowiskach.

Przedstawiamy WebAssembly

WebAssembly (WASM) to wydajny, przenośny język niskiego poziomu, zgodny ze standardami W3C. Definiuje format kodu i interfejsy dla programów do interakcji z platformami w sieci.

instagram viewer

Większość języków programowania można skompilować do formatu kodu binarnego WebAssembly. Przeglądarki mogą interpretować i uruchamiać wynikowy kod WASM tak samo, jak zwykły JavaScript. Możesz także uruchomić WebAssembly wraz z kodem JavaScript, aby uzyskać wyższą wydajność aplikacji i interoperacyjność między nimi.

WebAssembly stał się standardem W3C w 2019 roku, z obsługą wielu języków programowania. Według Wykonane za pomocą WebAssembly, istnieje już wiele popularnych projektów wykorzystujących WebAssembly do dostarczania użytkownikom szybkiego, bezpiecznego oprogramowania.

Wiele języków programowania, w tym te, które są specyficzne dla serwera, obsługuje WebAssembly. Należą do nich Rust, Go, Python, C++, TypeScript, Java, PHP i Ruby. Sprawdź zasób awesome-wasm-langs aby dowiedzieć się o językach obsługiwanych przez WebAssembly i pakietach, których możesz z nimi używać.

Oto przykład Program WebAssembly firmy Tutorials Point zwraca maksymalnie dwie liczby całkowite:

Składnia WebAssembly jest stosunkowo rozwlekła w porównaniu z JavaScriptem, ale nie powinno to stanowić problemu. Nie musisz uczyć się składni, ponieważ WebAssembly będzie celem kompilacji dla programów, które piszesz w preferowanym języku.

Jak działa WebAssembly

WASM istnieje jako cel kompilacji dla innych języków programowania, do których można je transponować. Możesz wpisać Twój ulubiony język programowania i skompiluj kod źródłowy do kodu bajtowego WASM, który działa na kliencie. Przetłumaczenie go na natywny kod maszynowy oznacza, że ​​może działać z dużą szybkością, zwykle szybszą niż JavaScript.

Jedną z krytycznych cech WASM jest interoperacyjność JavaScript. Możesz zaimportować moduły WASM do aplikacji internetowej i udostępnić funkcje WASM do użycia w kodzie JavaScript. Frameworki JavaScript mogą korzystać z WASM w celu zwiększenia wydajności.

WASM używa modelu wykonywania w piaskownicy, podobnego do JavaScript. WASM współdziała z maszyną hosta za pomocą ABI (Application Binary Interface), takich jak Interfejs systemu WebAssembly który zapewnia dostęp do zasobów i innych usług systemowych w oparciu o wymagania programu.

Wiele nowoczesnych przeglądarek obsługuje WASM, w tym Chrome, Microsoft Edge, Mozilla Firefox, Opera i Safari. Języki takie jak Go i Wsparcie rdzy WASM po wyjęciu z pudełka.

Dlaczego sieć potrzebuje WebAssembly

JavaScript ma ograniczoną funkcjonalność z założenia. To nie jest jeden z najszybszych lub najbardziej wydajnych językach ponieważ zaczął jako język skryptowy dla sieci. Chociaż istnieje wiele środowisk wykonawczych, w których JavaScript działa z różnymi prędkościami, jest ich znacznie więcej i są szybsze wydajnych języków, które WebAssembly może przenieść do sieci w takich przypadkach, jak gry, filmy i muzyka.

WebAssembly oferuje również większą przenośność i elastyczność dla języków, które nie działają w sieci. Wprowadzenie większej liczby języków do sieci (najbardziej popularnej platformy typu open source) powinno skutkować ogólną poprawą doświadczenia.

Adopcja WebAssembly jest szybka

Wiele firm i programistów buduje aplikacje za pomocą WebAssembly. Google, Dropbox i Cloudflare aktywnie używają WebAssembly w niektórych swoich aplikacjach.

WebAssembly jest popularny wśród programistów Python, C++ i Rust. Programiści Pythona często używają Pyoidide i PyScript, programistów C++ oraz programistów Emscripten i Rust z platformą Percy, Yew, Sycamore, MoonZoon i Seed.