From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/pl/webassembly/index.html | 164 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 files/pl/webassembly/index.html (limited to 'files/pl/webassembly') diff --git a/files/pl/webassembly/index.html b/files/pl/webassembly/index.html new file mode 100644 index 0000000000..7981440f91 --- /dev/null +++ b/files/pl/webassembly/index.html @@ -0,0 +1,164 @@ +--- +title: WebAssembly +slug: WebAssembly +translation_of: WebAssembly +--- +
{{WebAssemblySidebar}}{{SeeCompatTable}}
+ +

WebAssembly jest nowym rodzajem języka, który może być uruchomiony w nowoczesnych wersjach przeglądarek — jest językiem niskopoziomowym, który działa z szybkością zbliżoną do rozwiązań natywnych i pozwala na kompilacje kodu napisanego w takich językach jak C/C++ do kodu docelowego, który może być użyty  w web.
+ Równocześnie możemy w nim korzystać z Javascript.

+ +

W skrócie

+ +

WebAssembly ma duży wpływ na całą platformę web - dostarcza sposób na uruchomienie kodu napisanego w wielu różnych językach w przeglądarce z szybkością bliską natywnym rozwiązaniom, co wcześniej nie było możliwe do osiągnięcia. 

+ +

WebAssembly jest stworzone do uzupełnienia JavaScript - używając WebAssembly JavaScript API, możesz załadować moduły WA do aplikacji JavaScript i współdzielić funkcjonalności. To pozwala Ci skorzystać jednocześnie z wydajności WebAssembly razem z prostotą i elastycznością JavaScript w jednej i tej samej aplikacji, nawet jeśli nie wiesz jak napisać kod WebAssembly.

+ +

Co więcej technolgia ta jest rozwijana jako web standard przez W3C WebAssembly Working Group z aktywnym udziałem największych firm technologicznych.

+ +
+
+

Przewodnik

+ +
+
Koncepcja WebAssembly
+
Rozpocznij od przeczytania ogólnej koncepcji stojącej za WebAssembly - co to jest, dlaczego jest przydatne, jak wpasowuje się w platformę web i jak z tego korzystać.
+
Kompilacja z C/C++ do WebAssembly
+
Kiedy już napisałeś kod w C/C++, możesz łatwo go skompilować do .wasm korzystając z narzędzi jak Emscripten. Sprawdźmy jak to działa.
+
Ładowanie i uruchamianie kodu WebAssembly
+
Kiedy już uzyskasz .wasm, ten artykuł pomoże Ci w jego pobraniu do aplikacji, kompilacji i łączeniu z Fetch lub XHR API.
+
Cachowanie skompilowanych modułów WebAssembly
+
Cachowanie dużych modułów WebAssembly po stronie klienckiej jest przydatne dla zwiększenia wydajności uruchamiania aplikacji. Artykuł opisuje jak osiągnąć to za pomocą IndexedDB.
+
Korzystanie z WebAssembly JavaScript API
+
Kiedy już załadujesz moduł .wasm do swojego projektu, będziesz chciał go użyć. Ten artykuł pokaże Ci jak używać modułów WA za pomocą WebAssembly JavaScript API.
+
Wyeksportowane funkcje WebAssembly
+
Wyeksportowane funkcje WebAssembly są odpowiednikiem zwykłych funkcji i pozwalają na wywołanie kodu WebAssembly wewnątrz JavaScript. Artykuł opisuje czym są i jak ich używać.
+
Zrozumieć format tekstowy WebAssembly
+
Artykuł tłumaczy format tekstowy wasm. Jest to niskopoziomowa tekstowa reprezentacja modułu .wasm pokazywana w przeglądarce w narzędziach developerskich przy debugowaniu.
+
Konwersja formatu tekstowego WebAssembly do wasm
+
Dowiesz się tutaj jak skonwertować moduł WebAssembly napisany w formacie tekstowym do modułu binarnego .wasm.
+
+
+ +
+

API

+ +
+
{{jsxref("Global_objects/WebAssembly", "WebAssembly")}}
+
Obiekt przestrzeni nazw dla wszystkich metod powiązanych z WebAssembly.
+
{{jsxref("Global_objects/WebAssembly/Module", "WebAssembly.Module")}}
+
Obiekt WebAssembly.Module zawiera bezstanowy kod  WebAssembly, który już został skompilowany przez przeglądarkę i może być skutecznie współdzielony z Workerami czy zachachowany w IndexedDB.
+
{{jsxref("Global_objects/WebAssembly/Instance", "WebAssembly.Instance")}}
+
Obiekt WebAssembly.Instance jest stanową, wykonywalną instancją modułu. Obiekt Instance zawiera wyeksportowane funkcje WebAssembly, które pozwalają na wywołanie bezpośrednio w kodzie JavaScript.
+
A WebAssembly.Instance object is a stateful, executable instance of a ModuleInstance objects contain all the Exported WebAssembly functions that allow calling into WebAssembly code from JavaScript.
+
{{jsxref("Global_objects/WebAssembly/instantiate", "WebAssembly.instantiate()")}}
+
WebAssembly.instantiate() jest główną metodą API służącą do kompilowania i tworzenia gotowych do użycia instancji kodu WebAssembly. Zwraca Module oraz Instance.
+
{{jsxref("Global_objects/WebAssembly/Memory", "WebAssembly.Memory()")}}
+
WebAssembly.Memory jest obiektem zawierającym rozszerzalny {{jsxref("Global_objects/ArrayBuffer", "ArrayBuffer")}}, który przechowuje bajty pamięci dostępnej dla Instance.
+
{{jsxref("Global_objects/WebAssembly/Table", "WebAssembly.Table()")}}
+
WebAssembly.Table obiekt jest rozszerzalnym {{jsxref("Global_Objects/TypedArray", "TypedArray")}}
+
{{jsxref("WebAssembly.CompileError()")}}
+
Tworzy nowy obiekt CompileError.
+
{{jsxref("WebAssembly.LinkError()")}}
+
Tworzy nowy obiekt LinkError.
+
{{jsxref("WebAssembly.RuntimeError()")}}
+
Tworzy nowy obiekt RuntimeError.
+
+
+
+ +

Przykłady

+ + + +

Specyfikacja

+ + + + + + + + + + + + + + + + +
SpecyfikacjaStatusKomentarz
{{SpecName('WebAssembly JS')}}{{Spec2('WebAssembly JS')}}Wstępna szkicowa definicja JavaScript API .
+ +

Kompatybilność

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support{{CompatChrome(57)}}15[2]{{CompatGeckoDesktop(52)}}[1]{{CompatNo}}{{CompatOpera(44)}}11
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroid WebviewChrome for AndroidEdge MobileFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatChrome(57)}}{{CompatChrome(57)}}{{CompatNo}}{{CompatGeckoMobile(52)}}[1]{{CompatNo}}{{CompatNo}}11
+
+ +

[1] WebAssembly jest włączone w Firefox 52+, jednakże wyłączone w Firefox 52 Extended Support Release (ESR.)

+ +

[2] Currently supported behind the “Experimental JavaScript Features” flag. See this blog post for more details.

+ +

Zobacz także

+ + -- cgit v1.2.3-54-g00ecf