diff options
Diffstat (limited to 'files/pl/webassembly/index.html')
-rw-r--r-- | files/pl/webassembly/index.html | 164 |
1 files changed, 164 insertions, 0 deletions
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 +--- +<div>{{WebAssemblySidebar}}{{SeeCompatTable}}</div> + +<p class="summary" dir="ltr" id="docs-internal-guid-22bb55aa-d69e-e8ef-cbc6-aafea272f684">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.<br> + Równocześnie możemy w nim korzystać z Javascript.</p> + +<h2 dir="ltr" id="W_skrócie">W skrócie</h2> + +<p dir="ltr">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. </p> + +<p dir="ltr">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.</p> + +<p dir="ltr">Co więcej technolgia ta jest rozwijana jako web standard przez <a href="https://www.w3.org/wasm/">W3C WebAssembly Working Group</a> z aktywnym udziałem największych firm technologicznych.</p> + +<div class="row topicpage-table"> +<div class="section"> +<h2 dir="ltr" id="Przewodnik">Przewodnik</h2> + +<dl> + <dt><a href="/en-US/docs/WebAssembly/Concepts">Koncepcja WebAssembly</a></dt> + <dd>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ć.</dd> + <dt><a href="/en-US/docs/WebAssembly/C_to_wasm">Kompilacja z C/C++ do WebAssembly</a></dt> + <dd>Kiedy już napisałeś kod w C/C++, możesz łatwo go skompilować do .wasm korzystając z narzędzi jak <a href="/en-US/docs/">Emscripten</a>. Sprawdźmy jak to działa.</dd> + <dt><a href="/en-US/docs/WebAssembly/Loading_and_running">Ładowanie i uruchamianie kodu WebAssembly</a></dt> + <dd>Kiedy już uzyskasz .wasm, ten artykuł pomoże Ci w jego pobraniu do aplikacji, kompilacji i łączeniu z <a href="/en-US/docs/Web/API/Fetch_API">Fetch</a> lub <a href="/en-US/docs/Web/API/XMLHttpRequest">XHR</a> API.</dd> + <dt><a href="/en-US/docs/WebAssembly/Caching_modules">Cachowanie skompilowanych modułów WebAssembly</a></dt> + <dd>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ą <a href="/en-US/docs/">IndexedDB</a>.</dd> + <dt><a href="/en-US/docs/WebAssembly/Using_the_JavaScript_API">Korzystanie z WebAssembly JavaScript API</a></dt> + <dd>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.</dd> + <dt><a href="/en-US/docs/WebAssembly/Exported_functions">Wyeksportowane funkcje WebAssembly</a></dt> + <dd>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ć.</dd> + <dt><a href="/en-US/docs/WebAssembly/Understanding_the_text_format">Zrozumieć format tekstowy WebAssembly</a></dt> + <dd>Artykuł tłumaczy format tekstowy wasm. Jest to niskopoziomowa tekstowa reprezentacja modułu .wasm pokazywana w przeglądarce w narzędziach developerskich przy debugowaniu.</dd> + <dt><a href="/en-US/docs/WebAssembly/Text_format_to_wasm">Konwersja formatu tekstowego WebAssembly do wasm</a></dt> + <dd>Dowiesz się tutaj jak skonwertować moduł WebAssembly napisany w formacie tekstowym do modułu binarnego .wasm.</dd> +</dl> +</div> + +<div class="section"> +<h2 dir="ltr" id="API">API</h2> + +<dl> + <dt>{{jsxref("Global_objects/WebAssembly", "WebAssembly")}}</dt> + <dd>Obiekt przestrzeni nazw dla wszystkich metod powiązanych z WebAssembly.</dd> + <dt>{{jsxref("Global_objects/WebAssembly/Module", "WebAssembly.Module")}}</dt> + <dd>Obiekt<code> WebAssembly.Module </code>zawiera bezstanowy kod WebAssembly, który już został skompilowany przez przeglądarkę i może być skutecznie <a href="/en-US/docs/Web/API/Worker/postMessage">współdzielony z Workerami</a> czy <a href="/en-US/docs/WebAssembly/Caching_modules">zachachowany w IndexedDB</a>.</dd> + <dt>{{jsxref("Global_objects/WebAssembly/Instance", "WebAssembly.Instance")}}</dt> + <dd>Obiekt <code>WebAssembly.Instance </code>jest stanową, wykonywalną instancją modułu. Obiekt<code> Instance </code>zawiera wyeksportowane funkcje WebAssembly, które pozwalają na wywołanie bezpośrednio w kodzie JavaScript.</dd> + <dd>A <code>WebAssembly.Instance</code> object is a stateful, executable instance of a <code>Module</code>. <code>Instance</code> objects contain all the <a href="/en-US/docs/WebAssembly/Exported_functions">Exported WebAssembly functions</a> that allow calling into WebAssembly code from JavaScript.</dd> + <dt>{{jsxref("Global_objects/WebAssembly/instantiate", "WebAssembly.instantiate()")}}</dt> + <dd><code>WebAssembly.instantiate()</code> jest główną metodą API służącą do kompilowania i tworzenia gotowych do użycia instancji kodu WebAssembly. Zwraca <code>Module</code> oraz <code>Instance</code>.</dd> + <dt>{{jsxref("Global_objects/WebAssembly/Memory", "WebAssembly.Memory()")}}</dt> + <dd><code>WebAssembly.</code><code>Memory</code> jest obiektem zawierającym rozszerzalny {{jsxref("Global_objects/ArrayBuffer", "ArrayBuffer")}}, który przechowuje bajty pamięci dostępnej dla <code>Instance</code>.</dd> + <dt>{{jsxref("Global_objects/WebAssembly/Table", "WebAssembly.Table()")}}</dt> + <dd><code>WebAssembly.</code><code>Table</code> obiekt jest rozszerzalnym {{jsxref("Global_Objects/TypedArray", "TypedArray")}}</dd> + <dt>{{jsxref("WebAssembly.CompileError()")}}</dt> + <dd>Tworzy nowy obiekt <code>CompileError</code>.</dd> + <dt>{{jsxref("WebAssembly.LinkError()")}}</dt> + <dd>Tworzy nowy obiekt <code>LinkError</code>.</dd> + <dt>{{jsxref("WebAssembly.RuntimeError()")}}</dt> + <dd>Tworzy nowy obiekt <code>RuntimeError</code>.</dd> +</dl> +</div> +</div> + +<h2 dir="ltr" id="Przykłady">Przykłady</h2> + +<ul dir="ltr"> + <li><a href="https://github.com/JasonWeathersby/WASMSobel">WASMSobel</a></li> + <li>Zobacz nasze repo <a href="https://github.com/mdn/webassembly-examples/">webassembly-examples</a>, aby zobaczyć inne przykłady.</li> +</ul> + +<h2 id="Specyfikacja">Specyfikacja</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Specyfikacja</th> + <th scope="col">Status</th> + <th scope="col">Komentarz</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('WebAssembly JS')}}</td> + <td>{{Spec2('WebAssembly JS')}}</td> + <td><span class="tlid-translation translation" lang="pl"><span title="">Wstępna szkicowa definicja JavaScript API</span></span> .</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">Kompatybilność</h2> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Edge</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari (WebKit)</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatChrome(57)}}</td> + <td>15<sup>[2]</sup></td> + <td>{{CompatGeckoDesktop(52)}}<sup>[1]</sup></td> + <td>{{CompatNo}}</td> + <td>{{CompatOpera(44)}}</td> + <td>11</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android Webview</th> + <th>Chrome for Android</th> + <th>Edge Mobile</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatChrome(57)}}</td> + <td>{{CompatChrome(57)}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatGeckoMobile(52)}}<sup>[1]</sup></td> + <td>{{CompatNo}}</td> + <td>{{CompatNo}}</td> + <td>11</td> + </tr> + </tbody> +</table> +</div> + +<p>[1] WebAssembly jest włączone w Firefox 52+, jednakże<span class="tlid-translation translation" lang="pl"><span title=""> wyłączone w</span></span> <a href="https://www.mozilla.org/en-US/firefox/organizations/">Firefox 52 Extended Support Release</a> (ESR.)</p> + +<p>[2] Currently supported behind the “Experimental JavaScript Features” flag. See <a href="https://blogs.windows.com/msedgedev/2017/04/20/improved-javascript-performance-webassembly-shared-memory/">this blog post</a> for more details.</p> + +<h2 id="Zobacz_także">Zobacz także</h2> + +<ul dir="ltr"> + <li><a href="https://research.mozilla.org/webassembly/">WebAssembly on Mozilla Research</a></li> + <li><a href="http://webassembly.org/">webassembly.org</a></li> + <li><a href="https://hacks.mozilla.org/category/webassembly/">WebAssembly articles on Mozilla Hacks blog</a></li> + <li><a href="https://www.w3.org/community/webassembly/">W3C WebAssembly Community Group</a></li> + <li><a href="/en-US/docs/Web/HTTP/Headers/Large-Allocation">Large-Allocation HTTP header</a></li> +</ul> |