{"id":10152,"date":"2021-04-15T11:48:00","date_gmt":"2021-04-15T09:48:00","guid":{"rendered":"https:\/\/vived.io\/frontend-thursday-vol-33\/"},"modified":"2022-09-19T13:16:43","modified_gmt":"2022-09-19T11:16:43","slug":"frontend-thursday-vol-33","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/","title":{"rendered":"Frontend Thursday vol. 33"},"content":{"rendered":"<h1 id=\"1-brave-blokuje-floc\">1. Brave blokuje FLoC<\/h1>\n<p>Temat FLoC by\u0142 ju\u017c poruszany przez Artura w jednym z sobotnich przegl\u0105d\u00f3w, ale postaram si\u0119 w dw\u00f3ch zdaniach przypomnie\u0107 Wam, o co chodzi. Od jakiego\u015b czasu przegl\u0105darki wprowadzaj\u0105 bardziej restrykcyjnej polityki blokowania ciasteczek stron trzecich i ma to oczywi\u015bcie zwi\u0105zek z walk\u0105 z \u015bledzeniem u\u017cytkownik\u00f3w mi\u0119dzy stronami. Google chc\u0105c pogodzi\u0107 interesy zar\u00f3wno u\u017cytkownik\u00f3w jak i reklamodawc\u00f3w, zaproponowa\u0142 algorytm, kt\u00f3ry po stronie klienta analizuje histori\u0119 przegl\u0105dania i przypisuje u\u017cytkownika do odpowiedniej kohorty. W ten spos\u00f3b dane o aktywno\u015bci u\u017cytkownika nigdy nie opuszczaj\u0105 jego przegl\u0105darki, a reklamodawcy nie trac\u0105 mo\u017cliwo\u015bci dobrego targetowania swoich reklam.<\/p>\n<p>Na papierze plan brzmi ca\u0142kiem nie\u017ale, ale je\u015bli zag\u0142\u0119bi\u0107 si\u0119 w szczeg\u00f3\u0142y, to okazuje si\u0119, \u017ce posiada on kilka wad. Do tej pory, je\u015bli dana strona chcia\u0142a jednoznacznie zidentyfikowa\u0107 u\u017cytkownika, to prawdopodobnie musia\u0142a przeanalizowa\u0107 kilka milion\u00f3w rekord\u00f3w. Teraz (FLoC ju\u017c testowany na niekt\u00f3rych u\u017cytkownikach Chrome. Mo\u017cecie sprawdzi\u0107, czy jeste\u015bcie jednym z nich <a href=\"https:\/\/amifloced.org\/\">tutaj<\/a>) liczba ta zmniejszy si\u0119 do kilku tysi\u0119cy, bo strony b\u0119d\u0105 mog\u0142y odczyta\u0107 id kohorty i w ten spos\u00f3b mocno zaw\u0119zi\u0107 obszar poszukiwa\u0144. Ponadto, je\u015bli na stronie logujemy si\u0119 za pomoc\u0105 maila, to natychmiast b\u0119dzie ona w stanie powi\u0105za\u0107 nas z naszymi zainteresowaniami, a nawet zapisa\u0107 je u siebie na serwerze.<\/p>\n<p>Na koniec zostawi\u0142em argument moim zdaniem najci\u0119\u017cszy, kt\u00f3ry naprawd\u0119 sk\u0142oni\u0142 mnie do zastanowienia. FLoC domy\u015blnie analizuje wszystkie strony na jakie wchodzimy, a to oznacza, \u017ce algorytm \u015bledzi nasz\u0105 aktywno\u015b\u0107 r\u00f3wnie\u017c na stronach rz\u0105dowych, czy takich zwi\u0105zanych z nasz\u0105 histori\u0105 medyczn\u0105. Targetowanie reklam pod na przyk\u0142ad osoby chore na HIV brzmi ju\u017c dla mnie jak scenariusz ponurego filmu science-fiction. W \u015bwiecie ciasteczek taki scenariusz r\u00f3wnie\u017c m\u00f3g\u0142 mie\u0107 miejsce, ale wymaga\u0142 od w\u0142a\u015bcicieli stron dodania odpowiedniego kodu. Teraz b\u0119dzie si\u0119 to dzia\u0142o domy\u015blnie i to w\u0142a\u015bnie jest najbardziej przera\u017caj\u0105ce<\/p>\n<figure class=\"kg-card kg-code-card\">\n<pre><code>Permissions-policy: interest-cohort()<\/code><\/pre><figcaption>FLoC da si\u0119 wy\u0142\u0105czy\u0107 dodaj\u0105c do odpowiedzi HTTP powy\u017cszy nag\u0142\u00f3wek. Kluczowe pytanie brzmi kiedy i czy strony z wra\u017cliwymi informacjami zaczn\u0105 z niego korzysta\u0107<\/figcaption><\/figure>\n<p>FLoC mo\u017ce wydawa\u0107 si\u0119 troch\u0119 odgrzewanym tematem, ale wracamy do niego, bo zar\u00f3wno Brave jak i DuckDuckGo wyrazi\u0142y w minionym tygodniu sw\u00f3j sprzeciw dla tego algorytmu. Na ten moment FLoC da si\u0119 wy\u0142\u0105czy\u0107 przez wy\u0142\u0105czenie \u015bledzenia ciasteczek stron trzecich. Mo\u017cecie te\u017c przesi\u0105\u015b\u0107 si\u0119 na dowoln\u0105 inn\u0105 przegl\u0105dark\u0119 (ja prywatnie od jakiego\u015b czasu u\u017cywam Brave i od co najmniej p\u00f3\u0142 roku nie natrafi\u0142em na uprzykrzaj\u0105ce \u017cycie b\u0142\u0119dy).<\/p>\n<h2 id=\"zrodla\" data-num=1>\u0179r\u00f3d\u0142a:<\/h2>\n<p><a href=\"https:\/\/brave.com\/why-brave-disables-floc\/\">https:\/\/brave.com\/why-brave-disables-floc\/<\/a><br \/><a href=\"https:\/\/www.eff.org\/deeplinks\/2021\/03\/googles-floc-terrible-idea\">https:\/\/www.eff.org\/deeplinks\/2021\/03\/googles-floc-terrible-idea<\/a><\/p>\n<h1 id=\"2-chrome-90\">2. Chrome 90<\/h1>\n<p>W tym tygodniu \u015bwiat\u0142o dzienne ujrza\u0142a kolejna wersja Chrome\u2019a z paczk\u0105 nowych funkcji. Do CSS-\u00f3w trafi\u0142o `overflow: clip`, kt\u00f3re umo\u017cliwia ca\u0142kowite wy\u0142\u0105czenie scrolla. Feature Policy zosta\u0142o przemianowane na Permissions Policy. Shadow Dom zosta\u0142 wzbogacony o opcj\u0119 deklaratywn\u0105 i mo\u017cna go od teraz wykorzystywa\u0107 bez u\u017cycia JavaScriptu (co ma pozwoli\u0107 na Server Side Rendering). Prawdopodobnie nie zajmowa\u0142bym Waszego cennego czasu tymi informacjami, gdyby nie jeszcze jedna istotna zmiana. Od wersji 90 Chrome b\u0119dzie domy\u015blnie wykorzystywa\u0142 protok\u00f3\u0142 HTTPS. Oznacza to szybsze \u0142adowanie stron (do tej pory, je\u015bli nie zdefiniowali\u015bcie w przegl\u0105darce protoko\u0142u, to korzysta\u0142a ona z HTTP i dopiero serwery aplikacji odpowiedzialne by\u0142y za przekierowania na HTTPS) oraz popraw\u0119 bezpiecze\u0144stwa. Pozostaje tylko jedno pytanie: jak to mo\u017cliwe, \u017ce dzieje si\u0119 to dopiero teraz?<\/p>\n<h2 id=\"zrodla\" data-num=2>\u0179r\u00f3d\u0142a:<\/h2>\n<p><a href=\"https:\/\/developer.chrome.com\/blog\/new-in-chrome-90\/\">https:\/\/developer.chrome.com\/blog\/new-in-chrome-90\/<\/a><br \/><a href=\"https:\/\/www.engadget.com\/chrome-90-https-secure-browsing-031843815.html\">https:\/\/www.engadget.com\/chrome-90-https-secure-browsing-031843815.html<\/a><\/p>\n<h1 id=\"3-angular-12-b%C4%99dzie-u%C5%BCywa%C5%82-webpack-5\">3. Angular 12 b\u0119dzie u\u017cywa\u0142 Webpack 5<\/h1>\n<p>Na koniec mam smaczek dla wszystkich fan\u00f3w Angulara. Od wersji 12 framework od Google u\u017cywa\u0142 b\u0119dzie Webpacka w wersji 5. To, co w zwi\u0105zku z tym dotknie ka\u017cdego dewelopera, to na pewno poprawione czasy budowania aplikacji. Co jest zdecydowanie ciekawsze to wsparcie dla Module Federation. Module Federation w uproszczeniu umo\u017cliwia nam zaimportowanie komponentu z innej aplikacji, a Webpack zajmie si\u0119 za \u00a0nas zaci\u0105gni\u0119ciem wszystkich potrzebnych zale\u017cno\u015bci (je\u015bli chcecie troch\u0119 zg\u0142\u0119bi\u0107 temat, to gor\u0105co polecam ten <a href=\"https:\/\/betterprogramming.pub\/micro-frontends-using-webpack-5-module-federation-3b97ffb22a0d\">artyku\u0142<\/a>) . Je\u015bli brzmi to dla was dok\u0142adnie jak koncepcja mikro frontend\u00f3w, to macie dobre przeczucie.<\/p>\n<p>Je\u015bli jeste\u015bcie ciekawi, jakie s\u0105 moje odczucia dotycz\u0105ce mikro frontend\u00f3w, to raczej mocno zmieszane. Z jednej strony widz\u0119 w nich \u015bwietne odwzorowanie odpowiedzialno\u015bci i podzia\u0142u pracy z organizacji, z drugiej nie mog\u0119 przebole\u0107 zaci\u0105gania przez przegl\u0105dark\u0119 kilku wersji Angulara, Reacta i Vue w celu odpalenia jednej aplikacji. Pozostaje mie\u0107 nadziej\u0119, \u017ce kiedy\u015b Vived rozro\u015bnie si\u0119 na tyle, \u017ce b\u0119d\u0119 mia\u0142 okazj\u0119 spr\u00f3bowa\u0107 tej koncepcji na w\u0142asnej sk\u00f3rze.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif\" class=\"kg-image\" alt loading=\"lazy\"><figcaption>Czasem zastanawiam si\u0119 czy jestem jedyn\u0105 osob\u0105, kt\u00f3ra nie mo\u017ce zrozumie\u0107 rozdwojenia ja\u017ani frontendowej braci. Z jednej strony oczekujemy hiperoptymalizacji w postaci \u0142adowania tylko potrzebnych znak\u00f3w z danej czcionki, a z drugiej mocno promuje ide\u0119 mikrofrontend\u00f3w, kt\u00f3ra oznacza zaci\u0105gni\u0119cie przez przegl\u0105dark\u0119 kilku framework\u00f3w.<\/figcaption><\/figure>\n<hr \/>\n<p>Pami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 Vived, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!<\/p>\n<ul>\n<li>App Store <\/li>\n<li>Play Store <\/li>\n<li>Wersja PWA <\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>1. Brave blokuje FLoC Temat FLoC by\u0142 ju\u017c poruszany przez Artura w jednym z sobotnich przegl\u0105d\u00f3w, ale postaram si\u0119 w dw\u00f3ch zdaniach przypomnie\u0107 Wam, o co chodzi. Od jakiego\u015b czasu przegl\u0105darki wprowadzaj\u0105 bardziej restrykcyjnej polityki blokowania ciasteczek stron trzecich i ma to oczywi\u015bcie zwi\u0105zek z walk\u0105 z \u015bledzeniem u\u017cytkownik\u00f3w mi\u0119dzy stronami. Google chc\u0105c pogodzi\u0107 interesy [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[273],"tags":[],"class_list":["post-10152","post","type-post","status-publish","format-standard","hentry","category-frontend-pl"],"acf":{"weekly_summary":true,"estimated_reading_time":"4"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Frontend Thursday vol. 33 - 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-33\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Frontend Thursday vol. 33 - Vived\" \/>\n<meta property=\"og:description\" content=\"1. Brave blokuje FLoC Temat FLoC by\u0142 ju\u017c poruszany przez Artura w jednym z sobotnich przegl\u0105d\u00f3w, ale postaram si\u0119 w dw\u00f3ch zdaniach przypomnie\u0107 Wam, o co chodzi. Od jakiego\u015b czasu przegl\u0105darki wprowadzaj\u0105 bardziej restrykcyjnej polityki blokowania ciasteczek stron trzecich i ma to oczywi\u015bcie zwi\u0105zek z walk\u0105 z \u015bledzeniem u\u017cytkownik\u00f3w mi\u0119dzy stronami. Google chc\u0105c pogodzi\u0107 interesy [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-15T09:48:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:16:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif\" \/>\n<meta name=\"author\" content=\"Tomasz Borowicz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\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-33\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/\"},\"author\":{\"name\":\"Tomasz Borowicz\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb\"},\"headline\":\"Frontend Thursday vol. 33\",\"datePublished\":\"2021-04-15T09:48:00+00:00\",\"dateModified\":\"2022-09-19T11:16:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/\"},\"wordCount\":900,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif\",\"articleSection\":[\"Frontend\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/\",\"url\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/\",\"name\":\"Frontend Thursday vol. 33 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif\",\"datePublished\":\"2021-04-15T09:48:00+00:00\",\"dateModified\":\"2022-09-19T11:16:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frontend Thursday vol. 33\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/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:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb\",\"name\":\"Tomasz Borowicz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"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. 33 - 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-33\/","og_locale":"pl_PL","og_type":"article","og_title":"Frontend Thursday vol. 33 - Vived","og_description":"1. Brave blokuje FLoC Temat FLoC by\u0142 ju\u017c poruszany przez Artura w jednym z sobotnich przegl\u0105d\u00f3w, ale postaram si\u0119 w dw\u00f3ch zdaniach przypomnie\u0107 Wam, o co chodzi. Od jakiego\u015b czasu przegl\u0105darki wprowadzaj\u0105 bardziej restrykcyjnej polityki blokowania ciasteczek stron trzecich i ma to oczywi\u015bcie zwi\u0105zek z walk\u0105 z \u015bledzeniem u\u017cytkownik\u00f3w mi\u0119dzy stronami. Google chc\u0105c pogodzi\u0107 interesy [&hellip;]","og_url":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/","og_site_name":"Vived","article_published_time":"2021-04-15T09:48:00+00:00","article_modified_time":"2022-09-19T11:16:43+00:00","og_image":[{"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif","type":"","width":"","height":""}],"author":"Tomasz Borowicz","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/"},"author":{"name":"Tomasz Borowicz","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb"},"headline":"Frontend Thursday vol. 33","datePublished":"2021-04-15T09:48:00+00:00","dateModified":"2022-09-19T11:16:43+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/"},"wordCount":900,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif","articleSection":["Frontend"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/","url":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/","name":"Frontend Thursday vol. 33 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif","datePublished":"2021-04-15T09:48:00+00:00","dateModified":"2022-09-19T11:16:43+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-33\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Frontend Thursday vol. 33"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/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:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb","name":"Tomasz Borowicz","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","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":null,"attrs":[],"innerBlocks":[],"innerHTML":"<h1 id=\"1-brave-blokuje-floc\">1. Brave blokuje FLoC<\/h1><p>Temat FLoC by\u0142 ju\u017c poruszany przez Artura w jednym z sobotnich przegl\u0105d\u00f3w, ale postaram si\u0119 w dw\u00f3ch zdaniach przypomnie\u0107 Wam, o co chodzi. Od jakiego\u015b czasu przegl\u0105darki wprowadzaj\u0105 bardziej restrykcyjnej polityki blokowania ciasteczek stron trzecich i ma to oczywi\u015bcie zwi\u0105zek z walk\u0105 z \u015bledzeniem u\u017cytkownik\u00f3w mi\u0119dzy stronami. Google chc\u0105c pogodzi\u0107 interesy zar\u00f3wno u\u017cytkownik\u00f3w jak i reklamodawc\u00f3w, zaproponowa\u0142 algorytm, kt\u00f3ry po stronie klienta analizuje histori\u0119 przegl\u0105dania i przypisuje u\u017cytkownika do odpowiedniej kohorty. W ten spos\u00f3b dane o aktywno\u015bci u\u017cytkownika nigdy nie opuszczaj\u0105 jego przegl\u0105darki, a reklamodawcy nie trac\u0105 mo\u017cliwo\u015bci dobrego targetowania swoich reklam.<\/p><p>Na papierze plan brzmi ca\u0142kiem nie\u017ale, ale je\u015bli zag\u0142\u0119bi\u0107 si\u0119 w szczeg\u00f3\u0142y, to okazuje si\u0119, \u017ce posiada on kilka wad. Do tej pory, je\u015bli dana strona chcia\u0142a jednoznacznie zidentyfikowa\u0107 u\u017cytkownika, to prawdopodobnie musia\u0142a przeanalizowa\u0107 kilka milion\u00f3w rekord\u00f3w. Teraz (FLoC ju\u017c testowany na niekt\u00f3rych u\u017cytkownikach Chrome. Mo\u017cecie sprawdzi\u0107, czy jeste\u015bcie jednym z nich <a href=\"https:\/\/amifloced.org\/\">tutaj<\/a>) liczba ta zmniejszy si\u0119 do kilku tysi\u0119cy, bo strony b\u0119d\u0105 mog\u0142y odczyta\u0107 id kohorty i w ten spos\u00f3b mocno zaw\u0119zi\u0107 obszar poszukiwa\u0144. Ponadto, je\u015bli na stronie logujemy si\u0119 za pomoc\u0105 maila, to natychmiast b\u0119dzie ona w stanie powi\u0105za\u0107 nas z naszymi zainteresowaniami, a nawet zapisa\u0107 je u siebie na serwerze.<\/p><p>Na koniec zostawi\u0142em argument moim zdaniem najci\u0119\u017cszy, kt\u00f3ry naprawd\u0119 sk\u0142oni\u0142 mnie do zastanowienia. FLoC domy\u015blnie analizuje wszystkie strony na jakie wchodzimy, a to oznacza, \u017ce algorytm \u015bledzi nasz\u0105 aktywno\u015b\u0107 r\u00f3wnie\u017c na stronach rz\u0105dowych, czy takich zwi\u0105zanych z nasz\u0105 histori\u0105 medyczn\u0105. Targetowanie reklam pod na przyk\u0142ad osoby chore na HIV brzmi ju\u017c dla mnie jak scenariusz ponurego filmu science-fiction. W \u015bwiecie ciasteczek taki scenariusz r\u00f3wnie\u017c m\u00f3g\u0142 mie\u0107 miejsce, ale wymaga\u0142 od w\u0142a\u015bcicieli stron dodania odpowiedniego kodu. Teraz b\u0119dzie si\u0119 to dzia\u0142o domy\u015blnie i to w\u0142a\u015bnie jest najbardziej przera\u017caj\u0105ce<\/p><figure class=\"kg-card kg-code-card\"><pre><code>Permissions-policy: interest-cohort()<\/code><\/pre><figcaption>FLoC da si\u0119 wy\u0142\u0105czy\u0107 dodaj\u0105c do odpowiedzi HTTP powy\u017cszy nag\u0142\u00f3wek. Kluczowe pytanie brzmi kiedy i czy strony z wra\u017cliwymi informacjami zaczn\u0105 z niego korzysta\u0107<\/figcaption><\/figure><p>FLoC mo\u017ce wydawa\u0107 si\u0119 troch\u0119 odgrzewanym tematem, ale wracamy do niego, bo zar\u00f3wno Brave jak i DuckDuckGo wyrazi\u0142y w minionym tygodniu sw\u00f3j sprzeciw dla tego algorytmu. Na ten moment FLoC da si\u0119 wy\u0142\u0105czy\u0107 przez wy\u0142\u0105czenie \u015bledzenia ciasteczek stron trzecich. Mo\u017cecie te\u017c przesi\u0105\u015b\u0107 si\u0119 na dowoln\u0105 inn\u0105 przegl\u0105dark\u0119 (ja prywatnie od jakiego\u015b czasu u\u017cywam Brave i od co najmniej p\u00f3\u0142 roku nie natrafi\u0142em na uprzykrzaj\u0105ce \u017cycie b\u0142\u0119dy).<\/p><h2 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a:<\/h2><p><a href=\"https:\/\/brave.com\/why-brave-disables-floc\/\">https:\/\/brave.com\/why-brave-disables-floc\/<\/a><br \/><a href=\"https:\/\/www.eff.org\/deeplinks\/2021\/03\/googles-floc-terrible-idea\">https:\/\/www.eff.org\/deeplinks\/2021\/03\/googles-floc-terrible-idea<\/a><\/p><h1 id=\"2-chrome-90\">2. Chrome 90<\/h1><p>W tym tygodniu \u015bwiat\u0142o dzienne ujrza\u0142a kolejna wersja Chrome\u2019a z paczk\u0105 nowych funkcji. Do CSS-\u00f3w trafi\u0142o `overflow: clip`, kt\u00f3re umo\u017cliwia ca\u0142kowite wy\u0142\u0105czenie scrolla. Feature Policy zosta\u0142o przemianowane na Permissions Policy. Shadow Dom zosta\u0142 wzbogacony o opcj\u0119 deklaratywn\u0105 i mo\u017cna go od teraz wykorzystywa\u0107 bez u\u017cycia JavaScriptu (co ma pozwoli\u0107 na Server Side Rendering). Prawdopodobnie nie zajmowa\u0142bym Waszego cennego czasu tymi informacjami, gdyby nie jeszcze jedna istotna zmiana. Od wersji 90 Chrome b\u0119dzie domy\u015blnie wykorzystywa\u0142 protok\u00f3\u0142 HTTPS. Oznacza to szybsze \u0142adowanie stron (do tej pory, je\u015bli nie zdefiniowali\u015bcie w przegl\u0105darce protoko\u0142u, to korzysta\u0142a ona z HTTP i dopiero serwery aplikacji odpowiedzialne by\u0142y za przekierowania na HTTPS) oraz popraw\u0119 bezpiecze\u0144stwa. Pozostaje tylko jedno pytanie: jak to mo\u017cliwe, \u017ce dzieje si\u0119 to dopiero teraz?<\/p><h2 id=\"%C5%BAr%C3%B3d%C5%82a-1\">\u0179r\u00f3d\u0142a:<\/h2><p><a href=\"https:\/\/developer.chrome.com\/blog\/new-in-chrome-90\/\">https:\/\/developer.chrome.com\/blog\/new-in-chrome-90\/<\/a><br \/><a href=\"https:\/\/www.engadget.com\/chrome-90-https-secure-browsing-031843815.html\">https:\/\/www.engadget.com\/chrome-90-https-secure-browsing-031843815.html<\/a><\/p><h1 id=\"3-angular-12-b%C4%99dzie-u%C5%BCywa%C5%82-webpack-5\">3. Angular 12 b\u0119dzie u\u017cywa\u0142 Webpack 5<\/h1><p>Na koniec mam smaczek dla wszystkich fan\u00f3w Angulara. Od wersji 12 framework od Google u\u017cywa\u0142 b\u0119dzie Webpacka w wersji 5. To, co w zwi\u0105zku z tym dotknie ka\u017cdego dewelopera, to na pewno poprawione czasy budowania aplikacji. Co jest zdecydowanie ciekawsze to wsparcie dla Module Federation. Module Federation w uproszczeniu umo\u017cliwia nam zaimportowanie komponentu z innej aplikacji, a Webpack zajmie si\u0119 za \u00a0nas zaci\u0105gni\u0119ciem wszystkich potrzebnych zale\u017cno\u015bci (je\u015bli chcecie troch\u0119 zg\u0142\u0119bi\u0107 temat, to gor\u0105co polecam ten <a href=\"https:\/\/betterprogramming.pub\/micro-frontends-using-webpack-5-module-federation-3b97ffb22a0d\">artyku\u0142<\/a>) . Je\u015bli brzmi to dla was dok\u0142adnie jak koncepcja mikro frontend\u00f3w, to macie dobre przeczucie.<\/p><p>Je\u015bli jeste\u015bcie ciekawi, jakie s\u0105 moje odczucia dotycz\u0105ce mikro frontend\u00f3w, to raczej mocno zmieszane. Z jednej strony widz\u0119 w nich \u015bwietne odwzorowanie odpowiedzialno\u015bci i podzia\u0142u pracy z organizacji, z drugiej nie mog\u0119 przebole\u0107 zaci\u0105gania przez przegl\u0105dark\u0119 kilku wersji Angulara, Reacta i Vue w celu odpalenia jednej aplikacji. Pozostaje mie\u0107 nadziej\u0119, \u017ce kiedy\u015b Vived rozro\u015bnie si\u0119 na tyle, \u017ce b\u0119d\u0119 mia\u0142 okazj\u0119 spr\u00f3bowa\u0107 tej koncepcji na w\u0142asnej sk\u00f3rze.<\/p><figure class=\"kg-card kg-image-card kg-card-hascaption\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif\" class=\"kg-image\" alt loading=\"lazy\"><figcaption>Czasem zastanawiam si\u0119 czy jestem jedyn\u0105 osob\u0105, kt\u00f3ra nie mo\u017ce zrozumie\u0107 rozdwojenia ja\u017ani frontendowej braci. Z jednej strony oczekujemy hiperoptymalizacji w postaci \u0142adowania tylko potrzebnych znak\u00f3w z danej czcionki, a z drugiej mocno promuje ide\u0119 mikrofrontend\u00f3w, kt\u00f3ra oznacza zaci\u0105gni\u0119cie przez przegl\u0105dark\u0119 kilku framework\u00f3w.<\/figcaption><\/figure><hr \/><p>Pami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 Vived, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!<\/p><ul><li>App Store <\/li><li>Play Store <\/li><li>Wersja PWA <\/li><\/ul>","innerContent":["<h1 id=\"1-brave-blokuje-floc\">1. Brave blokuje FLoC<\/h1><p>Temat FLoC by\u0142 ju\u017c poruszany przez Artura w jednym z sobotnich przegl\u0105d\u00f3w, ale postaram si\u0119 w dw\u00f3ch zdaniach przypomnie\u0107 Wam, o co chodzi. Od jakiego\u015b czasu przegl\u0105darki wprowadzaj\u0105 bardziej restrykcyjnej polityki blokowania ciasteczek stron trzecich i ma to oczywi\u015bcie zwi\u0105zek z walk\u0105 z \u015bledzeniem u\u017cytkownik\u00f3w mi\u0119dzy stronami. Google chc\u0105c pogodzi\u0107 interesy zar\u00f3wno u\u017cytkownik\u00f3w jak i reklamodawc\u00f3w, zaproponowa\u0142 algorytm, kt\u00f3ry po stronie klienta analizuje histori\u0119 przegl\u0105dania i przypisuje u\u017cytkownika do odpowiedniej kohorty. W ten spos\u00f3b dane o aktywno\u015bci u\u017cytkownika nigdy nie opuszczaj\u0105 jego przegl\u0105darki, a reklamodawcy nie trac\u0105 mo\u017cliwo\u015bci dobrego targetowania swoich reklam.<\/p><p>Na papierze plan brzmi ca\u0142kiem nie\u017ale, ale je\u015bli zag\u0142\u0119bi\u0107 si\u0119 w szczeg\u00f3\u0142y, to okazuje si\u0119, \u017ce posiada on kilka wad. Do tej pory, je\u015bli dana strona chcia\u0142a jednoznacznie zidentyfikowa\u0107 u\u017cytkownika, to prawdopodobnie musia\u0142a przeanalizowa\u0107 kilka milion\u00f3w rekord\u00f3w. Teraz (FLoC ju\u017c testowany na niekt\u00f3rych u\u017cytkownikach Chrome. Mo\u017cecie sprawdzi\u0107, czy jeste\u015bcie jednym z nich <a href=\"https:\/\/amifloced.org\/\">tutaj<\/a>) liczba ta zmniejszy si\u0119 do kilku tysi\u0119cy, bo strony b\u0119d\u0105 mog\u0142y odczyta\u0107 id kohorty i w ten spos\u00f3b mocno zaw\u0119zi\u0107 obszar poszukiwa\u0144. Ponadto, je\u015bli na stronie logujemy si\u0119 za pomoc\u0105 maila, to natychmiast b\u0119dzie ona w stanie powi\u0105za\u0107 nas z naszymi zainteresowaniami, a nawet zapisa\u0107 je u siebie na serwerze.<\/p><p>Na koniec zostawi\u0142em argument moim zdaniem najci\u0119\u017cszy, kt\u00f3ry naprawd\u0119 sk\u0142oni\u0142 mnie do zastanowienia. FLoC domy\u015blnie analizuje wszystkie strony na jakie wchodzimy, a to oznacza, \u017ce algorytm \u015bledzi nasz\u0105 aktywno\u015b\u0107 r\u00f3wnie\u017c na stronach rz\u0105dowych, czy takich zwi\u0105zanych z nasz\u0105 histori\u0105 medyczn\u0105. Targetowanie reklam pod na przyk\u0142ad osoby chore na HIV brzmi ju\u017c dla mnie jak scenariusz ponurego filmu science-fiction. W \u015bwiecie ciasteczek taki scenariusz r\u00f3wnie\u017c m\u00f3g\u0142 mie\u0107 miejsce, ale wymaga\u0142 od w\u0142a\u015bcicieli stron dodania odpowiedniego kodu. Teraz b\u0119dzie si\u0119 to dzia\u0142o domy\u015blnie i to w\u0142a\u015bnie jest najbardziej przera\u017caj\u0105ce<\/p><figure class=\"kg-card kg-code-card\"><pre><code>Permissions-policy: interest-cohort()<\/code><\/pre><figcaption>FLoC da si\u0119 wy\u0142\u0105czy\u0107 dodaj\u0105c do odpowiedzi HTTP powy\u017cszy nag\u0142\u00f3wek. Kluczowe pytanie brzmi kiedy i czy strony z wra\u017cliwymi informacjami zaczn\u0105 z niego korzysta\u0107<\/figcaption><\/figure><p>FLoC mo\u017ce wydawa\u0107 si\u0119 troch\u0119 odgrzewanym tematem, ale wracamy do niego, bo zar\u00f3wno Brave jak i DuckDuckGo wyrazi\u0142y w minionym tygodniu sw\u00f3j sprzeciw dla tego algorytmu. Na ten moment FLoC da si\u0119 wy\u0142\u0105czy\u0107 przez wy\u0142\u0105czenie \u015bledzenia ciasteczek stron trzecich. Mo\u017cecie te\u017c przesi\u0105\u015b\u0107 si\u0119 na dowoln\u0105 inn\u0105 przegl\u0105dark\u0119 (ja prywatnie od jakiego\u015b czasu u\u017cywam Brave i od co najmniej p\u00f3\u0142 roku nie natrafi\u0142em na uprzykrzaj\u0105ce \u017cycie b\u0142\u0119dy).<\/p><h2 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a:<\/h2><p><a href=\"https:\/\/brave.com\/why-brave-disables-floc\/\">https:\/\/brave.com\/why-brave-disables-floc\/<\/a><br \/><a href=\"https:\/\/www.eff.org\/deeplinks\/2021\/03\/googles-floc-terrible-idea\">https:\/\/www.eff.org\/deeplinks\/2021\/03\/googles-floc-terrible-idea<\/a><\/p><h1 id=\"2-chrome-90\">2. Chrome 90<\/h1><p>W tym tygodniu \u015bwiat\u0142o dzienne ujrza\u0142a kolejna wersja Chrome\u2019a z paczk\u0105 nowych funkcji. Do CSS-\u00f3w trafi\u0142o `overflow: clip`, kt\u00f3re umo\u017cliwia ca\u0142kowite wy\u0142\u0105czenie scrolla. Feature Policy zosta\u0142o przemianowane na Permissions Policy. Shadow Dom zosta\u0142 wzbogacony o opcj\u0119 deklaratywn\u0105 i mo\u017cna go od teraz wykorzystywa\u0107 bez u\u017cycia JavaScriptu (co ma pozwoli\u0107 na Server Side Rendering). Prawdopodobnie nie zajmowa\u0142bym Waszego cennego czasu tymi informacjami, gdyby nie jeszcze jedna istotna zmiana. Od wersji 90 Chrome b\u0119dzie domy\u015blnie wykorzystywa\u0142 protok\u00f3\u0142 HTTPS. Oznacza to szybsze \u0142adowanie stron (do tej pory, je\u015bli nie zdefiniowali\u015bcie w przegl\u0105darce protoko\u0142u, to korzysta\u0142a ona z HTTP i dopiero serwery aplikacji odpowiedzialne by\u0142y za przekierowania na HTTPS) oraz popraw\u0119 bezpiecze\u0144stwa. Pozostaje tylko jedno pytanie: jak to mo\u017cliwe, \u017ce dzieje si\u0119 to dopiero teraz?<\/p><h2 id=\"%C5%BAr%C3%B3d%C5%82a-1\">\u0179r\u00f3d\u0142a:<\/h2><p><a href=\"https:\/\/developer.chrome.com\/blog\/new-in-chrome-90\/\">https:\/\/developer.chrome.com\/blog\/new-in-chrome-90\/<\/a><br \/><a href=\"https:\/\/www.engadget.com\/chrome-90-https-secure-browsing-031843815.html\">https:\/\/www.engadget.com\/chrome-90-https-secure-browsing-031843815.html<\/a><\/p><h1 id=\"3-angular-12-b%C4%99dzie-u%C5%BCywa%C5%82-webpack-5\">3. Angular 12 b\u0119dzie u\u017cywa\u0142 Webpack 5<\/h1><p>Na koniec mam smaczek dla wszystkich fan\u00f3w Angulara. Od wersji 12 framework od Google u\u017cywa\u0142 b\u0119dzie Webpacka w wersji 5. To, co w zwi\u0105zku z tym dotknie ka\u017cdego dewelopera, to na pewno poprawione czasy budowania aplikacji. Co jest zdecydowanie ciekawsze to wsparcie dla Module Federation. Module Federation w uproszczeniu umo\u017cliwia nam zaimportowanie komponentu z innej aplikacji, a Webpack zajmie si\u0119 za \u00a0nas zaci\u0105gni\u0119ciem wszystkich potrzebnych zale\u017cno\u015bci (je\u015bli chcecie troch\u0119 zg\u0142\u0119bi\u0107 temat, to gor\u0105co polecam ten <a href=\"https:\/\/betterprogramming.pub\/micro-frontends-using-webpack-5-module-federation-3b97ffb22a0d\">artyku\u0142<\/a>) . Je\u015bli brzmi to dla was dok\u0142adnie jak koncepcja mikro frontend\u00f3w, to macie dobre przeczucie.<\/p><p>Je\u015bli jeste\u015bcie ciekawi, jakie s\u0105 moje odczucia dotycz\u0105ce mikro frontend\u00f3w, to raczej mocno zmieszane. Z jednej strony widz\u0119 w nich \u015bwietne odwzorowanie odpowiedzialno\u015bci i podzia\u0142u pracy z organizacji, z drugiej nie mog\u0119 przebole\u0107 zaci\u0105gania przez przegl\u0105dark\u0119 kilku wersji Angulara, Reacta i Vue w celu odpalenia jednej aplikacji. Pozostaje mie\u0107 nadziej\u0119, \u017ce kiedy\u015b Vived rozro\u015bnie si\u0119 na tyle, \u017ce b\u0119d\u0119 mia\u0142 okazj\u0119 spr\u00f3bowa\u0107 tej koncepcji na w\u0142asnej sk\u00f3rze.<\/p><figure class=\"kg-card kg-image-card kg-card-hascaption\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0ae4dd40a.gif\" class=\"kg-image\" alt loading=\"lazy\"><figcaption>Czasem zastanawiam si\u0119 czy jestem jedyn\u0105 osob\u0105, kt\u00f3ra nie mo\u017ce zrozumie\u0107 rozdwojenia ja\u017ani frontendowej braci. Z jednej strony oczekujemy hiperoptymalizacji w postaci \u0142adowania tylko potrzebnych znak\u00f3w z danej czcionki, a z drugiej mocno promuje ide\u0119 mikrofrontend\u00f3w, kt\u00f3ra oznacza zaci\u0105gni\u0119cie przez przegl\u0105dark\u0119 kilku framework\u00f3w.<\/figcaption><\/figure><hr \/><p>Pami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 Vived, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!<\/p><ul><li>App Store <\/li><li>Play Store <\/li><li>Wersja PWA <\/li><\/ul>"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10152","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=10152"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10152\/revisions"}],"predecessor-version":[{"id":10644,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10152\/revisions\/10644"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}