{"id":105726,"date":"2022-11-27T09:36:51","date_gmt":"2022-11-27T07:36:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly"},"modified":"2022-11-27T09:36:51","modified_gmt":"2022-11-27T07:36:51","slug":"dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","title":{"rendered":"Dost\u0119pny Wasmer 3.0, zestaw narz\u0119dzi do tworzenia aplikacji opartych na WebAssembly","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Zosta\u0142o zaprezentowane trzecie istotne wydanie projektu Wasmer, rozwijaj\u0105cego runtime do uruchamiania modu\u0142\u00f3w WebAssembly, kt\u00f3ry mo\u017cna wykorzysta\u0107 do tworzenia uniwersalnych aplikacji mog\u0105cych dzia\u0142a\u0107 w r\u00f3\u017cnych systemach operacyjnych, jak r\u00f3wnie\u017c do izolowanego wykonania kodu, kt\u00f3ry nie zas\u0142uguje na zaufanie. Kod projektu napisany jest w j\u0119zyku Rust i jest rozpowszechniany na licencji MIT.      <\/p>\n<p>Mo\u017cliwo\u015b\u0107 uruchamiania jednej aplikacji na r\u00f3\u017cnych platformach zapewniana jest dzi\u0119ki kompilacji kodu do niskopoziomowego kodu po\u015bredniego WebAssembly, kt\u00f3ry mo\u017ce by\u0107 uruchamiany w dowolnych systemach operacyjnych lub wbudowywany w programy w innych j\u0119zykach programowania. Aplikacje s\u0105 lekkimi kontenerami, w kt\u00f3rych uruchamiany jest pseudokod WebAssembly. Te kontenery nie s\u0105 zwi\u0105zane z systemem operacyjnym i mog\u0105 zawiera\u0107 kod, kt\u00f3ry by\u0142 pierwotnie napisany w dowolnym j\u0119zyku programowania. Do kompilacji do WebAssembly mo\u017ce by\u0107 u\u017cywane narz\u0119dzie Emscripten. Do translacji WebAssembly na kod maszynowy bie\u017c\u0105cej platformy wspierane jest pod\u0142\u0105czenie r\u00f3\u017cnych backend\u00f3w kompilacji (Singlepass, Cranelift, LLVM) i silnik\u00f3w (wykorzystanie JIT lub generacja kodu maszynowego).        <\/p>\n<p>Aplikacje s\u0105 izolowane od g\u0142\u00f3wnego systemu w \u015brodowisku sandbox i maj\u0105 dost\u0119p tylko do deklarowanej funkcjonalno\u015bci (mechanizm bezpiecze\u0144stwa oparty na kontroli mo\u017cliwo\u015bci \u2013 aby aplikacja mog\u0142a wykona\u0107 dzia\u0142ania na ka\u017cdym zasobie (pliki, katalogi, gniazda, wywo\u0142ania systemowe itp.), musz\u0105 by\u0107 jej przydzielone odpowiednie uprawnienia). Kontrola dost\u0119pu i interakcja z systemem jest zapewniana za pomoc\u0105 API WASI (WebAssembly System Interface), kt\u00f3re dostarcza interfejsy programistyczne do pracy z plikami, gniazdami i innymi funkcjami dostarczanymi przez system operacyjny.     <\/p>\n<p>Platforma umo\u017cliwia osi\u0105ganie wydajno\u015bci aplikacji zbli\u017conej do wykonania natywnych kompilacji. Dzi\u0119ki Native Object Engine dla modu\u0142u WebAssembly mo\u017cna wygenerowa\u0107 kod maszynowy (&#171;wasmer compile &#8212;native&#187; do generowania wst\u0119pnie skompilowanych plik\u00f3w obiektowych .so, .dylib i .dll), do uruchomienia kt\u00f3rego wymagany jest minimalny runtime, ale zachowane s\u0105 wszystkie mo\u017cliwo\u015bci izolacji sandbox. Mo\u017cna dostarcza\u0107 wst\u0119pnie skompilowane programy z wbudowanym Wasmerem. Do tworzenia rozszerze\u0144 i dodatk\u00f3w oferowane s\u0105 API Rust i Wasm-C-API.      <\/p>\n<p>Aby uruchomi\u0107 kontener WebAssembly, wystarczy zainstalowa\u0107 w systemie runtime Wasmer, kt\u00f3ry dostarczany jest bez zewn\u0119trznych zale\u017cno\u015bci (curl https:\/\/get.wasmer.io -sSfL | sh), i uruchomi\u0107 potrzebny plik (wasmer test.wasm). Programy s\u0105 dystrybuowane w formie zwyk\u0142ych modu\u0142\u00f3w WebAssembly, kt\u00f3rymi mo\u017cna zarz\u0105dza\u0107 za pomoc\u0105 mened\u017cera pakiet\u00f3w WAPM. Wasmer jest r\u00f3wnie\u017c dost\u0119pny w formie biblioteki, kt\u00f3r\u0105 mo\u017cna wykorzysta\u0107 do wbudowywania kodu WebAssembly w programy napisane w j\u0119zykach Rust, C\/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir i Java.     <\/p>\n<p>G\u0142\u00f3wne zmiany w Wasmer 3.0:  <\/p>\n<ul>\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 tworzenia natywnych plik\u00f3w wykonywalnych dla dowolnych platform. Komenda \u201ewasmer create-exe\u201d zosta\u0142a ca\u0142kowicie przebudowana, co umo\u017cliwia przekszta\u0142cenie pliku z kodem po\u015brednim WebAssembly w samodzielne pliki wykonywalne dla platform Linux, Windows i macOS, kt\u00f3re mog\u0105 dzia\u0142a\u0107 bez instalacji samego Wasmera.\n<li class=\"l\"> Umo\u017cliwiono uruchamianie pakiet\u00f3w WAPM umieszczonych w katalogu wapm.io za pomoc\u0105 komendy \u201ewasmer run\u201d. Na przyk\u0142ad, wykonanie \u201ewasmer run python\/python\u201d spowoduje pobranie pakietu python z repozytorium wapm.io i jego uruchomienie.\n<li class=\"l\"> Ca\u0142kowicie przeprojektowano API Wasmer Rust, w kt\u00f3rym zmieniono styl pracy z pami\u0119ci\u0105 i zapewniono mo\u017cliwo\u015b\u0107 bezpiecznego przechowywania obiekt\u00f3w Wasm w strukturze Store. Zaproponowano now\u0105 struktur\u0119 MemoryView, kt\u00f3ra umo\u017cliwia odczyt i zapis danych w liniowej przestrzeni pami\u0119ci.\n<li class=\"l\"> Zrealizowano zestaw komponent\u00f3w wasmer-js do uruchamiania Wasmer w przegl\u0105darce internetowej i interakcji z nim z poziomu JavaScript, korzystaj\u0105c z biblioteki wasm-bindgen. Pod wzgl\u0119dem funkcjonalno\u015bci wasmer-js odpowiada komponentom wasmer-sys, kt\u00f3re s\u0105 przeznaczone do uruchamiania Wasmer w standardowych systemach operacyjnych.\n<li class=\"l\"> Uproszczono silniki. Zamiast oddzielnych silnik\u00f3w do JIT, dynamicznego i statycznego wi\u0105zania (Universal, Dylib, StaticLib), teraz oferowany jest jeden wsp\u00f3lny silnik, a \u0142adowanie i zapisywanie kodu jest zarz\u0105dzane na poziomie ustawienia parametr\u00f3w.\n<li class=\"l\"> Do deserializacji artefakt\u00f3w zastosowano framework rkyv, kt\u00f3ry zapewnia dzia\u0142anie w trybie zero-copy, tzn. nie wymaga alokacji dodatkowej pami\u0119ci i wykonuje deserializacj\u0119 tylko przy u\u017cyciu pierwotnie dostarczonego bufora. Wykorzystanie rkyv znacznie zwi\u0119kszy\u0142o pr\u0119dko\u015b\u0107 uruchamiania.\n<li class=\"l\"> Ulepszony kompilator jednoprzebiegowy Singlepass, kt\u00f3ry zyska\u0142 wsparcie dla funkcji z wieloma argumentami (multi-value), zwi\u0119kszon\u0105 niezawodno\u015b\u0107 dzia\u0142ania oraz dodane wsparcie dla klatek obs\u0142ugi wyj\u0105tk\u00f3w.\n<li class=\"l\"> Ulepszona realizacja interfejsu API WASI (WebAssembly System Interface). Rozwi\u0105zano problemy z interfejsem WASI do pracy z systemem plik\u00f3w. Wewn\u0119trzne typy zosta\u0142y przeprojektowane z u\u017cyciem WAI (WebAssembly Interfaces), co w przysz\u0142o\u015bci umo\u017cliwi wprowadzenie serii nowych mo\u017cliwo\u015bci.        <\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58203\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u0440\u0435\u0442\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Wasmer, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e runtime \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 WebAssembly, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u043d\u0435 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0434\u043e\u0432\u0435\u0440\u0438\u044f. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105726","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u0440\u0435\u0442\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Wasmer, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e runtime \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 WebAssembly, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d Wasmer 3.0, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0431\u0430\u0437\u0435 WebAssembly | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u0440\u0435\u0442\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Wasmer, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e runtime \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 WebAssembly, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-11-27T07:36:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-11-27T07:36:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Dost\u0119pny Wasmer 3.0, zestaw narz\u0119dzi do tworzenia aplikacji opartych na WebAssembly | ProHoster","description":"Przedstawiono trzeci znacz\u0105cy wydanie projektu Wasmer, rozwijaj\u0105cego \u015brodowisko uruchomieniowe do wykonywania modu\u0142\u00f3w WebAssembly, kt\u00f3re mo\u017cna wykorzysta\u0107 do tworzenia uniwersalnych aplikacji zdolnych do dzia\u0142ania w r\u00f3\u017cnych \u015brodowiskach.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d Wasmer 3.0, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0431\u0430\u0437\u0435 WebAssembly | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u0440\u0435\u0442\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Wasmer, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e runtime \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 WebAssembly, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-11-27T07:36:51+00:00","article:modified_time":"2022-11-27T07:36:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/105726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=105726"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/105726\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=105726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=105726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=105726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}