{"id":9986,"date":"2022-04-07T13:09:44","date_gmt":"2022-04-07T11:09:44","guid":{"rendered":"https:\/\/vived.io\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/"},"modified":"2022-09-19T13:16:30","modified_gmt":"2022-09-19T11:16:30","slug":"frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/","title":{"rendered":"Frontend Thursday vol.82 &#8211; Rome Formatter, RedwoodJS, React Native 0.68"},"content":{"rendered":"\n<h2 id=\"1-rome-formatter\" data-num=1>1. Rome Formatter<\/h2>\n\n\n\n<p>Nie od razu Rzym zbudowano i podobnie jest z narz\u0119dziem Rome (wiem, straszny suchar &#8211; mo\u017cecie nawil\u017cy\u0107 gard\u0142o odrobin\u0105 wody). Po prawie p\u00f3\u0142tora roku developmentu zesp\u00f3\u0142 odpowiedzialny za rozw\u00f3j projektu podzieli\u0142 si\u0119 ze \u015bwiatem pierwszymi efektami swojej pracy, czyli formaterem JavaScript i TypeScript. Zanim przejdziemy do szczeg\u00f3\u0142\u00f3w, cofnijmy si\u0119 jednak o krok i przyjrzymy czym w\u0142a\u015bciwie jest projekt Rome.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsyk.jpeg\" alt=\"\" class=\"wp-image-4165\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsyk.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsyk-300x300.jpeg 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsyk-150x150.jpeg 150w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n\n<p>Historia Rome zaczyna si\u0119 pocz\u0105tkiem 2020 roku, kiedy to sie\u0107 obieg\u0142y pierwsze informacje o projekcie. Zgodnie z deklaracjami tw\u00f3rc\u00f3w, projekt mia\u0142 po\u0142\u0105czy\u0107 w jednym narz\u0119dziu funkcjonalno\u015bci oferowane przez Babela, ESLinta, webpacka, Prettiera i Jest. Nowe rozwi\u0105zanie mia\u0142o by\u0107 szybsze, \u0142atwiejsze w u\u017cyciu i wymaga\u0107 minimalnej pocz\u0105tkowej konfiguracji. Ca\u0142y frontendowy \u015bwiat czeka\u0142 z niecierpliwo\u015bci\u0105 na pierwsze efekty, bo gdyby obietnice uda\u0142o si\u0119 spe\u0142ni\u0107 to mog\u0142aby to by\u0107 prawdziwa rewolucja.<\/p>\n\n\n\n<p>Atmosfer\u0119 wok\u00f3\u0142 projektu podkr\u0119ca\u0142 fakt, \u017ce sta\u0142y za nim znane nazwiska i du\u017ce marki. G\u0142\u00f3wnym deweloperem odpowiedzialnym za rozw\u00f3j by\u0142 Sebastian McKenzie, czyli tw\u00f3rca Babela i wsp\u00f3\u0142tw\u00f3rca Yarna oraz Lerny. Za projektem sta\u0142 r\u00f3wnie\u017c jeden z gigant\u00f3w technologicznych: Facebook. Z takim po\u0142\u0105czeniem projekt wr\u0119cz skazany by\u0142 na sukces. Jak si\u0119 jednak okaza\u0142o bajka nie trwa\u0142a d\u0142ugo.<\/p>\n\n\n\n<p>W maju 2020 roku Sebastian McKenzie odszed\u0142 z Facebooka i do\u0142\u0105czy\u0142 do zespo\u0142u Discorda. Przez kr\u00f3tk\u0105 chwil\u0119 przysz\u0142o\u015b\u0107 projektu sta\u0142a pod znakiem zapytania, ale szybko og\u0142oszone zosta\u0142o, \u017ce projekt opuszcza skrzyd\u0142a giganta Social Medi\u00f3w i pozostaje w r\u0119kach Sebastiana. Rok p\u00f3\u017aniej McKenzie opu\u015bci\u0142 r\u00f3wnie\u017c szeregi Discorda i og\u0142osi\u0142 za\u0142o\u017cenie firmy Rome Inc. W pierwszej rundzie finansowania zgromadzi\u0142a ona 4.5 miliona dolar\u00f3w, co zwiastowa\u0142o szybki rozw\u00f3j produktu.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"666\" height=\"500\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpwby.jpeg\" alt=\"\" class=\"wp-image-4166\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpwby.jpeg 666w, https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpwby-300x225.jpeg 300w\" sizes=\"auto, (max-width: 666px) 100vw, 666px\" \/><\/figure><\/div>\n\n\n\n<p>W mi\u0119dzyczasie na popularno\u015bci zacz\u0119\u0142y zyskiwa\u0107 narz\u0119dzia takie jak esbuild czy swc, napisane w niskopoziomowych j\u0119zykach. Rome napisany w TypeScript pod wzgl\u0119dem wydajno\u015bci zacz\u0105\u0142 zostawa\u0107 w tyle za konkurencj\u0105. Wtedy to Sebastian McKenzie og\u0142osi\u0142, \u017ce ca\u0142y projekt zostanie przepisany do Rust. Rzecz jasna oznacza\u0142o to spore spowolnienie rozwoju produktu, ale d\u0142ugoterminowo mia\u0142o zapewni\u0107 du\u017ce zyski wydajno\u015bci.<\/p>\n\n\n\n<p>Przez kolejne p\u00f3\u0142 roku nad projektem spuszczona zosta\u0142a zas\u0142ona milczenia i w ten spos\u00f3b docieramy do dnia dzisiejszego. Formater napisany w ca\u0142o\u015bci w Rust trafi\u0142 do npm. Je\u015bli chodzi o JavaScriptowe formatery to nie spos\u00f3b unikn\u0105\u0107 odniesie\u0144 do najpopularniejszego obecnie rozwi\u0105zania na rynku, czyli Prettiera. Z wykres\u00f3w zamieszczonych w notatce towarzysz\u0105cej wydaniu, mo\u017cemy dowiedzie\u0107 si\u0119, \u017ce Rome jest prawie 10x szybszy od swojego konkurenta. Wyr\u00f3\u017cnia go te\u017c mo\u017cliwo\u015b\u0107 formatowania niepoprawnego sk\u0142adniowo kodu. Mimo wszystko Prettier nadal pozostaje o krok przed konkurencj\u0105, bo Rome na ten moment nie wspiera jeszcze formatowania JSX oraz TypeScriptowych dekorator\u00f3w.<\/p>\n\n\n\n<p>Przegl\u0105daj\u0105c internet w poszukiwaniu opinii na temat Rome, wida\u0107, \u017ce pomimo up\u0142ywu czasu spo\u0142eczno\u015b\u0107 pok\u0142ada w projekcie du\u017ce nadzieje. Ja osobi\u015bcie podchodz\u0119 do tematu troch\u0119 bardziej sceptycznie. Po dw\u00f3ch latach rozwoju i sporym zastrzyku got\u00f3wki w mi\u0119dzyczasie, Rome rozwi\u0105za\u0142 nieistniej\u0105cy problem wolnego formatowania plik\u00f3w. Wi\u0119kszo\u015b\u0107 deweloper\u00f3w podpina Prettiera jako zale\u017cno\u015b\u0107 Ctrl+S lub git commit i do tej pory nie dotar\u0142y do mnie g\u0142osy narzekaj\u0105ce na wydajno\u015b\u0107 takiego rozwi\u0105zania. Pozostaje trzyma\u0107 kciuki, \u017ce rozw\u00f3j Rome w najbli\u017cszym czasie znacz\u0105co przy\u015bpieszy i zacznie on spe\u0142nia\u0107 obietnice z\u0142o\u017cone lata temu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/rome.tools\/blog\/2020\/08\/08\/introducing-rome\">https:\/\/rome.tools\/blog\/2020\/08\/08\/introducing-rome<\/a><br><a href=\"https:\/\/rome.tools\/blog\/announcing-rome-tools-inc\/\">https:\/\/rome.tools\/blog\/announcing-rome-tools-inc\/<\/a><br><a href=\"https:\/\/rome.tools\/blog\/2021\/09\/21\/rome-will-be-rewritten-in-rust\">https:\/\/rome.tools\/blog\/2021\/09\/21\/rome-will-be-rewritten-in-rust<\/a><br><a href=\"https:\/\/rome.tools\/blog\/2022\/04\/05\/rome-formatter-release\">https:\/\/rome.tools\/blog\/2022\/04\/05\/rome-formatter-release<\/a><br><a href=\"https:\/\/www.crunchbase.com\/organization\/rome-labs\/company_financials\">https:\/\/www.crunchbase.com\/organization\/rome-labs\/company_financials<\/a><\/p>\n\n\n\n<h2 id=\"2-kolejna-fala-zlosliwych-paczek-w-npm\" data-num=2>2. Kolejna fala z\u0142o\u015bliwych paczek w npm<\/h2>\n\n\n\n<p>Ten rok nie jest najlepszy je\u015bli chodzi o security w npm. Ci\u0119\u017cko znale\u017a\u0107 miesi\u0105c, w kt\u00f3rym internetu nie odbiega\u0142by informacja o pojawieniu si\u0119 z\u0142o\u015bliwych paczek. Kilka tygodni temu Artur <a href=\"https:\/\/vived.io\/software-craftsmanship-saturday-vol-80-nowe-go-fuchsia-os-node-icp-przeprowadza-atak-supply-chain\/\">w 80 sobotniej edycji naszego przegl\u0105du<\/a> raportowa\u0142 Wam o ataku Supply-Chain na paczk\u0119 node-icp, na kt\u00f3rym ucierpia\u0142 mi\u0119dzy innymi Vue. Niewiele wcze\u015bniej internet obieg\u0142a informacja o milionie pobra\u0144 paczki \u2018-\u2019. W tym przypadku na szcz\u0119\u015bcie nie mieli\u015bmy do czynienia z atakiem, a z deweloperem zaciekawionym polityk\u0105 nazewnictwa paczek w npm.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6auqav.jpeg\" alt=\"\" class=\"wp-image-4167\" width=\"638\" height=\"359\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6auqav.jpeg 888w, https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6auqav-300x169.jpeg 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6auqav-768x432.jpeg 768w\" sizes=\"auto, (max-width: 638px) 100vw, 638px\" \/><\/figure><\/div>\n\n\n\n<p>Jak si\u0119 pewnie domy\u015blacie pisz\u0119 o tym nie bez przyczyny. W minionym tygodniu wykryty zosta\u0142 atak na pakiety npm umieszczone w scope @azure. Hakerzy wykorzystali skrypt automatycznie tworzy nowe konta npm i za ich pomoc\u0105 opublikowali w repozytorium 218 paczek o takich samych nazwach jak te umieszczone w scope @azure, ale pozbawionych odpowiedniego przedrostka (np. @azure\/core-tracing vs. core-tracing). Z\u0142o\u015bliwe paczki mia\u0142y na celu pozyskanie informacji personalnych u\u017cytkownik\u00f3w. Przez nieuwag\u0119 programist\u00f3w ka\u017cda z paczek posiada\u0142a oko\u0142o 50 pobra\u0144. Po wykryciu ataku npm podj\u0105\u0142 decyzj\u0119 o wycofaniu paczek.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsht.jpeg\" alt=\"\" class=\"wp-image-4168\" width=\"629\" height=\"345\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsht.jpeg 911w, https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsht-300x165.jpeg 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsht-768x422.jpeg 768w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/thehackernews.com\/2022\/03\/over-200-malicious-npm-packages-caught.html\">https:\/\/thehackernews.com\/2022\/03\/over-200-malicious-npm-packages-caught.html<\/a><br><a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/<\/a><br><a href=\"https:\/\/security.snyk.io\/vuln\/SNYK-JS-NODEIPC-2426370\">https:\/\/security.snyk.io\/vuln\/SNYK-JS-NODEIPC-2426370<\/a><\/p>\n\n\n\n<h2 id=\"3-redwoodjs-zgarnia-milion-dolarow\" data-num=3>3. RedwoodJS zgarnia milion dolar\u00f3w<\/h2>\n\n\n\n<p>S\u0142yszeli\u015bcie kiedy\u015b o RedwoodJS? Ja r\u00f3wnie\u017c nigdy o nim nie s\u0142ysza\u0142em, wi\u0119c kiedy zobaczy\u0142em \u017ce post na Reddicie dotycz\u0105cy finansowania projektu zbiera mas\u0119 \u0142apek w g\u00f3r\u0119 by\u0142em mocno zdziwiony. Od razu obudzi\u0142a si\u0119 we mnie nutka detektywa i rozpocz\u0105\u0142em \u015bledztwo.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"362\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-5.gif\" alt=\"\" class=\"wp-image-4169\"\/><\/figure><\/div>\n\n\n\n<p>W\u0142a\u015bciwie od razu uda\u0142o mi si\u0119 zweryfikowa\u0107, \u017ce informacja o zagarni\u0119ciu finansowania w wysoko\u015bci miliona dolar\u00f3w jest lekko przesadzona. Sama kwota jest prawdziwa, ale finansowanie pochodzi od autora frameworka &#8211; Toma Preston-Werner. Nie m\u00f3wimy tu wi\u0119c o zewn\u0119trznych inwestorach, kt\u00f3rzy dostrzegli w projekcie potencja\u0142, a o bogatym deweloperze, kt\u00f3ry najwidoczniej wierzy w sw\u00f3j produkt. O komfortowej pozycji projektu najlepiej \u015bwiadczy fakt, \u017ce nie posiada on \u017cadnego planu biznesowego i zamierza skupi\u0107 si\u0119 na stworzeniu mo\u017cliwie najlepszego rozwi\u0105zania dla startup\u00f3w.<\/p>\n\n\n\n<p>Sk\u0105d Tom Preston-Werner posiada fundusze, kt\u00f3re pozwalaj\u0105 mu z czyst\u0105 g\u0142ow\u0105 zainwestowa\u0107 tak\u0105 kwot\u0119 w sw\u00f3j pet project? Na przestrzeni lat Tom zaanga\u017cowany by\u0142 w wiele startup\u00f3w, kt\u00f3re odnios\u0142y sukces. Najbardziej znanym ze wszystkich jest GitHub, gdzie w latach 2008-2014 pe\u0142ni\u0142 on rol\u0119 CEO. Niestety przygoda z najpopularniejszym repozytorium Git nie mia\u0142a szcz\u0119\u015bliwego zako\u0144czenia. W 2014 roku wobec Toma i jego \u017cony wytoczone zosta\u0142y zarzuty o n\u0119kanie jednej z pracownic. Wewn\u0119trzne \u015bledztwo wykaza\u0142o, \u017ce zarzuty nie by\u0142y bezpodstawne i CEO zmuszony zosta\u0142 z\u0142o\u017cy\u0107 wypowiedzenie.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"267\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-6.gif\" alt=\"\" class=\"wp-image-4170\"\/><figcaption>Pomimo sporej liczby \u0142apek w g\u00f3r\u0119, w trakcie pisania tego artyku\u0142u moderacja postanowi\u0142a usun\u0105\u0107 z Reddita post dotycz\u0105cy RedwoodJS. Czy usuni\u0119cie mia\u0142o co\u015b wsp\u00f3lnego z wydarzeniami z 2014 roku? Nie wiem, cho\u0107 si\u0119 domy\u015blam.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Na przestrzeni swojej kariery Tom Preston-Werner zgromadzi\u0142 poka\u017an\u0105 sum\u0119. W 2016 roku znalaz\u0142 si\u0119 na 36. miejscu listy America&#8217;s Richest Entrepreneurs Under 40 magazynu Forbes, z maj\u0105tkiem o warto\u015bci 310 milion\u00f3w dolar\u00f3w. Po opuszczeniu GitHuba by\u0142y CEO zaj\u0105\u0142 si\u0119 rozwojem aplikacji do nauki j\u0119zyk\u00f3w, kt\u00f3ra w 2018 roku zgarn\u0119\u0142a 8 milion\u00f3w dolar\u00f3w finansowania (tym razem od zewn\u0119trznych inwestor\u00f3w).<\/p>\n\n\n\n<p>\u015aledztwo zako\u0144czone sukcesem, wr\u00f3\u0107my wi\u0119c teraz do RedwoodJS. W telegraficznym skr\u00f3cie jest to kolejny fullstackowy framework, kt\u00f3ry ma znacz\u0105co przyspieszy\u0107 rozw\u00f3j produkt\u00f3w. Tym razem nie mamy jednak do czynienia z nowym narz\u0119dziem napisanym od podstaw, a z interesuj\u0105c\u0105 konfiguracj\u0105 ju\u017c istniej\u0105cych narz\u0119dzi. W sk\u0142ad frameworku wchodzi wi\u0119c React, GraphQL, Prisma, TypeScript, Jest i Storybook. Wisienk\u0105 na torcie jest narz\u0119dzie CLI, kt\u00f3re pozwala automatycznie generowa\u0107 komponenty i inne sk\u0142adowe projektu.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-8.gif\" alt=\"\" class=\"wp-image-4171\" width=\"420\" height=\"291\"\/><\/figure><\/div>\n\n\n\n<p>Osobi\u015bcie w RedwoodJS nie dostrzegam nic innowacyjnego, ale ch\u0119tnie us\u0142ysz\u0119 g\u0142os obro\u0144c\u00f3w tego frameworku. Ot kolejny framework, kt\u00f3rego mi\u0142o\u015bnicy z\u0142o\u015bliwych \u017cart\u00f3w b\u0119d\u0105 u\u017cywa\u0107 jako przyk\u0142adu dla rosn\u0105cych jak grzyby po deszczu JavaScriptowych bibliotek.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/tom.preston-werner.com\/2022\/04\/04\/redwood-v1-and-funding.html\">https:\/\/tom.preston-werner.com\/2022\/04\/04\/redwood-v1-and-funding.html<\/a><br><a href=\"https:\/\/www.reddit.com\/r\/javascript\/comments\/tw6vxq\/announcing_redwoodjs_10_and_1m_funding\/\">https:\/\/www.reddit.com\/r\/javascript\/comments\/tw6vxq\/announcing_redwoodjs_10_and_1m_funding\/<\/a><br><a href=\"https:\/\/redwoodjs.com\/docs\/introduction\">https:\/\/redwoodjs.com\/docs\/introduction<\/a><br><a href=\"https:\/\/en.wikipedia.org\/wiki\/Tom_Preston-Werner\">https:\/\/en.wikipedia.org\/wiki\/Tom_Preston-Werner<\/a><\/p>\n\n\n\n<h2 id=\"4-react-native-0-68\" data-num=4>4. React Native 0.68<\/h2>\n\n\n\n<p>Poprzedni\u0105 edycj\u0119 naszego przegl\u0105du zdominowa\u0142a informacja o wydaniu React 18 (je\u015bli jeszcze nie wiecie co nowego przyni\u00f3s\u0142 nowy React to odsy\u0142am Was do <a href=\"https:\/\/vived.io\/frontend-thursday-vol-81-react-18\/\">poprzedniej edycji przegl\u0105du<\/a>), dlatego kolejne wydanie React Native przesz\u0142o troch\u0119 poza naszym radarem. By\u0142o to jednak wydanie na tyle istotne, \u017ce m\u00f3j dziennikarski obowi\u0105zek nie pozwala mi ca\u0142kowicie pomin\u0105\u0107 tego tematu<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"270\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-9.gif\" alt=\"\" class=\"wp-image-4172\"\/><figcaption>Tak w\u0142a\u015bnie si\u0119 czuj\u0119, gdy pisz\u0119 o sobie jako o dziennikarzu<\/figcaption><\/figure><\/div>\n\n\n\n<p>Najwi\u0119ksz\u0105 nowo\u015bci\u0105 w React Native 0.68 jest opcjonalne wsparcie dla ca\u0142kowicie nowego silnika renderowania Fabric. Prace nad silnikiem trwa\u0142y od 2018 roku i obecna aplikacja Facebooka w ca\u0142o\u015bci korzysta ju\u017c w\u0142a\u015bnie z niego. Opr\u00f3cz zwi\u0119kszenia wydajno\u015bci motywacj\u0105 do przepisania silnika by\u0142o odblokowanie wsparcia dla suspend i wsp\u00f3\u0142bie\u017cnego renderowania. Co prawda na razie nowo\u015bci z React 18 nie s\u0105 jeszcze wspierane, ale mo\u017cemy spodziewa\u0107 si\u0119, \u017ce trafi\u0105 one do najbli\u017cszych wyda\u0144 React Native. Je\u015bli jeste\u015bcie ciekawi jak dok\u0142adnie dzia\u0142a nowy silnik, to odsy\u0142am Was do dokumentacji, kt\u00f3r\u0105 znajdziecie w \u017ar\u00f3d\u0142ach. Znajdziecie w niej detale ka\u017cdego z etap\u00f3w renderowania i ca\u0142\u0105 mas\u0119 schemat\u00f3w przedstawiaj\u0105cych spos\u00f3b pracy silnika.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/reactnative.dev\/architecture\/overview\">https:\/\/reactnative.dev\/architecture\/overview<\/a><br><a href=\"https:\/\/reactnative.dev\/blog\/2022\/03\/30\/version-068\">https:\/\/reactnative.dev\/blog\/2022\/03\/30\/version-068<\/a><br><a href=\"https:\/\/reactnative.dev\/blog\/2022\/03\/15\/an-update-on-the-new-architecture-rollout\">https:\/\/reactnative.dev\/blog\/2022\/03\/15\/an-update-on-the-new-architecture-rollout<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Po dw\u00f3ch latach pracy wreszcie mo\u017cemy podziwia\u0107 pierwsze efekty projektu Rome &#8211; nowy formater. Poza tym w minionym tygodniu doczekali\u015bmy si\u0119 sporego ataku na npm i nowego wydania React Native. Rozsi\u0105d\u017acie si\u0119 wygodnie i zapraszamy do lektury!<\/p>\n","protected":false},"author":12,"featured_media":8027,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[273],"tags":[],"class_list":["post-9986","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend-pl"],"acf":{"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/FRONTEND.png","feature_image_visible":false,"estimated_reading_time":"8","feature_image_blog":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Frontend Thursday vol.82 - Rome Formatter, RedwoodJS, React Native 0.68 - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Frontend Thursday vol.82 - Rome Formatter, RedwoodJS, React Native 0.68 - Vived\" \/>\n<meta property=\"og:description\" content=\"Po dw\u00f3ch latach pracy wreszcie mo\u017cemy podziwia\u0107 pierwsze efekty projektu Rome - nowy formater. Poza tym w minionym tygodniu doczekali\u015bmy si\u0119 sporego ataku na npm i nowego wydania React Native. Rozsi\u0105d\u017acie si\u0119 wygodnie i zapraszamy do lektury!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-07T11:09:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:16:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/FRONTEND.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tomasz Borowicz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/FRONTEND.png\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/\"},\"author\":{\"name\":\"Tomasz Borowicz\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#\\\/schema\\\/person\\\/9d2a72fe7d0dfbb4092675afbab742bb\"},\"headline\":\"Frontend Thursday vol.82 &#8211; Rome Formatter, RedwoodJS, React Native 0.68\",\"datePublished\":\"2022-04-07T11:09:44+00:00\",\"dateModified\":\"2022-09-19T11:16:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/\"},\"wordCount\":1622,\"publisher\":{\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/pexels-davi-pimentel-2064827-scaled.jpg\",\"articleSection\":[\"Frontend\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/\",\"url\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/\",\"name\":\"Frontend Thursday vol.82 - Rome Formatter, RedwoodJS, React Native 0.68 - Vived\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/pexels-davi-pimentel-2064827-scaled.jpg\",\"datePublished\":\"2022-04-07T11:09:44+00:00\",\"dateModified\":\"2022-09-19T11:16:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/pexels-davi-pimentel-2064827-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/pexels-davi-pimentel-2064827-scaled.jpg\",\"width\":2560,\"height\":1707},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vived.io\\\/pl\\\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/vived.io\\\/pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frontend Thursday vol.82 &#8211; Rome Formatter, RedwoodJS, React Native 0.68\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#website\",\"url\":\"https:\\\/\\\/3.68.244.71\\\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/3.68.244.71\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#organization\",\"name\":\"Vived\",\"url\":\"https:\\\/\\\/3.68.244.71\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/logo_vived_color.png\",\"contentUrl\":\"https:\\\/\\\/vived.io\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/3.68.244.71\\\/#\\\/schema\\\/person\\\/9d2a72fe7d0dfbb4092675afbab742bb\",\"name\":\"Tomasz Borowicz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g\",\"caption\":\"Tomasz Borowicz\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Frontend Thursday vol.82 - Rome Formatter, RedwoodJS, React Native 0.68 - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/","og_locale":"pl_PL","og_type":"article","og_title":"Frontend Thursday vol.82 - Rome Formatter, RedwoodJS, React Native 0.68 - Vived","og_description":"Po dw\u00f3ch latach pracy wreszcie mo\u017cemy podziwia\u0107 pierwsze efekty projektu Rome - nowy formater. Poza tym w minionym tygodniu doczekali\u015bmy si\u0119 sporego ataku na npm i nowego wydania React Native. Rozsi\u0105d\u017acie si\u0119 wygodnie i zapraszamy do lektury!","og_url":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/","og_site_name":"Vived","article_published_time":"2022-04-07T11:09:44+00:00","article_modified_time":"2022-09-19T11:16:30+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/FRONTEND.png","type":"image\/png"}],"author":"Tomasz Borowicz","twitter_card":"summary_large_image","twitter_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/FRONTEND.png","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/"},"author":{"name":"Tomasz Borowicz","@id":"https:\/\/3.68.244.71\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb"},"headline":"Frontend Thursday vol.82 &#8211; Rome Formatter, RedwoodJS, React Native 0.68","datePublished":"2022-04-07T11:09:44+00:00","dateModified":"2022-09-19T11:16:30+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/"},"wordCount":1622,"publisher":{"@id":"https:\/\/3.68.244.71\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/pexels-davi-pimentel-2064827-scaled.jpg","articleSection":["Frontend"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/","url":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/","name":"Frontend Thursday vol.82 - Rome Formatter, RedwoodJS, React Native 0.68 - Vived","isPartOf":{"@id":"https:\/\/3.68.244.71\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/pexels-davi-pimentel-2064827-scaled.jpg","datePublished":"2022-04-07T11:09:44+00:00","dateModified":"2022-09-19T11:16:30+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/pexels-davi-pimentel-2064827-scaled.jpg","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/pexels-davi-pimentel-2064827-scaled.jpg","width":2560,"height":1707},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-82-rome-formatter-redwoodjs-react-native-0-68\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Frontend Thursday vol.82 &#8211; Rome Formatter, RedwoodJS, React Native 0.68"}]},{"@type":"WebSite","@id":"https:\/\/3.68.244.71\/#website","url":"https:\/\/3.68.244.71\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/3.68.244.71\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/3.68.244.71\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/3.68.244.71\/#organization","name":"Vived","url":"https:\/\/3.68.244.71\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/3.68.244.71\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/3.68.244.71\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/3.68.244.71\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb","name":"Tomasz Borowicz","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g","caption":"Tomasz Borowicz"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>1. Rome Formatter<\/h2>\n","innerContent":["\n<h2>1. Rome Formatter<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Nie od razu Rzym zbudowano i podobnie jest z narz\u0119dziem Rome (wiem, straszny suchar - mo\u017cecie nawil\u017cy\u0107 gard\u0142o odrobin\u0105 wody). Po prawie p\u00f3\u0142tora roku developmentu zesp\u00f3\u0142 odpowiedzialny za rozw\u00f3j projektu podzieli\u0142 si\u0119 ze \u015bwiatem pierwszymi efektami swojej pracy, czyli formaterem JavaScript i TypeScript. Zanim przejdziemy do szczeg\u00f3\u0142\u00f3w, cofnijmy si\u0119 jednak o krok i przyjrzymy czym w\u0142a\u015bciwie jest projekt Rome.<\/p>\n","innerContent":["\n<p>Nie od razu Rzym zbudowano i podobnie jest z narz\u0119dziem Rome (wiem, straszny suchar - mo\u017cecie nawil\u017cy\u0107 gard\u0142o odrobin\u0105 wody). Po prawie p\u00f3\u0142tora roku developmentu zesp\u00f3\u0142 odpowiedzialny za rozw\u00f3j projektu podzieli\u0142 si\u0119 ze \u015bwiatem pierwszymi efektami swojej pracy, czyli formaterem JavaScript i TypeScript. Zanim przejdziemy do szczeg\u00f3\u0142\u00f3w, cofnijmy si\u0119 jednak o krok i przyjrzymy czym w\u0142a\u015bciwie jest projekt Rome.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4165,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsyk.jpeg\" alt=\"\" class=\"wp-image-4165\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsyk.jpeg\" alt=\"\" class=\"wp-image-4165\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Historia Rome zaczyna si\u0119 pocz\u0105tkiem 2020 roku, kiedy to sie\u0107 obieg\u0142y pierwsze informacje o projekcie. Zgodnie z deklaracjami tw\u00f3rc\u00f3w, projekt mia\u0142 po\u0142\u0105czy\u0107 w jednym narz\u0119dziu funkcjonalno\u015bci oferowane przez Babela, ESLinta, webpacka, Prettiera i Jest. Nowe rozwi\u0105zanie mia\u0142o by\u0107 szybsze, \u0142atwiejsze w u\u017cyciu i wymaga\u0107 minimalnej pocz\u0105tkowej konfiguracji. Ca\u0142y frontendowy \u015bwiat czeka\u0142 z niecierpliwo\u015bci\u0105 na pierwsze efekty, bo gdyby obietnice uda\u0142o si\u0119 spe\u0142ni\u0107 to mog\u0142aby to by\u0107 prawdziwa rewolucja.<\/p>\n","innerContent":["\n<p>Historia Rome zaczyna si\u0119 pocz\u0105tkiem 2020 roku, kiedy to sie\u0107 obieg\u0142y pierwsze informacje o projekcie. Zgodnie z deklaracjami tw\u00f3rc\u00f3w, projekt mia\u0142 po\u0142\u0105czy\u0107 w jednym narz\u0119dziu funkcjonalno\u015bci oferowane przez Babela, ESLinta, webpacka, Prettiera i Jest. Nowe rozwi\u0105zanie mia\u0142o by\u0107 szybsze, \u0142atwiejsze w u\u017cyciu i wymaga\u0107 minimalnej pocz\u0105tkowej konfiguracji. Ca\u0142y frontendowy \u015bwiat czeka\u0142 z niecierpliwo\u015bci\u0105 na pierwsze efekty, bo gdyby obietnice uda\u0142o si\u0119 spe\u0142ni\u0107 to mog\u0142aby to by\u0107 prawdziwa rewolucja.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Atmosfer\u0119 wok\u00f3\u0142 projektu podkr\u0119ca\u0142 fakt, \u017ce sta\u0142y za nim znane nazwiska i du\u017ce marki. G\u0142\u00f3wnym deweloperem odpowiedzialnym za rozw\u00f3j by\u0142 Sebastian McKenzie, czyli tw\u00f3rca Babela i wsp\u00f3\u0142tw\u00f3rca Yarna oraz Lerny. Za projektem sta\u0142 r\u00f3wnie\u017c jeden z gigant\u00f3w technologicznych: Facebook. Z takim po\u0142\u0105czeniem projekt wr\u0119cz skazany by\u0142 na sukces. Jak si\u0119 jednak okaza\u0142o bajka nie trwa\u0142a d\u0142ugo.<\/p>\n","innerContent":["\n<p>Atmosfer\u0119 wok\u00f3\u0142 projektu podkr\u0119ca\u0142 fakt, \u017ce sta\u0142y za nim znane nazwiska i du\u017ce marki. G\u0142\u00f3wnym deweloperem odpowiedzialnym za rozw\u00f3j by\u0142 Sebastian McKenzie, czyli tw\u00f3rca Babela i wsp\u00f3\u0142tw\u00f3rca Yarna oraz Lerny. Za projektem sta\u0142 r\u00f3wnie\u017c jeden z gigant\u00f3w technologicznych: Facebook. Z takim po\u0142\u0105czeniem projekt wr\u0119cz skazany by\u0142 na sukces. Jak si\u0119 jednak okaza\u0142o bajka nie trwa\u0142a d\u0142ugo.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W maju 2020 roku Sebastian McKenzie odszed\u0142 z Facebooka i do\u0142\u0105czy\u0142 do zespo\u0142u Discorda. Przez kr\u00f3tk\u0105 chwil\u0119 przysz\u0142o\u015b\u0107 projektu sta\u0142a pod znakiem zapytania, ale szybko og\u0142oszone zosta\u0142o, \u017ce projekt opuszcza skrzyd\u0142a giganta Social Medi\u00f3w i pozostaje w r\u0119kach Sebastiana. Rok p\u00f3\u017aniej McKenzie opu\u015bci\u0142 r\u00f3wnie\u017c szeregi Discorda i og\u0142osi\u0142 za\u0142o\u017cenie firmy Rome Inc. W pierwszej rundzie finansowania zgromadzi\u0142a ona 4.5 miliona dolar\u00f3w, co zwiastowa\u0142o szybki rozw\u00f3j produktu.<\/p>\n","innerContent":["\n<p>W maju 2020 roku Sebastian McKenzie odszed\u0142 z Facebooka i do\u0142\u0105czy\u0142 do zespo\u0142u Discorda. Przez kr\u00f3tk\u0105 chwil\u0119 przysz\u0142o\u015b\u0107 projektu sta\u0142a pod znakiem zapytania, ale szybko og\u0142oszone zosta\u0142o, \u017ce projekt opuszcza skrzyd\u0142a giganta Social Medi\u00f3w i pozostaje w r\u0119kach Sebastiana. Rok p\u00f3\u017aniej McKenzie opu\u015bci\u0142 r\u00f3wnie\u017c szeregi Discorda i og\u0142osi\u0142 za\u0142o\u017cenie firmy Rome Inc. W pierwszej rundzie finansowania zgromadzi\u0142a ona 4.5 miliona dolar\u00f3w, co zwiastowa\u0142o szybki rozw\u00f3j produktu.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4166,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpwby.jpeg\" alt=\"\" class=\"wp-image-4166\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpwby.jpeg\" alt=\"\" class=\"wp-image-4166\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W mi\u0119dzyczasie na popularno\u015bci zacz\u0119\u0142y zyskiwa\u0107 narz\u0119dzia takie jak esbuild czy swc, napisane w niskopoziomowych j\u0119zykach. Rome napisany w TypeScript pod wzgl\u0119dem wydajno\u015bci zacz\u0105\u0142 zostawa\u0107 w tyle za konkurencj\u0105. Wtedy to Sebastian McKenzie og\u0142osi\u0142, \u017ce ca\u0142y projekt zostanie przepisany do Rust. Rzecz jasna oznacza\u0142o to spore spowolnienie rozwoju produktu, ale d\u0142ugoterminowo mia\u0142o zapewni\u0107 du\u017ce zyski wydajno\u015bci.<\/p>\n","innerContent":["\n<p>W mi\u0119dzyczasie na popularno\u015bci zacz\u0119\u0142y zyskiwa\u0107 narz\u0119dzia takie jak esbuild czy swc, napisane w niskopoziomowych j\u0119zykach. Rome napisany w TypeScript pod wzgl\u0119dem wydajno\u015bci zacz\u0105\u0142 zostawa\u0107 w tyle za konkurencj\u0105. Wtedy to Sebastian McKenzie og\u0142osi\u0142, \u017ce ca\u0142y projekt zostanie przepisany do Rust. Rzecz jasna oznacza\u0142o to spore spowolnienie rozwoju produktu, ale d\u0142ugoterminowo mia\u0142o zapewni\u0107 du\u017ce zyski wydajno\u015bci.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Przez kolejne p\u00f3\u0142 roku nad projektem spuszczona zosta\u0142a zas\u0142ona milczenia i w ten spos\u00f3b docieramy do dnia dzisiejszego. Formater napisany w ca\u0142o\u015bci w Rust trafi\u0142 do npm. Je\u015bli chodzi o JavaScriptowe formatery to nie spos\u00f3b unikn\u0105\u0107 odniesie\u0144 do najpopularniejszego obecnie rozwi\u0105zania na rynku, czyli Prettiera. Z wykres\u00f3w zamieszczonych w notatce towarzysz\u0105cej wydaniu, mo\u017cemy dowiedzie\u0107 si\u0119, \u017ce Rome jest prawie 10x szybszy od swojego konkurenta. Wyr\u00f3\u017cnia go te\u017c mo\u017cliwo\u015b\u0107 formatowania niepoprawnego sk\u0142adniowo kodu. Mimo wszystko Prettier nadal pozostaje o krok przed konkurencj\u0105, bo Rome na ten moment nie wspiera jeszcze formatowania JSX oraz TypeScriptowych dekorator\u00f3w.<\/p>\n","innerContent":["\n<p>Przez kolejne p\u00f3\u0142 roku nad projektem spuszczona zosta\u0142a zas\u0142ona milczenia i w ten spos\u00f3b docieramy do dnia dzisiejszego. Formater napisany w ca\u0142o\u015bci w Rust trafi\u0142 do npm. Je\u015bli chodzi o JavaScriptowe formatery to nie spos\u00f3b unikn\u0105\u0107 odniesie\u0144 do najpopularniejszego obecnie rozwi\u0105zania na rynku, czyli Prettiera. Z wykres\u00f3w zamieszczonych w notatce towarzysz\u0105cej wydaniu, mo\u017cemy dowiedzie\u0107 si\u0119, \u017ce Rome jest prawie 10x szybszy od swojego konkurenta. Wyr\u00f3\u017cnia go te\u017c mo\u017cliwo\u015b\u0107 formatowania niepoprawnego sk\u0142adniowo kodu. Mimo wszystko Prettier nadal pozostaje o krok przed konkurencj\u0105, bo Rome na ten moment nie wspiera jeszcze formatowania JSX oraz TypeScriptowych dekorator\u00f3w.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Przegl\u0105daj\u0105c internet w poszukiwaniu opinii na temat Rome, wida\u0107, \u017ce pomimo up\u0142ywu czasu spo\u0142eczno\u015b\u0107 pok\u0142ada w projekcie du\u017ce nadzieje. Ja osobi\u015bcie podchodz\u0119 do tematu troch\u0119 bardziej sceptycznie. Po dw\u00f3ch latach rozwoju i sporym zastrzyku got\u00f3wki w mi\u0119dzyczasie, Rome rozwi\u0105za\u0142 nieistniej\u0105cy problem wolnego formatowania plik\u00f3w. Wi\u0119kszo\u015b\u0107 deweloper\u00f3w podpina Prettiera jako zale\u017cno\u015b\u0107 Ctrl+S lub git commit i do tej pory nie dotar\u0142y do mnie g\u0142osy narzekaj\u0105ce na wydajno\u015b\u0107 takiego rozwi\u0105zania. Pozostaje trzyma\u0107 kciuki, \u017ce rozw\u00f3j Rome w najbli\u017cszym czasie znacz\u0105co przy\u015bpieszy i zacznie on spe\u0142nia\u0107 obietnice z\u0142o\u017cone lata temu.<\/p>\n","innerContent":["\n<p>Przegl\u0105daj\u0105c internet w poszukiwaniu opinii na temat Rome, wida\u0107, \u017ce pomimo up\u0142ywu czasu spo\u0142eczno\u015b\u0107 pok\u0142ada w projekcie du\u017ce nadzieje. Ja osobi\u015bcie podchodz\u0119 do tematu troch\u0119 bardziej sceptycznie. Po dw\u00f3ch latach rozwoju i sporym zastrzyku got\u00f3wki w mi\u0119dzyczasie, Rome rozwi\u0105za\u0142 nieistniej\u0105cy problem wolnego formatowania plik\u00f3w. Wi\u0119kszo\u015b\u0107 deweloper\u00f3w podpina Prettiera jako zale\u017cno\u015b\u0107 Ctrl+S lub git commit i do tej pory nie dotar\u0142y do mnie g\u0142osy narzekaj\u0105ce na wydajno\u015b\u0107 takiego rozwi\u0105zania. Pozostaje trzyma\u0107 kciuki, \u017ce rozw\u00f3j Rome w najbli\u017cszym czasie znacz\u0105co przy\u015bpieszy i zacznie on spe\u0142nia\u0107 obietnice z\u0142o\u017cone lata temu.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/rome.tools\/blog\/2020\/08\/08\/introducing-rome\">https:\/\/rome.tools\/blog\/2020\/08\/08\/introducing-rome<\/a><br><a href=\"https:\/\/rome.tools\/blog\/announcing-rome-tools-inc\/\">https:\/\/rome.tools\/blog\/announcing-rome-tools-inc\/<\/a><br><a href=\"https:\/\/rome.tools\/blog\/2021\/09\/21\/rome-will-be-rewritten-in-rust\">https:\/\/rome.tools\/blog\/2021\/09\/21\/rome-will-be-rewritten-in-rust<\/a><br><a href=\"https:\/\/rome.tools\/blog\/2022\/04\/05\/rome-formatter-release\">https:\/\/rome.tools\/blog\/2022\/04\/05\/rome-formatter-release<\/a><br><a href=\"https:\/\/www.crunchbase.com\/organization\/rome-labs\/company_financials\">https:\/\/www.crunchbase.com\/organization\/rome-labs\/company_financials<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/rome.tools\/blog\/2020\/08\/08\/introducing-rome\">https:\/\/rome.tools\/blog\/2020\/08\/08\/introducing-rome<\/a><br><a href=\"https:\/\/rome.tools\/blog\/announcing-rome-tools-inc\/\">https:\/\/rome.tools\/blog\/announcing-rome-tools-inc\/<\/a><br><a href=\"https:\/\/rome.tools\/blog\/2021\/09\/21\/rome-will-be-rewritten-in-rust\">https:\/\/rome.tools\/blog\/2021\/09\/21\/rome-will-be-rewritten-in-rust<\/a><br><a href=\"https:\/\/rome.tools\/blog\/2022\/04\/05\/rome-formatter-release\">https:\/\/rome.tools\/blog\/2022\/04\/05\/rome-formatter-release<\/a><br><a href=\"https:\/\/www.crunchbase.com\/organization\/rome-labs\/company_financials\">https:\/\/www.crunchbase.com\/organization\/rome-labs\/company_financials<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. Kolejna fala z\u0142o\u015bliwych paczek w npm<\/h2>\n","innerContent":["\n<h2>2. Kolejna fala z\u0142o\u015bliwych paczek w npm<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ten rok nie jest najlepszy je\u015bli chodzi o security w npm. Ci\u0119\u017cko znale\u017a\u0107 miesi\u0105c, w kt\u00f3rym internetu nie odbiega\u0142by informacja o pojawieniu si\u0119 z\u0142o\u015bliwych paczek. Kilka tygodni temu Artur <a href=\"https:\/\/vived.io\/software-craftsmanship-saturday-vol-80-nowe-go-fuchsia-os-node-icp-przeprowadza-atak-supply-chain\/\">w 80 sobotniej edycji naszego przegl\u0105du<\/a> raportowa\u0142 Wam o ataku Supply-Chain na paczk\u0119 node-icp, na kt\u00f3rym ucierpia\u0142 mi\u0119dzy innymi Vue. Niewiele wcze\u015bniej internet obieg\u0142a informacja o milionie pobra\u0144 paczki \u2018-\u2019. W tym przypadku na szcz\u0119\u015bcie nie mieli\u015bmy do czynienia z atakiem, a z deweloperem zaciekawionym polityk\u0105 nazewnictwa paczek w npm.<\/p>\n","innerContent":["\n<p>Ten rok nie jest najlepszy je\u015bli chodzi o security w npm. Ci\u0119\u017cko znale\u017a\u0107 miesi\u0105c, w kt\u00f3rym internetu nie odbiega\u0142by informacja o pojawieniu si\u0119 z\u0142o\u015bliwych paczek. Kilka tygodni temu Artur <a href=\"https:\/\/vived.io\/software-craftsmanship-saturday-vol-80-nowe-go-fuchsia-os-node-icp-przeprowadza-atak-supply-chain\/\">w 80 sobotniej edycji naszego przegl\u0105du<\/a> raportowa\u0142 Wam o ataku Supply-Chain na paczk\u0119 node-icp, na kt\u00f3rym ucierpia\u0142 mi\u0119dzy innymi Vue. Niewiele wcze\u015bniej internet obieg\u0142a informacja o milionie pobra\u0144 paczki \u2018-\u2019. W tym przypadku na szcz\u0119\u015bcie nie mieli\u015bmy do czynienia z atakiem, a z deweloperem zaciekawionym polityk\u0105 nazewnictwa paczek w npm.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4167,"width":638,"height":359,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6auqav.jpeg\" alt=\"\" class=\"wp-image-4167\" width=\"638\" height=\"359\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6auqav.jpeg\" alt=\"\" class=\"wp-image-4167\" width=\"638\" height=\"359\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jak si\u0119 pewnie domy\u015blacie pisz\u0119 o tym nie bez przyczyny. W minionym tygodniu wykryty zosta\u0142 atak na pakiety npm umieszczone w scope @azure. Hakerzy wykorzystali skrypt automatycznie tworzy nowe konta npm i za ich pomoc\u0105 opublikowali w repozytorium 218 paczek o takich samych nazwach jak te umieszczone w scope @azure, ale pozbawionych odpowiedniego przedrostka (np. @azure\/core-tracing vs. core-tracing). Z\u0142o\u015bliwe paczki mia\u0142y na celu pozyskanie informacji personalnych u\u017cytkownik\u00f3w. Przez nieuwag\u0119 programist\u00f3w ka\u017cda z paczek posiada\u0142a oko\u0142o 50 pobra\u0144. Po wykryciu ataku npm podj\u0105\u0142 decyzj\u0119 o wycofaniu paczek.<\/p>\n","innerContent":["\n<p>Jak si\u0119 pewnie domy\u015blacie pisz\u0119 o tym nie bez przyczyny. W minionym tygodniu wykryty zosta\u0142 atak na pakiety npm umieszczone w scope @azure. Hakerzy wykorzystali skrypt automatycznie tworzy nowe konta npm i za ich pomoc\u0105 opublikowali w repozytorium 218 paczek o takich samych nazwach jak te umieszczone w scope @azure, ale pozbawionych odpowiedniego przedrostka (np. @azure\/core-tracing vs. core-tracing). Z\u0142o\u015bliwe paczki mia\u0142y na celu pozyskanie informacji personalnych u\u017cytkownik\u00f3w. Przez nieuwag\u0119 programist\u00f3w ka\u017cda z paczek posiada\u0142a oko\u0142o 50 pobra\u0144. Po wykryciu ataku npm podj\u0105\u0142 decyzj\u0119 o wycofaniu paczek.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4168,"width":629,"height":345,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsht.jpeg\" alt=\"\" class=\"wp-image-4168\" width=\"629\" height=\"345\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/6bpsht.jpeg\" alt=\"\" class=\"wp-image-4168\" width=\"629\" height=\"345\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/thehackernews.com\/2022\/03\/over-200-malicious-npm-packages-caught.html\">https:\/\/thehackernews.com\/2022\/03\/over-200-malicious-npm-packages-caught.html<\/a><br><a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/<\/a><br><a href=\"https:\/\/security.snyk.io\/vuln\/SNYK-JS-NODEIPC-2426370\">https:\/\/security.snyk.io\/vuln\/SNYK-JS-NODEIPC-2426370<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/thehackernews.com\/2022\/03\/over-200-malicious-npm-packages-caught.html\">https:\/\/thehackernews.com\/2022\/03\/over-200-malicious-npm-packages-caught.html<\/a><br><a href=\"https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/\">https:\/\/www.bleepingcomputer.com\/news\/software\/empty-npm-package-has-over-700-000-downloads-heres-why\/<\/a><br><a href=\"https:\/\/security.snyk.io\/vuln\/SNYK-JS-NODEIPC-2426370\">https:\/\/security.snyk.io\/vuln\/SNYK-JS-NODEIPC-2426370<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. RedwoodJS zgarnia milion dolar\u00f3w<\/h2>\n","innerContent":["\n<h2>3. RedwoodJS zgarnia milion dolar\u00f3w<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>S\u0142yszeli\u015bcie kiedy\u015b o RedwoodJS? Ja r\u00f3wnie\u017c nigdy o nim nie s\u0142ysza\u0142em, wi\u0119c kiedy zobaczy\u0142em \u017ce post na Reddicie dotycz\u0105cy finansowania projektu zbiera mas\u0119 \u0142apek w g\u00f3r\u0119 by\u0142em mocno zdziwiony. Od razu obudzi\u0142a si\u0119 we mnie nutka detektywa i rozpocz\u0105\u0142em \u015bledztwo.<\/p>\n","innerContent":["\n<p>S\u0142yszeli\u015bcie kiedy\u015b o RedwoodJS? Ja r\u00f3wnie\u017c nigdy o nim nie s\u0142ysza\u0142em, wi\u0119c kiedy zobaczy\u0142em \u017ce post na Reddicie dotycz\u0105cy finansowania projektu zbiera mas\u0119 \u0142apek w g\u00f3r\u0119 by\u0142em mocno zdziwiony. Od razu obudzi\u0142a si\u0119 we mnie nutka detektywa i rozpocz\u0105\u0142em \u015bledztwo.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4169,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-5.gif\" alt=\"\" class=\"wp-image-4169\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-5.gif\" alt=\"\" class=\"wp-image-4169\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W\u0142a\u015bciwie od razu uda\u0142o mi si\u0119 zweryfikowa\u0107, \u017ce informacja o zagarni\u0119ciu finansowania w wysoko\u015bci miliona dolar\u00f3w jest lekko przesadzona. Sama kwota jest prawdziwa, ale finansowanie pochodzi od autora frameworka - Toma Preston-Werner. Nie m\u00f3wimy tu wi\u0119c o zewn\u0119trznych inwestorach, kt\u00f3rzy dostrzegli w projekcie potencja\u0142, a o bogatym deweloperze, kt\u00f3ry najwidoczniej wierzy w sw\u00f3j produkt. O komfortowej pozycji projektu najlepiej \u015bwiadczy fakt, \u017ce nie posiada on \u017cadnego planu biznesowego i zamierza skupi\u0107 si\u0119 na stworzeniu mo\u017cliwie najlepszego rozwi\u0105zania dla startup\u00f3w.<\/p>\n","innerContent":["\n<p>W\u0142a\u015bciwie od razu uda\u0142o mi si\u0119 zweryfikowa\u0107, \u017ce informacja o zagarni\u0119ciu finansowania w wysoko\u015bci miliona dolar\u00f3w jest lekko przesadzona. Sama kwota jest prawdziwa, ale finansowanie pochodzi od autora frameworka - Toma Preston-Werner. Nie m\u00f3wimy tu wi\u0119c o zewn\u0119trznych inwestorach, kt\u00f3rzy dostrzegli w projekcie potencja\u0142, a o bogatym deweloperze, kt\u00f3ry najwidoczniej wierzy w sw\u00f3j produkt. O komfortowej pozycji projektu najlepiej \u015bwiadczy fakt, \u017ce nie posiada on \u017cadnego planu biznesowego i zamierza skupi\u0107 si\u0119 na stworzeniu mo\u017cliwie najlepszego rozwi\u0105zania dla startup\u00f3w.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Sk\u0105d Tom Preston-Werner posiada fundusze, kt\u00f3re pozwalaj\u0105 mu z czyst\u0105 g\u0142ow\u0105 zainwestowa\u0107 tak\u0105 kwot\u0119 w sw\u00f3j pet project? Na przestrzeni lat Tom zaanga\u017cowany by\u0142 w wiele startup\u00f3w, kt\u00f3re odnios\u0142y sukces. Najbardziej znanym ze wszystkich jest GitHub, gdzie w latach 2008-2014 pe\u0142ni\u0142 on rol\u0119 CEO. Niestety przygoda z najpopularniejszym repozytorium Git nie mia\u0142a szcz\u0119\u015bliwego zako\u0144czenia. W 2014 roku wobec Toma i jego \u017cony wytoczone zosta\u0142y zarzuty o n\u0119kanie jednej z pracownic. Wewn\u0119trzne \u015bledztwo wykaza\u0142o, \u017ce zarzuty nie by\u0142y bezpodstawne i CEO zmuszony zosta\u0142 z\u0142o\u017cy\u0107 wypowiedzenie.<\/p>\n","innerContent":["\n<p>Sk\u0105d Tom Preston-Werner posiada fundusze, kt\u00f3re pozwalaj\u0105 mu z czyst\u0105 g\u0142ow\u0105 zainwestowa\u0107 tak\u0105 kwot\u0119 w sw\u00f3j pet project? Na przestrzeni lat Tom zaanga\u017cowany by\u0142 w wiele startup\u00f3w, kt\u00f3re odnios\u0142y sukces. Najbardziej znanym ze wszystkich jest GitHub, gdzie w latach 2008-2014 pe\u0142ni\u0142 on rol\u0119 CEO. Niestety przygoda z najpopularniejszym repozytorium Git nie mia\u0142a szcz\u0119\u015bliwego zako\u0144czenia. W 2014 roku wobec Toma i jego \u017cony wytoczone zosta\u0142y zarzuty o n\u0119kanie jednej z pracownic. Wewn\u0119trzne \u015bledztwo wykaza\u0142o, \u017ce zarzuty nie by\u0142y bezpodstawne i CEO zmuszony zosta\u0142 z\u0142o\u017cy\u0107 wypowiedzenie.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4170,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-6.gif\" alt=\"\" class=\"wp-image-4170\"\/><figcaption>Pomimo sporej liczby \u0142apek w g\u00f3r\u0119, w trakcie pisania tego artyku\u0142u moderacja postanowi\u0142a usun\u0105\u0107 z Reddita post dotycz\u0105cy RedwoodJS. Czy usuni\u0119cie mia\u0142o co\u015b wsp\u00f3lnego z wydarzeniami z 2014 roku? Nie wiem, cho\u0107 si\u0119 domy\u015blam.<\/figcaption><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-6.gif\" alt=\"\" class=\"wp-image-4170\"\/><figcaption>Pomimo sporej liczby \u0142apek w g\u00f3r\u0119, w trakcie pisania tego artyku\u0142u moderacja postanowi\u0142a usun\u0105\u0107 z Reddita post dotycz\u0105cy RedwoodJS. Czy usuni\u0119cie mia\u0142o co\u015b wsp\u00f3lnego z wydarzeniami z 2014 roku? Nie wiem, cho\u0107 si\u0119 domy\u015blam.<\/figcaption><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Na przestrzeni swojej kariery Tom Preston-Werner zgromadzi\u0142 poka\u017an\u0105 sum\u0119. W 2016 roku znalaz\u0142 si\u0119 na 36. miejscu listy America's Richest Entrepreneurs Under 40 magazynu Forbes, z maj\u0105tkiem o warto\u015bci 310 milion\u00f3w dolar\u00f3w. Po opuszczeniu GitHuba by\u0142y CEO zaj\u0105\u0142 si\u0119 rozwojem aplikacji do nauki j\u0119zyk\u00f3w, kt\u00f3ra w 2018 roku zgarn\u0119\u0142a 8 milion\u00f3w dolar\u00f3w finansowania (tym razem od zewn\u0119trznych inwestor\u00f3w).<\/p>\n","innerContent":["\n<p>Na przestrzeni swojej kariery Tom Preston-Werner zgromadzi\u0142 poka\u017an\u0105 sum\u0119. W 2016 roku znalaz\u0142 si\u0119 na 36. miejscu listy America's Richest Entrepreneurs Under 40 magazynu Forbes, z maj\u0105tkiem o warto\u015bci 310 milion\u00f3w dolar\u00f3w. Po opuszczeniu GitHuba by\u0142y CEO zaj\u0105\u0142 si\u0119 rozwojem aplikacji do nauki j\u0119zyk\u00f3w, kt\u00f3ra w 2018 roku zgarn\u0119\u0142a 8 milion\u00f3w dolar\u00f3w finansowania (tym razem od zewn\u0119trznych inwestor\u00f3w).<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>\u015aledztwo zako\u0144czone sukcesem, wr\u00f3\u0107my wi\u0119c teraz do RedwoodJS. W telegraficznym skr\u00f3cie jest to kolejny fullstackowy framework, kt\u00f3ry ma znacz\u0105co przyspieszy\u0107 rozw\u00f3j produkt\u00f3w. Tym razem nie mamy jednak do czynienia z nowym narz\u0119dziem napisanym od podstaw, a z interesuj\u0105c\u0105 konfiguracj\u0105 ju\u017c istniej\u0105cych narz\u0119dzi. W sk\u0142ad frameworku wchodzi wi\u0119c React, GraphQL, Prisma, TypeScript, Jest i Storybook. Wisienk\u0105 na torcie jest narz\u0119dzie CLI, kt\u00f3re pozwala automatycznie generowa\u0107 komponenty i inne sk\u0142adowe projektu.<\/p>\n","innerContent":["\n<p>\u015aledztwo zako\u0144czone sukcesem, wr\u00f3\u0107my wi\u0119c teraz do RedwoodJS. W telegraficznym skr\u00f3cie jest to kolejny fullstackowy framework, kt\u00f3ry ma znacz\u0105co przyspieszy\u0107 rozw\u00f3j produkt\u00f3w. Tym razem nie mamy jednak do czynienia z nowym narz\u0119dziem napisanym od podstaw, a z interesuj\u0105c\u0105 konfiguracj\u0105 ju\u017c istniej\u0105cych narz\u0119dzi. W sk\u0142ad frameworku wchodzi wi\u0119c React, GraphQL, Prisma, TypeScript, Jest i Storybook. Wisienk\u0105 na torcie jest narz\u0119dzie CLI, kt\u00f3re pozwala automatycznie generowa\u0107 komponenty i inne sk\u0142adowe projektu.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4171,"width":420,"height":291,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-8.gif\" alt=\"\" class=\"wp-image-4171\" width=\"420\" height=\"291\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-8.gif\" alt=\"\" class=\"wp-image-4171\" width=\"420\" height=\"291\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Osobi\u015bcie w RedwoodJS nie dostrzegam nic innowacyjnego, ale ch\u0119tnie us\u0142ysz\u0119 g\u0142os obro\u0144c\u00f3w tego frameworku. Ot kolejny framework, kt\u00f3rego mi\u0142o\u015bnicy z\u0142o\u015bliwych \u017cart\u00f3w b\u0119d\u0105 u\u017cywa\u0107 jako przyk\u0142adu dla rosn\u0105cych jak grzyby po deszczu JavaScriptowych bibliotek.<\/p>\n","innerContent":["\n<p>Osobi\u015bcie w RedwoodJS nie dostrzegam nic innowacyjnego, ale ch\u0119tnie us\u0142ysz\u0119 g\u0142os obro\u0144c\u00f3w tego frameworku. Ot kolejny framework, kt\u00f3rego mi\u0142o\u015bnicy z\u0142o\u015bliwych \u017cart\u00f3w b\u0119d\u0105 u\u017cywa\u0107 jako przyk\u0142adu dla rosn\u0105cych jak grzyby po deszczu JavaScriptowych bibliotek.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/tom.preston-werner.com\/2022\/04\/04\/redwood-v1-and-funding.html\">https:\/\/tom.preston-werner.com\/2022\/04\/04\/redwood-v1-and-funding.html<\/a><br><a href=\"https:\/\/www.reddit.com\/r\/javascript\/comments\/tw6vxq\/announcing_redwoodjs_10_and_1m_funding\/\">https:\/\/www.reddit.com\/r\/javascript\/comments\/tw6vxq\/announcing_redwoodjs_10_and_1m_funding\/<\/a><br><a href=\"https:\/\/redwoodjs.com\/docs\/introduction\">https:\/\/redwoodjs.com\/docs\/introduction<\/a><br><a href=\"https:\/\/en.wikipedia.org\/wiki\/Tom_Preston-Werner\">https:\/\/en.wikipedia.org\/wiki\/Tom_Preston-Werner<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/tom.preston-werner.com\/2022\/04\/04\/redwood-v1-and-funding.html\">https:\/\/tom.preston-werner.com\/2022\/04\/04\/redwood-v1-and-funding.html<\/a><br><a href=\"https:\/\/www.reddit.com\/r\/javascript\/comments\/tw6vxq\/announcing_redwoodjs_10_and_1m_funding\/\">https:\/\/www.reddit.com\/r\/javascript\/comments\/tw6vxq\/announcing_redwoodjs_10_and_1m_funding\/<\/a><br><a href=\"https:\/\/redwoodjs.com\/docs\/introduction\">https:\/\/redwoodjs.com\/docs\/introduction<\/a><br><a href=\"https:\/\/en.wikipedia.org\/wiki\/Tom_Preston-Werner\">https:\/\/en.wikipedia.org\/wiki\/Tom_Preston-Werner<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>4. React Native 0.68<\/h2>\n","innerContent":["\n<h2>4. React Native 0.68<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Poprzedni\u0105 edycj\u0119 naszego przegl\u0105du zdominowa\u0142a informacja o wydaniu React 18 (je\u015bli jeszcze nie wiecie co nowego przyni\u00f3s\u0142 nowy React to odsy\u0142am Was do <a href=\"https:\/\/vived.io\/frontend-thursday-vol-81-react-18\/\">poprzedniej edycji przegl\u0105du<\/a>), dlatego kolejne wydanie React Native przesz\u0142o troch\u0119 poza naszym radarem. By\u0142o to jednak wydanie na tyle istotne, \u017ce m\u00f3j dziennikarski obowi\u0105zek nie pozwala mi ca\u0142kowicie pomin\u0105\u0107 tego tematu<\/p>\n","innerContent":["\n<p>Poprzedni\u0105 edycj\u0119 naszego przegl\u0105du zdominowa\u0142a informacja o wydaniu React 18 (je\u015bli jeszcze nie wiecie co nowego przyni\u00f3s\u0142 nowy React to odsy\u0142am Was do <a href=\"https:\/\/vived.io\/frontend-thursday-vol-81-react-18\/\">poprzedniej edycji przegl\u0105du<\/a>), dlatego kolejne wydanie React Native przesz\u0142o troch\u0119 poza naszym radarem. By\u0142o to jednak wydanie na tyle istotne, \u017ce m\u00f3j dziennikarski obowi\u0105zek nie pozwala mi ca\u0142kowicie pomin\u0105\u0107 tego tematu<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":4172,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-9.gif\" alt=\"\" class=\"wp-image-4172\"\/><figcaption>Tak w\u0142a\u015bnie si\u0119 czuj\u0119, gdy pisz\u0119 o sobie jako o dziennikarzu<\/figcaption><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/04\/giphy-9.gif\" alt=\"\" class=\"wp-image-4172\"\/><figcaption>Tak w\u0142a\u015bnie si\u0119 czuj\u0119, gdy pisz\u0119 o sobie jako o dziennikarzu<\/figcaption><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Najwi\u0119ksz\u0105 nowo\u015bci\u0105 w React Native 0.68 jest opcjonalne wsparcie dla ca\u0142kowicie nowego silnika renderowania Fabric. Prace nad silnikiem trwa\u0142y od 2018 roku i obecna aplikacja Facebooka w ca\u0142o\u015bci korzysta ju\u017c w\u0142a\u015bnie z niego. Opr\u00f3cz zwi\u0119kszenia wydajno\u015bci motywacj\u0105 do przepisania silnika by\u0142o odblokowanie wsparcia dla suspend i wsp\u00f3\u0142bie\u017cnego renderowania. Co prawda na razie nowo\u015bci z React 18 nie s\u0105 jeszcze wspierane, ale mo\u017cemy spodziewa\u0107 si\u0119, \u017ce trafi\u0105 one do najbli\u017cszych wyda\u0144 React Native. Je\u015bli jeste\u015bcie ciekawi jak dok\u0142adnie dzia\u0142a nowy silnik, to odsy\u0142am Was do dokumentacji, kt\u00f3r\u0105 znajdziecie w \u017ar\u00f3d\u0142ach. Znajdziecie w niej detale ka\u017cdego z etap\u00f3w renderowania i ca\u0142\u0105 mas\u0119 schemat\u00f3w przedstawiaj\u0105cych spos\u00f3b pracy silnika.<\/p>\n","innerContent":["\n<p>Najwi\u0119ksz\u0105 nowo\u015bci\u0105 w React Native 0.68 jest opcjonalne wsparcie dla ca\u0142kowicie nowego silnika renderowania Fabric. Prace nad silnikiem trwa\u0142y od 2018 roku i obecna aplikacja Facebooka w ca\u0142o\u015bci korzysta ju\u017c w\u0142a\u015bnie z niego. Opr\u00f3cz zwi\u0119kszenia wydajno\u015bci motywacj\u0105 do przepisania silnika by\u0142o odblokowanie wsparcia dla suspend i wsp\u00f3\u0142bie\u017cnego renderowania. Co prawda na razie nowo\u015bci z React 18 nie s\u0105 jeszcze wspierane, ale mo\u017cemy spodziewa\u0107 si\u0119, \u017ce trafi\u0105 one do najbli\u017cszych wyda\u0144 React Native. Je\u015bli jeste\u015bcie ciekawi jak dok\u0142adnie dzia\u0142a nowy silnik, to odsy\u0142am Was do dokumentacji, kt\u00f3r\u0105 znajdziecie w \u017ar\u00f3d\u0142ach. Znajdziecie w niej detale ka\u017cdego z etap\u00f3w renderowania i ca\u0142\u0105 mas\u0119 schemat\u00f3w przedstawiaj\u0105cych spos\u00f3b pracy silnika.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/reactnative.dev\/architecture\/overview\">https:\/\/reactnative.dev\/architecture\/overview<\/a><br><a href=\"https:\/\/reactnative.dev\/blog\/2022\/03\/30\/version-068\">https:\/\/reactnative.dev\/blog\/2022\/03\/30\/version-068<\/a><br><a href=\"https:\/\/reactnative.dev\/blog\/2022\/03\/15\/an-update-on-the-new-architecture-rollout\">https:\/\/reactnative.dev\/blog\/2022\/03\/15\/an-update-on-the-new-architecture-rollout<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/reactnative.dev\/architecture\/overview\">https:\/\/reactnative.dev\/architecture\/overview<\/a><br><a href=\"https:\/\/reactnative.dev\/blog\/2022\/03\/30\/version-068\">https:\/\/reactnative.dev\/blog\/2022\/03\/30\/version-068<\/a><br><a href=\"https:\/\/reactnative.dev\/blog\/2022\/03\/15\/an-update-on-the-new-architecture-rollout\">https:\/\/reactnative.dev\/blog\/2022\/03\/15\/an-update-on-the-new-architecture-rollout<\/a><\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9986","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=9986"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9986\/revisions"}],"predecessor-version":[{"id":10511,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9986\/revisions\/10511"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/8027"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=9986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=9986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=9986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}