{"id":10082,"date":"2021-09-14T16:07:45","date_gmt":"2021-09-14T14:07:45","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/"},"modified":"2022-09-19T13:10:48","modified_gmt":"2022-09-19T11:10:48","slug":"jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/","title":{"rendered":"JVM Tuesday vol.55 &#8211; Java 17 \ud83e\udd73!"},"content":{"rendered":"\n<h2 id=\"1-java-17-jest-z-nami\" data-num=1>1. Java 17 jest z nami \ud83e\udd73<\/h2>\n\n\n\n<p>Mamy to! W dniu dzisiejszym ukaza\u0142a si\u0119 w <a href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-jdk-17-generally-available\">nowa wersja Javy<\/a>.<\/p>\n\n\n\n<p>Zacznijmy od tych JEP\u00f3w, kt\u00f3re mieli\u015bmy ju\u017c okazj\u0119 dla Was opisywa\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-30\/\"><strong>O usuni\u0119ciu Applet API<\/strong> pisali\u015bmy w naszej edycji 30 tej<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-27\/\">Project Lanai i <strong>JEP 382 (New Rendering Pipeline)<\/strong> pojawi\u0142 si\u0119 w edycji 27<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-23\/\"><strong>JEP 356 Enhanced Pseudo-Random Number Generators<\/strong> &#8211; to vol. 23&#8230;<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-26\/\">Z kolei w vol 26 opisywali\u015bmy ju\u017c <strong>JEP-406 Pattern Matching for switch (Preview)<\/strong><\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-36\/\"><strong>Mocniej Enkapsulowane Internale (JEP-403)<\/strong> to edycja 36<\/a><\/li><li>Usuni\u0119cie Security Managera go\u015bci\u0142o u nas ju\u017c dwukrotnie &#8211;<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-37\/\"> w edycji 37<\/a> i<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-38\/\"> 38<\/a><\/li><li>Troch\u0119 naci\u0105ganie, ale poruszali\u015bmy ju\u017c temat wersji Javy na macOS\/ARM<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-22\/\"> w edycji 22<\/a><\/li><li>Formalny, zbiorczy post na temat nowej edycji pojawi\u0142 si\u0119 w <a href=\"https:\/\/vived.io\/jvm-tuesday-vol-47\/\">wydaniu 47<\/a>, przy okazji wersji Release Candidate<\/li><\/ul>\n\n\n\n<p>Jako, \u017ce wspomniane JEPy mamy \u201codhaczone\u201d, najwy\u017cszy czas przypomnie\u0107, \u017ce nowa Java to tak zwana wersja Long-Term Support. Sprawia to, \u017ce dla wielu firm, kt\u00f3re postanowi\u0142y nie przechodzi\u0107 na tryb sze\u015bciomiesi\u0119cznych wyda\u0144, b\u0119dzie to pierwsza du\u017ca edycja od czasu wydanej trzy lata temu Javy 11. Co to oznacza w praktyce? Wiele os\u00f3b bo raz pierwszy b\u0119dzie mog\u0142o do\u015bwiadczy\u0107 funkcjonalno\u015bci, kt\u00f3re \u201ckapa\u0142y\u201d sobie przez sze\u015b\u0107 ostatnich wyda\u0144. Ze sk\u0142adniowego punktu widzenia, mowa tutaj o:<br><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Pattern matching for instanceof<\/li><li>Sealed classes and interfaces<\/li><li>Rekordy<\/li><li>Switch Expression<\/li><li>Multiline Strings<\/li><li>Unix-Domain Socket Channels<\/li><\/ul>\n\n\n\n<p>Wszystkie powy\u017csze to stabilne funkcjonalno\u015bci.<\/p>\n\n\n\n<p><br>Oczywi\u015bcie, \u017ceby wszystkich powy\u017cszych u\u017cywa\u0142o si\u0119 wygodnie, nasze narz\u0119dzia musz\u0105 je wspiera\u0107. Dobrze wie o tym JetBrains, kt\u00f3ry nie omin\u0105\u0142 okazji, \u017ceby ogrza\u0107 si\u0119 w s\u0142oneczku wydania, publikuj\u0105c <a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/09\/java-17-and-intellij-idea\/\">post<\/a> pokazuj\u0105cy, jak dobrze Intellij sprawdza si\u0119 w poszczeg\u00f3lnych zastosowaniach. Nawet je\u015bli \u015bledzili\u015bcie poszczeg\u00f3lne wydania i \u015bwietnie wiecie co przynosi Java, i tak polecam lektur\u0119. Podczas przygotowywania autmatycznych refactoring\u00f3w tw\u00f3rcy najpopularniejszego jvmowego IDE wykazali si\u0119 bowiem spor\u0105 kreatywno\u015bci\u0105.<\/p>\n\n\n\n<p>Dobra, Java 17 odfajkowana. A ju\u017c za tydzie\u0144 b\u0119dziemy mieli pierwsze informacje o JDK 18 &#8211; pojawiaj\u0105 si\u0119 ju\u017c konkretne JEPy przeznaczone do tego wydania. Stay Tuned!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/giphy-30.gif\" alt=\"\" class=\"wp-image-2324\" width=\"482\" height=\"271\"\/><figcaption>PS: Je\u015bli potrzebujecie pomocy z upgrade, <a href=\"https:\/\/www.infoq.com\/articles\/why-how-upgrade-java17\/\">bardzo dobry poradnik przygotowa\u0142o InfoQ<\/a>.<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142o<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-jdk-17-generally-available\">Java 17 is here: 14 JEPs with exciting new language and JVM features<\/a><\/li><li><a href=\"https:\/\/www.infoq.com\/articles\/why-how-upgrade-java17\/\">Why and How to Upgrade to Java 16 or 17<\/a><\/li><\/ol>\n\n\n\n<h2 id=\"2-ron-pressler-tlumaczy-po-co-nam-w-ogole-jpms\" data-num=2><a href=\"https:\/\/inside.java\/2021\/09\/10\/what-are-modules-about\/\">2. Ron Pressler t\u0142umaczy po co nam w og\u00f3le JPMS<\/a> \ud83d\udc68\u200d\ud83c\udfeb<\/h2>\n\n\n\n<p>My tu informujemy o Javie 17 i co ona przynosi, ale pewnie ju\u017c \u0142atwo zauwa\u017cy\u0107, \u017ce nawet przeskakuj\u0105c z JDK 8 nie b\u0119dziemy tu mieli do czynienia z wielk\u0105 rewolucj\u0105 je\u015bli chodzi o to, jak pisze si\u0119 Javowe aplikacje. Wynika to troch\u0119 z faktu, \u017ce tak naprawd\u0119 najwi\u0119ksza chyba rewolucja ostatnich lat, czyli JPMS (znany te\u017c pod swoj\u0105 kodow\u0105 nazw\u0105 Jigsaw) nigdy nie zosta\u0142a realnie skonsumowana przez ekosystem.&nbsp;<\/p>\n\n\n\n<p>Wida\u0107, \u017ce tw\u00f3rcom Javy bardzo le\u017cy to na sercu, bowiem tekst na temat zalet javowej modularyzacji opublikowa\u0142 niedawno Ron Pressler. Architekt j\u0119zyka pracuj\u0105cy ostatnio g\u0142\u00f3wnie nad Project Loom. Postawi\u0142 on na prac\u0119 u podstaw, prezentuj\u0105c ponownie pryncypia stoj\u0105ce za sam\u0105 ide\u0105 javowej modularyzacji, kt\u00f3re przez lata (dziewi\u0105tka jest z nami ju\u017c prawie p\u00f3\u0142 dekady) zd\u0105\u017cy\u0142y gdzie\u015b zgin\u0105\u0107. Dlatego te\u017c du\u017co nacisku po\u0142o\u017cone jest w tek\u015bcie na \u0142atwo\u015b\u0107 zarz\u0105dzanie classpathem oraz siln\u0105 enkapsulacje, jak\u0105 modu\u0142y przynosz\u0105. Og\u00f3lnie je\u015bli kiedykolwiek zastanawiali\u015bcie si\u0119, dlaczego warto zainteresowa\u0107 si\u0119 modu\u0142ami &#8211; polecam lektur\u0119.<br><br>Liczmy na to, \u017ce wraz z porzucaniem przez wiele projekt\u00f3w wsparcia dla Javy 8, modu\u0142y zaczn\u0105 si\u0119 upowszechnia\u0107. My\u015bl\u0119, \u017ce ka\u017cdy kto przeczyta\u0142 artyku\u0142 Rona znajdzie dla siebie jaki\u015b dobry pow\u00f3d do migracji.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"270\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/giphy-31.gif\" alt=\"\" class=\"wp-image-2325\"\/><figcaption>Ka\u017cdy nieszcz\u0119\u015bliwy codebase jest w ko\u0144cu nieszcz\u0119\u015bliwy na sw\u00f3j w\u0142asny spos\u00f3b.<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\"><meta charset=\"utf-8\">\u0179r\u00f3d\u0142o<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/inside.java\/2021\/09\/10\/what-are-modules-about\/\">What modules are about \u2013 Inside.java<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"3-jakarta-faces-w-pazdzierniku-doczeka-sie-czwartej-edycji\" data-num=3>3. Jakarta Faces w pa\u017adzierniku doczeka si\u0119 czwartej edycji<\/h2>\n\n\n\n<p>A na koniec, po wielkich javowych zapowiedziach &#8211; co\u015b ciut hermetycznego Te\u017c zapomnieli\u015bcie \u017ce ten projekt istnieje?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a885b945888.png\" alt=\"\" width=\"244\" height=\"384\"\/><figcaption>Na pewno zapomnia\u0142a Wikipedia &#8211; na ich stronie aktualna edycja to 2.32, pomimo \u017ce stabilne 3.0 jest dost\u0119pna od pa\u017adziernika 2020.<\/figcaption><\/figure><\/div>\n\n\n<p>Przyznam, \u017ce mimo du\u017cej dozy sympatii do Javy EE, Java Server Faces (enigmatycznie m\u00f3wi\u0105c) nigdy nie nale\u017ca\u0142y do moich ulubionych rozwi\u0105za\u0144 &#8211; i mam wra\u017cenie, \u017ce nie jestem w tym odosobniony. Koncept cross-warstwowych komponent\u00f3w brzmi co prawda dobrze na papierze, ale w praktyce wymaga\u0142 zawsze za du\u017co \u201ckleju\u201d, a zarz\u0105dzanie stanem i komunikacja mi\u0119dzy poszczeg\u00f3lnymi elementami UI by\u0142a zawsze bardzo niewdzi\u0119cznym zadaniem. Dodatkowo, przez d\u0142ugi czas takie frameworki jak np. najpopularniejszy chyba <a href=\"https:\/\/www.primefaces.org\/\">PrimeFaces<\/a> bardzo \u201clagowa\u0142y\u201d za \u015bwiatem JavaScriptu. S\u0142ysza\u0142em, \u017ce sytuacja si\u0119 nieco pod tym wzgl\u0119de polepszy\u0142a, ale w mi\u0119dzyczasie spo\u0142eczno\u015b\u0107 oberwa\u0142a kolejnym ciosem &#8211; Oracle postanowi\u0142o przesta\u0107 rozwija\u0107 JSF (wraz z ca\u0142\u0105 Javy EE).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/Follower_of_Jheronimus_Bosch_Christ_in_Limbo.jpg\" alt=\"File:Follower of Jheronimus Bosch Christ in Limbo.jpg - Wikimedia Commons\"\/><figcaption>&#8222;Limbo Projektowe&#8221; Hieronim Bosh<\/figcaption><\/figure>\n\n\n\n<p>Oczywi\u015bcie, istnieje gdzie\u015b drugie \u017cycie dla wszystkich \u201cporzuconych\u201d &#8211; zostaj\u0105 one oddane spo\u0142eczno\u015bci. I tak jak Jakarta EE czy JavaFX (o kt\u00f3rej wydaniu 17 pisali\u015bmy tydzie\u0144 temu) tak\u017ce JSFy s\u0105 ci\u0105gle rozwijane pod nazw\u0105 Jakarta Faces. Tw\u00f3rcy rozwi\u0105zania poinformowali niedawno o planach na wersje czwart\u0105, kt\u00f3ra ukaza\u0107 si\u0119 ma w pa\u017adzierniku, wraz z Jakart\u0105 EE 10. Lista zmian jest interesuj\u0105ca, gdy\u017c autorzy rozwi\u0105zania zdecydowali si\u0119 skupi\u0107 na pozbyciu spowalniaj\u0105cego ich balastu. Nareszcie usuni\u0119te zostan\u0105 stare deprekacje (cze\u015b\u0107 z nich si\u0119gaj\u0105cych jeszcze JSF 2.x). Podj\u0119to te\u017c decyzj\u0119 o pozbyciu si\u0119 Full State Saving (je\u015bli chcecie si\u0119 dowiedzie\u0107 wi\u0119cej o tej funkcji &#8211; uda\u0142o mi si\u0119 wygrzeba\u0107 <a href=\"http:\/\/www.ijcttjournal.org\/2018\/Volume56\/number-1\/IJCTT-V56P103.pdf\">ciekaw\u0105 publikacj\u0119<\/a> na temat zarz\u0105dzania stanem w JSFach). Opr\u00f3cz tego, podobnie jak Jakarta EE 10, nowa wersja JSF\u00f3w to r\u00f3wnie\u017c kolejne kroki w migracji z EJB na CDI.<\/p>\n\n\n\n<p>Je\u017celi chcecie sprawdzi\u0107 now\u0105 wersje w praktyce, w Maven Repository znajdziecie<a href=\"https:\/\/mvnrepository.com\/artifact\/org.glassfish\/jakarta.faces\/4.0.0-M1\"> pierwszego Milestone\u2019a<\/a>. Have fun \ud83d\ude07<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><meta charset=\"utf-8\">\u0179r\u00f3d\u0142o<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/mvnrepository.com\/artifact\/org.glassfish\/jakarta.faces\/4.0.0-M1\">org.glassfish \u00bb jakarta.faces \u00bb 4.0.0-M1<\/a><\/li><li><a href=\"http:\/\/www.ijcttjournal.org\/2018\/Volume56\/number-1\/IJCTT-V56P103.pdf\">State Management, Partial and Full State Saving Strategy &#8211; JavaServer Faces<\/a><\/li><li><a href=\"https:\/\/www.primefaces.org\/\">PrimeFaces \u2013 Ultimate UI Framework<\/a><\/li><li><a href=\"https:\/\/jakarta.ee\/specifications\/faces\/4.0\/\">Jakarta Server Faces 4.0 (Under Development) | The Eclipse Foundation<\/a><\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p class=\"vived-promo\">\u200cPami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Vived<\/a>, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!<\/p>\n\n\n\n<ul class=\"vived-promo wp-block-list\"><li><a href=\"https:\/\/apple.co\/3fB8Kcf\">App Store<\/a><\/li><li><a href=\"https:\/\/bit.ly\/3m421dx\">Play Store<\/a><\/li><li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\ud83c\udf89 Nadesz\u0142a era Javy 17 \ud83c\udf89. <\/p>\n<p>Mamy zatem nowy LTS. Ale w tej edycji mamy te\u017c dla was ciekawy artyku\u0142 czemu w\u0142a\u015bciwie warto zaktualizowa\u0107 aplikacje wspieraj\u0105ce JDK 8 . Opr\u00f3cz tego &#8211; JSF \u017cyje i straszy \ud83e\udd21<\/p>\n","protected":false},"author":10,"featured_media":7693,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"5","weekly_summary":true,"feature_image_blog":false,"push_notification_image":false,"feature_image_visible":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JVM Tuesday vol.55 - Java 17 \ud83e\udd73! - 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\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol.55 - Java 17 \ud83e\udd73! - Vived\" \/>\n<meta property=\"og:description\" content=\"\ud83c\udf89 Nadesz\u0142a era Javy 17 \ud83c\udf89.  Mamy zatem nowy LTS. Ale w tej edycji mamy te\u017c dla was ciekawy artyku\u0142 czemu w\u0142a\u015bciwie warto zaktualizowa\u0107 aplikacje wspieraj\u0105ce JDK 8 . Opr\u00f3cz tego - JSF \u017cyje i straszy \ud83e\udd21\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-14T14:07:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2394\" \/>\n\t<meta property=\"og:image:height\" content=\"1246\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\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\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol.55 &#8211; Java 17 \ud83e\udd73!\",\"datePublished\":\"2021-09-14T14:07:45+00:00\",\"dateModified\":\"2022-09-19T11:10:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/\"},\"wordCount\":1048,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/\",\"name\":\"JVM Tuesday vol.55 - Java 17 \ud83e\udd73! - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png\",\"datePublished\":\"2021-09-14T14:07:45+00:00\",\"dateModified\":\"2022-09-19T11:10:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png\",\"width\":2394,\"height\":1246},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol.55 &#8211; Java 17 \ud83e\udd73!\"}]},{\"@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\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JVM Tuesday vol.55 - Java 17 \ud83e\udd73! - 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\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol.55 - Java 17 \ud83e\udd73! - Vived","og_description":"\ud83c\udf89 Nadesz\u0142a era Javy 17 \ud83c\udf89.  Mamy zatem nowy LTS. Ale w tej edycji mamy te\u017c dla was ciekawy artyku\u0142 czemu w\u0142a\u015bciwie warto zaktualizowa\u0107 aplikacje wspieraj\u0105ce JDK 8 . Opr\u00f3cz tego - JSF \u017cyje i straszy \ud83e\udd21","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/","og_site_name":"Vived","article_published_time":"2021-09-14T14:07:45+00:00","article_modified_time":"2022-09-19T11:10:48+00:00","og_image":[{"width":2394,"height":1246,"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol.55 &#8211; Java 17 \ud83e\udd73!","datePublished":"2021-09-14T14:07:45+00:00","dateModified":"2022-09-19T11:10:48+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/"},"wordCount":1048,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png","articleSection":["JVM"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/","name":"JVM Tuesday vol.55 - Java 17 \ud83e\udd73! - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png","datePublished":"2021-09-14T14:07:45+00:00","dateModified":"2022-09-19T11:10:48+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-14-at-16.03.42.png","width":2394,"height":1246},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-55-spring-porzuca-stare-javy-plan-na-jakarte-ee-10\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol.55 &#8211; Java 17 \ud83e\udd73!"}]},{"@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\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>1. Java 17 jest z nami \ud83e\udd73<\/h2>\n","innerContent":["\n<h2>1. Java 17 jest z nami \ud83e\udd73<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Mamy to! W dniu dzisiejszym ukaza\u0142a si\u0119 w <a href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-jdk-17-generally-available\">nowa wersja Javy<\/a>.<\/p>\n","innerContent":["\n<p>Mamy to! W dniu dzisiejszym ukaza\u0142a si\u0119 w <a href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-jdk-17-generally-available\">nowa wersja Javy<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zacznijmy od tych JEP\u00f3w, kt\u00f3re mieli\u015bmy ju\u017c okazj\u0119 dla Was opisywa\u0107:<\/p>\n","innerContent":["\n<p>Zacznijmy od tych JEP\u00f3w, kt\u00f3re mieli\u015bmy ju\u017c okazj\u0119 dla Was opisywa\u0107:<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-30\/\"><strong>O usuni\u0119ciu Applet API<\/strong> pisali\u015bmy w naszej edycji 30 tej<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-27\/\">Project Lanai i <strong>JEP 382 (New Rendering Pipeline)<\/strong> pojawi\u0142 si\u0119 w edycji 27<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-23\/\"><strong>JEP 356 Enhanced Pseudo-Random Number Generators<\/strong> - to vol. 23...<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-26\/\">Z kolei w vol 26 opisywali\u015bmy ju\u017c <strong>JEP-406 Pattern Matching for switch (Preview)<\/strong><\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-36\/\"><strong>Mocniej Enkapsulowane Internale (JEP-403)<\/strong> to edycja 36<\/a><\/li><li>Usuni\u0119cie Security Managera go\u015bci\u0142o u nas ju\u017c dwukrotnie -<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-37\/\"> w edycji 37<\/a> i<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-38\/\"> 38<\/a><\/li><li>Troch\u0119 naci\u0105ganie, ale poruszali\u015bmy ju\u017c temat wersji Javy na macOS\/ARM<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-22\/\"> w edycji 22<\/a><\/li><li>Formalny, zbiorczy post na temat nowej edycji pojawi\u0142 si\u0119 w <a href=\"https:\/\/vived.io\/jvm-tuesday-vol-47\/\">wydaniu 47<\/a>, przy okazji wersji Release Candidate<\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-30\/\"><strong>O usuni\u0119ciu Applet API<\/strong> pisali\u015bmy w naszej edycji 30 tej<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-27\/\">Project Lanai i <strong>JEP 382 (New Rendering Pipeline)<\/strong> pojawi\u0142 si\u0119 w edycji 27<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-23\/\"><strong>JEP 356 Enhanced Pseudo-Random Number Generators<\/strong> - to vol. 23...<\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-26\/\">Z kolei w vol 26 opisywali\u015bmy ju\u017c <strong>JEP-406 Pattern Matching for switch (Preview)<\/strong><\/a><\/li><li><a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-36\/\"><strong>Mocniej Enkapsulowane Internale (JEP-403)<\/strong> to edycja 36<\/a><\/li><li>Usuni\u0119cie Security Managera go\u015bci\u0142o u nas ju\u017c dwukrotnie -<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-37\/\"> w edycji 37<\/a> i<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-38\/\"> 38<\/a><\/li><li>Troch\u0119 naci\u0105ganie, ale poruszali\u015bmy ju\u017c temat wersji Javy na macOS\/ARM<a href=\"https:\/\/blog.vived.io\/jvm-tuesday-vol-22\/\"> w edycji 22<\/a><\/li><li>Formalny, zbiorczy post na temat nowej edycji pojawi\u0142 si\u0119 w <a href=\"https:\/\/vived.io\/jvm-tuesday-vol-47\/\">wydaniu 47<\/a>, przy okazji wersji Release Candidate<\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jako, \u017ce wspomniane JEPy mamy \u201codhaczone\u201d, najwy\u017cszy czas przypomnie\u0107, \u017ce nowa Java to tak zwana wersja Long-Term Support. Sprawia to, \u017ce dla wielu firm, kt\u00f3re postanowi\u0142y nie przechodzi\u0107 na tryb sze\u015bciomiesi\u0119cznych wyda\u0144, b\u0119dzie to pierwsza du\u017ca edycja od czasu wydanej trzy lata temu Javy 11. Co to oznacza w praktyce? Wiele os\u00f3b bo raz pierwszy b\u0119dzie mog\u0142o do\u015bwiadczy\u0107 funkcjonalno\u015bci, kt\u00f3re \u201ckapa\u0142y\u201d sobie przez sze\u015b\u0107 ostatnich wyda\u0144. Ze sk\u0142adniowego punktu widzenia, mowa tutaj o:<br><\/p>\n","innerContent":["\n<p>Jako, \u017ce wspomniane JEPy mamy \u201codhaczone\u201d, najwy\u017cszy czas przypomnie\u0107, \u017ce nowa Java to tak zwana wersja Long-Term Support. Sprawia to, \u017ce dla wielu firm, kt\u00f3re postanowi\u0142y nie przechodzi\u0107 na tryb sze\u015bciomiesi\u0119cznych wyda\u0144, b\u0119dzie to pierwsza du\u017ca edycja od czasu wydanej trzy lata temu Javy 11. Co to oznacza w praktyce? Wiele os\u00f3b bo raz pierwszy b\u0119dzie mog\u0142o do\u015bwiadczy\u0107 funkcjonalno\u015bci, kt\u00f3re \u201ckapa\u0142y\u201d sobie przez sze\u015b\u0107 ostatnich wyda\u0144. Ze sk\u0142adniowego punktu widzenia, mowa tutaj o:<br><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li>Pattern matching for instanceof<\/li><li>Sealed classes and interfaces<\/li><li>Rekordy<\/li><li>Switch Expression<\/li><li>Multiline Strings<\/li><li>Unix-Domain Socket Channels<\/li><\/ul>\n","innerContent":["\n<ul><li>Pattern matching for instanceof<\/li><li>Sealed classes and interfaces<\/li><li>Rekordy<\/li><li>Switch Expression<\/li><li>Multiline Strings<\/li><li>Unix-Domain Socket Channels<\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wszystkie powy\u017csze to stabilne funkcjonalno\u015bci.<\/p>\n","innerContent":["\n<p>Wszystkie powy\u017csze to stabilne funkcjonalno\u015bci.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><br>Oczywi\u015bcie, \u017ceby wszystkich powy\u017cszych u\u017cywa\u0142o si\u0119 wygodnie, nasze narz\u0119dzia musz\u0105 je wspiera\u0107. Dobrze wie o tym JetBrains, kt\u00f3ry nie omin\u0105\u0142 okazji, \u017ceby ogrza\u0107 si\u0119 w s\u0142oneczku wydania, publikuj\u0105c <a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/09\/java-17-and-intellij-idea\/\">post<\/a> pokazuj\u0105cy, jak dobrze Intellij sprawdza si\u0119 w poszczeg\u00f3lnych zastosowaniach. Nawet je\u015bli \u015bledzili\u015bcie poszczeg\u00f3lne wydania i \u015bwietnie wiecie co przynosi Java, i tak polecam lektur\u0119. Podczas przygotowywania autmatycznych refactoring\u00f3w tw\u00f3rcy najpopularniejszego jvmowego IDE wykazali si\u0119 bowiem spor\u0105 kreatywno\u015bci\u0105.<\/p>\n","innerContent":["\n<p><br>Oczywi\u015bcie, \u017ceby wszystkich powy\u017cszych u\u017cywa\u0142o si\u0119 wygodnie, nasze narz\u0119dzia musz\u0105 je wspiera\u0107. Dobrze wie o tym JetBrains, kt\u00f3ry nie omin\u0105\u0142 okazji, \u017ceby ogrza\u0107 si\u0119 w s\u0142oneczku wydania, publikuj\u0105c <a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/09\/java-17-and-intellij-idea\/\">post<\/a> pokazuj\u0105cy, jak dobrze Intellij sprawdza si\u0119 w poszczeg\u00f3lnych zastosowaniach. Nawet je\u015bli \u015bledzili\u015bcie poszczeg\u00f3lne wydania i \u015bwietnie wiecie co przynosi Java, i tak polecam lektur\u0119. Podczas przygotowywania autmatycznych refactoring\u00f3w tw\u00f3rcy najpopularniejszego jvmowego IDE wykazali si\u0119 bowiem spor\u0105 kreatywno\u015bci\u0105.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dobra, Java 17 odfajkowana. A ju\u017c za tydzie\u0144 b\u0119dziemy mieli pierwsze informacje o JDK 18 - pojawiaj\u0105 si\u0119 ju\u017c konkretne JEPy przeznaczone do tego wydania. Stay Tuned!<\/p>\n","innerContent":["\n<p>Dobra, Java 17 odfajkowana. A ju\u017c za tydzie\u0144 b\u0119dziemy mieli pierwsze informacje o JDK 18 - pojawiaj\u0105 si\u0119 ju\u017c konkretne JEPy przeznaczone do tego wydania. Stay Tuned!<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":2324,"width":482,"height":271,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/giphy-30.gif\" alt=\"\" class=\"wp-image-2324\" width=\"482\" height=\"271\"\/><figcaption>PS: Je\u015bli potrzebujecie pomocy z upgrade, <a href=\"https:\/\/www.infoq.com\/articles\/why-how-upgrade-java17\/\">bardzo dobry poradnik przygotowa\u0142o InfoQ<\/a>.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/giphy-30.gif\" alt=\"\" class=\"wp-image-2324\" width=\"482\" height=\"271\"\/><figcaption>PS: Je\u015bli potrzebujecie pomocy z upgrade, <a href=\"https:\/\/www.infoq.com\/articles\/why-how-upgrade-java17\/\">bardzo dobry poradnik przygotowa\u0142o InfoQ<\/a>.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142o<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142o<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":{"ordered":true},"innerBlocks":[],"innerHTML":"\n<ol><li><a href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-jdk-17-generally-available\">Java 17 is here: 14 JEPs with exciting new language and JVM features<\/a><\/li><li><a href=\"https:\/\/www.infoq.com\/articles\/why-how-upgrade-java17\/\">Why and How to Upgrade to Java 16 or 17<\/a><\/li><\/ol>\n","innerContent":["\n<ol><li><a href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-jdk-17-generally-available\">Java 17 is here: 14 JEPs with exciting new language and JVM features<\/a><\/li><li><a href=\"https:\/\/www.infoq.com\/articles\/why-how-upgrade-java17\/\">Why and How to Upgrade to Java 16 or 17<\/a><\/li><\/ol>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2><a href=\"https:\/\/inside.java\/2021\/09\/10\/what-are-modules-about\/\">2. Ron Pressler t\u0142umaczy po co nam w og\u00f3le JPMS<\/a> \ud83d\udc68\u200d\ud83c\udfeb<\/h2>\n","innerContent":["\n<h2><a href=\"https:\/\/inside.java\/2021\/09\/10\/what-are-modules-about\/\">2. Ron Pressler t\u0142umaczy po co nam w og\u00f3le JPMS<\/a> \ud83d\udc68\u200d\ud83c\udfeb<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>My tu informujemy o Javie 17 i co ona przynosi, ale pewnie ju\u017c \u0142atwo zauwa\u017cy\u0107, \u017ce nawet przeskakuj\u0105c z JDK 8 nie b\u0119dziemy tu mieli do czynienia z wielk\u0105 rewolucj\u0105 je\u015bli chodzi o to, jak pisze si\u0119 Javowe aplikacje. Wynika to troch\u0119 z faktu, \u017ce tak naprawd\u0119 najwi\u0119ksza chyba rewolucja ostatnich lat, czyli JPMS (znany te\u017c pod swoj\u0105 kodow\u0105 nazw\u0105 Jigsaw) nigdy nie zosta\u0142a realnie skonsumowana przez ekosystem.&nbsp;<\/p>\n","innerContent":["\n<p>My tu informujemy o Javie 17 i co ona przynosi, ale pewnie ju\u017c \u0142atwo zauwa\u017cy\u0107, \u017ce nawet przeskakuj\u0105c z JDK 8 nie b\u0119dziemy tu mieli do czynienia z wielk\u0105 rewolucj\u0105 je\u015bli chodzi o to, jak pisze si\u0119 Javowe aplikacje. Wynika to troch\u0119 z faktu, \u017ce tak naprawd\u0119 najwi\u0119ksza chyba rewolucja ostatnich lat, czyli JPMS (znany te\u017c pod swoj\u0105 kodow\u0105 nazw\u0105 Jigsaw) nigdy nie zosta\u0142a realnie skonsumowana przez ekosystem.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wida\u0107, \u017ce tw\u00f3rcom Javy bardzo le\u017cy to na sercu, bowiem tekst na temat zalet javowej modularyzacji opublikowa\u0142 niedawno Ron Pressler. Architekt j\u0119zyka pracuj\u0105cy ostatnio g\u0142\u00f3wnie nad Project Loom. Postawi\u0142 on na prac\u0119 u podstaw, prezentuj\u0105c ponownie pryncypia stoj\u0105ce za sam\u0105 ide\u0105 javowej modularyzacji, kt\u00f3re przez lata (dziewi\u0105tka jest z nami ju\u017c prawie p\u00f3\u0142 dekady) zd\u0105\u017cy\u0142y gdzie\u015b zgin\u0105\u0107. Dlatego te\u017c du\u017co nacisku po\u0142o\u017cone jest w tek\u015bcie na \u0142atwo\u015b\u0107 zarz\u0105dzanie classpathem oraz siln\u0105 enkapsulacje, jak\u0105 modu\u0142y przynosz\u0105. Og\u00f3lnie je\u015bli kiedykolwiek zastanawiali\u015bcie si\u0119, dlaczego warto zainteresowa\u0107 si\u0119 modu\u0142ami - polecam lektur\u0119.<br><br>Liczmy na to, \u017ce wraz z porzucaniem przez wiele projekt\u00f3w wsparcia dla Javy 8, modu\u0142y zaczn\u0105 si\u0119 upowszechnia\u0107. My\u015bl\u0119, \u017ce ka\u017cdy kto przeczyta\u0142 artyku\u0142 Rona znajdzie dla siebie jaki\u015b dobry pow\u00f3d do migracji.&nbsp;<\/p>\n","innerContent":["\n<p>Wida\u0107, \u017ce tw\u00f3rcom Javy bardzo le\u017cy to na sercu, bowiem tekst na temat zalet javowej modularyzacji opublikowa\u0142 niedawno Ron Pressler. Architekt j\u0119zyka pracuj\u0105cy ostatnio g\u0142\u00f3wnie nad Project Loom. Postawi\u0142 on na prac\u0119 u podstaw, prezentuj\u0105c ponownie pryncypia stoj\u0105ce za sam\u0105 ide\u0105 javowej modularyzacji, kt\u00f3re przez lata (dziewi\u0105tka jest z nami ju\u017c prawie p\u00f3\u0142 dekady) zd\u0105\u017cy\u0142y gdzie\u015b zgin\u0105\u0107. Dlatego te\u017c du\u017co nacisku po\u0142o\u017cone jest w tek\u015bcie na \u0142atwo\u015b\u0107 zarz\u0105dzanie classpathem oraz siln\u0105 enkapsulacje, jak\u0105 modu\u0142y przynosz\u0105. Og\u00f3lnie je\u015bli kiedykolwiek zastanawiali\u015bcie si\u0119, dlaczego warto zainteresowa\u0107 si\u0119 modu\u0142ami - polecam lektur\u0119.<br><br>Liczmy na to, \u017ce wraz z porzucaniem przez wiele projekt\u00f3w wsparcia dla Javy 8, modu\u0142y zaczn\u0105 si\u0119 upowszechnia\u0107. My\u015bl\u0119, \u017ce ka\u017cdy kto przeczyta\u0142 artyku\u0142 Rona znajdzie dla siebie jaki\u015b dobry pow\u00f3d do migracji.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":2325,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/giphy-31.gif\" alt=\"\" class=\"wp-image-2325\"\/><figcaption>Ka\u017cdy nieszcz\u0119\u015bliwy codebase jest w ko\u0144cu nieszcz\u0119\u015bliwy na sw\u00f3j w\u0142asny spos\u00f3b.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/09\/giphy-31.gif\" alt=\"\" class=\"wp-image-2325\"\/><figcaption>Ka\u017cdy nieszcz\u0119\u015bliwy codebase jest w ko\u0144cu nieszcz\u0119\u015bliwy na sw\u00f3j w\u0142asny spos\u00f3b.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3><meta charset=\"utf-8\">\u0179r\u00f3d\u0142o<\/h3>\n","innerContent":["\n<h3><meta charset=\"utf-8\">\u0179r\u00f3d\u0142o<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/inside.java\/2021\/09\/10\/what-are-modules-about\/\">What modules are about \u2013 Inside.java<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/inside.java\/2021\/09\/10\/what-are-modules-about\/\">What modules are about \u2013 Inside.java<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. Jakarta Faces w pa\u017adzierniku doczeka si\u0119 czwartej edycji<\/h2>\n","innerContent":["\n<h2>3. Jakarta Faces w pa\u017adzierniku doczeka si\u0119 czwartej edycji<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A na koniec, po wielkich javowych zapowiedziach - co\u015b ciut hermetycznego Te\u017c zapomnieli\u015bcie \u017ce ten projekt istnieje?<\/p>\n","innerContent":["\n<p>A na koniec, po wielkich javowych zapowiedziach - co\u015b ciut hermetycznego Te\u017c zapomnieli\u015bcie \u017ce ten projekt istnieje?<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":244,"height":384},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a885b945888.png\" alt=\"\" width=\"244\" height=\"384\"\/><figcaption>Na pewno zapomnia\u0142a Wikipedia - na ich stronie aktualna edycja to 2.32, pomimo \u017ce stabilne 3.0 jest dost\u0119pna od pa\u017adziernika 2020.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a885b945888.png\" alt=\"\" width=\"244\" height=\"384\"\/><figcaption>Na pewno zapomnia\u0142a Wikipedia - na ich stronie aktualna edycja to 2.32, pomimo \u017ce stabilne 3.0 jest dost\u0119pna od pa\u017adziernika 2020.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Przyznam, \u017ce mimo du\u017cej dozy sympatii do Javy EE, Java Server Faces (enigmatycznie m\u00f3wi\u0105c) nigdy nie nale\u017ca\u0142y do moich ulubionych rozwi\u0105za\u0144 - i mam wra\u017cenie, \u017ce nie jestem w tym odosobniony. Koncept cross-warstwowych komponent\u00f3w brzmi co prawda dobrze na papierze, ale w praktyce wymaga\u0142 zawsze za du\u017co \u201ckleju\u201d, a zarz\u0105dzanie stanem i komunikacja mi\u0119dzy poszczeg\u00f3lnymi elementami UI by\u0142a zawsze bardzo niewdzi\u0119cznym zadaniem. Dodatkowo, przez d\u0142ugi czas takie frameworki jak np. najpopularniejszy chyba <a href=\"https:\/\/www.primefaces.org\/\">PrimeFaces<\/a> bardzo \u201clagowa\u0142y\u201d za \u015bwiatem JavaScriptu. S\u0142ysza\u0142em, \u017ce sytuacja si\u0119 nieco pod tym wzgl\u0119de polepszy\u0142a, ale w mi\u0119dzyczasie spo\u0142eczno\u015b\u0107 oberwa\u0142a kolejnym ciosem - Oracle postanowi\u0142o przesta\u0107 rozwija\u0107 JSF (wraz z ca\u0142\u0105 Javy EE).<\/p>\n","innerContent":["\n<p>Przyznam, \u017ce mimo du\u017cej dozy sympatii do Javy EE, Java Server Faces (enigmatycznie m\u00f3wi\u0105c) nigdy nie nale\u017ca\u0142y do moich ulubionych rozwi\u0105za\u0144 - i mam wra\u017cenie, \u017ce nie jestem w tym odosobniony. Koncept cross-warstwowych komponent\u00f3w brzmi co prawda dobrze na papierze, ale w praktyce wymaga\u0142 zawsze za du\u017co \u201ckleju\u201d, a zarz\u0105dzanie stanem i komunikacja mi\u0119dzy poszczeg\u00f3lnymi elementami UI by\u0142a zawsze bardzo niewdzi\u0119cznym zadaniem. Dodatkowo, przez d\u0142ugi czas takie frameworki jak np. najpopularniejszy chyba <a href=\"https:\/\/www.primefaces.org\/\">PrimeFaces<\/a> bardzo \u201clagowa\u0142y\u201d za \u015bwiatem JavaScriptu. S\u0142ysza\u0142em, \u017ce sytuacja si\u0119 nieco pod tym wzgl\u0119de polepszy\u0142a, ale w mi\u0119dzyczasie spo\u0142eczno\u015b\u0107 oberwa\u0142a kolejnym ciosem - Oracle postanowi\u0142o przesta\u0107 rozwija\u0107 JSF (wraz z ca\u0142\u0105 Javy EE).<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":[],"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/Follower_of_Jheronimus_Bosch_Christ_in_Limbo.jpg\" alt=\"File:Follower of Jheronimus Bosch Christ in Limbo.jpg - Wikimedia Commons\"\/><figcaption>\"Limbo Projektowe\" Hieronim Bosh<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/Follower_of_Jheronimus_Bosch_Christ_in_Limbo.jpg\" alt=\"File:Follower of Jheronimus Bosch Christ in Limbo.jpg - Wikimedia Commons\"\/><figcaption>\"Limbo Projektowe\" Hieronim Bosh<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Oczywi\u015bcie, istnieje gdzie\u015b drugie \u017cycie dla wszystkich \u201cporzuconych\u201d - zostaj\u0105 one oddane spo\u0142eczno\u015bci. I tak jak Jakarta EE czy JavaFX (o kt\u00f3rej wydaniu 17 pisali\u015bmy tydzie\u0144 temu) tak\u017ce JSFy s\u0105 ci\u0105gle rozwijane pod nazw\u0105 Jakarta Faces. Tw\u00f3rcy rozwi\u0105zania poinformowali niedawno o planach na wersje czwart\u0105, kt\u00f3ra ukaza\u0107 si\u0119 ma w pa\u017adzierniku, wraz z Jakart\u0105 EE 10. Lista zmian jest interesuj\u0105ca, gdy\u017c autorzy rozwi\u0105zania zdecydowali si\u0119 skupi\u0107 na pozbyciu spowalniaj\u0105cego ich balastu. Nareszcie usuni\u0119te zostan\u0105 stare deprekacje (cze\u015b\u0107 z nich si\u0119gaj\u0105cych jeszcze JSF 2.x). Podj\u0119to te\u017c decyzj\u0119 o pozbyciu si\u0119 Full State Saving (je\u015bli chcecie si\u0119 dowiedzie\u0107 wi\u0119cej o tej funkcji - uda\u0142o mi si\u0119 wygrzeba\u0107 <a href=\"http:\/\/www.ijcttjournal.org\/2018\/Volume56\/number-1\/IJCTT-V56P103.pdf\">ciekaw\u0105 publikacj\u0119<\/a> na temat zarz\u0105dzania stanem w JSFach). Opr\u00f3cz tego, podobnie jak Jakarta EE 10, nowa wersja JSF\u00f3w to r\u00f3wnie\u017c kolejne kroki w migracji z EJB na CDI.<\/p>\n","innerContent":["\n<p>Oczywi\u015bcie, istnieje gdzie\u015b drugie \u017cycie dla wszystkich \u201cporzuconych\u201d - zostaj\u0105 one oddane spo\u0142eczno\u015bci. I tak jak Jakarta EE czy JavaFX (o kt\u00f3rej wydaniu 17 pisali\u015bmy tydzie\u0144 temu) tak\u017ce JSFy s\u0105 ci\u0105gle rozwijane pod nazw\u0105 Jakarta Faces. Tw\u00f3rcy rozwi\u0105zania poinformowali niedawno o planach na wersje czwart\u0105, kt\u00f3ra ukaza\u0107 si\u0119 ma w pa\u017adzierniku, wraz z Jakart\u0105 EE 10. Lista zmian jest interesuj\u0105ca, gdy\u017c autorzy rozwi\u0105zania zdecydowali si\u0119 skupi\u0107 na pozbyciu spowalniaj\u0105cego ich balastu. Nareszcie usuni\u0119te zostan\u0105 stare deprekacje (cze\u015b\u0107 z nich si\u0119gaj\u0105cych jeszcze JSF 2.x). Podj\u0119to te\u017c decyzj\u0119 o pozbyciu si\u0119 Full State Saving (je\u015bli chcecie si\u0119 dowiedzie\u0107 wi\u0119cej o tej funkcji - uda\u0142o mi si\u0119 wygrzeba\u0107 <a href=\"http:\/\/www.ijcttjournal.org\/2018\/Volume56\/number-1\/IJCTT-V56P103.pdf\">ciekaw\u0105 publikacj\u0119<\/a> na temat zarz\u0105dzania stanem w JSFach). Opr\u00f3cz tego, podobnie jak Jakarta EE 10, nowa wersja JSF\u00f3w to r\u00f3wnie\u017c kolejne kroki w migracji z EJB na CDI.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u017celi chcecie sprawdzi\u0107 now\u0105 wersje w praktyce, w Maven Repository znajdziecie<a href=\"https:\/\/mvnrepository.com\/artifact\/org.glassfish\/jakarta.faces\/4.0.0-M1\"> pierwszego Milestone\u2019a<\/a>. Have fun \ud83d\ude07<\/p>\n","innerContent":["\n<p>Je\u017celi chcecie sprawdzi\u0107 now\u0105 wersje w praktyce, w Maven Repository znajdziecie<a href=\"https:\/\/mvnrepository.com\/artifact\/org.glassfish\/jakarta.faces\/4.0.0-M1\"> pierwszego Milestone\u2019a<\/a>. Have fun \ud83d\ude07<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3><meta charset=\"utf-8\">\u0179r\u00f3d\u0142o<\/h3>\n","innerContent":["\n<h3><meta charset=\"utf-8\">\u0179r\u00f3d\u0142o<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/mvnrepository.com\/artifact\/org.glassfish\/jakarta.faces\/4.0.0-M1\">org.glassfish \u00bb jakarta.faces \u00bb 4.0.0-M1<\/a><\/li><li><a href=\"http:\/\/www.ijcttjournal.org\/2018\/Volume56\/number-1\/IJCTT-V56P103.pdf\">State Management, Partial and Full State Saving Strategy - JavaServer Faces<\/a><\/li><li><a href=\"https:\/\/www.primefaces.org\/\">PrimeFaces \u2013 Ultimate UI Framework<\/a><\/li><li><a href=\"https:\/\/jakarta.ee\/specifications\/faces\/4.0\/\">Jakarta Server Faces 4.0 (Under Development) | The Eclipse Foundation<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/mvnrepository.com\/artifact\/org.glassfish\/jakarta.faces\/4.0.0-M1\">org.glassfish \u00bb jakarta.faces \u00bb 4.0.0-M1<\/a><\/li><li><a href=\"http:\/\/www.ijcttjournal.org\/2018\/Volume56\/number-1\/IJCTT-V56P103.pdf\">State Management, Partial and Full State Saving Strategy - JavaServer Faces<\/a><\/li><li><a href=\"https:\/\/www.primefaces.org\/\">PrimeFaces \u2013 Ultimate UI Framework<\/a><\/li><li><a href=\"https:\/\/jakarta.ee\/specifications\/faces\/4.0\/\">Jakarta Server Faces 4.0 (Under Development) | The Eclipse Foundation<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":{"opacity":"css"},"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":{"className":"vived-promo"},"innerBlocks":[],"innerHTML":"\n<p class=\"vived-promo\">\u200cPami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Vived<\/a>, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!<\/p>\n","innerContent":["\n<p class=\"vived-promo\">\u200cPami\u0119tajcie, \u017ceby spr\u00f3bowa\u0107 <a href=\"https:\/\/vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Vived<\/a>, je\u015bli chcesz otrzymywa\u0107 tego typu tre\u015bci spersonalizowane pod Ciebie!<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":{"className":"vived-promo"},"innerBlocks":[],"innerHTML":"\n<ul class=\"vived-promo\"><li><a href=\"https:\/\/apple.co\/3fB8Kcf\">App Store<\/a><\/li><li><a href=\"https:\/\/bit.ly\/3m421dx\">Play Store<\/a><\/li><li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li><\/ul>\n","innerContent":["\n<ul class=\"vived-promo\"><li><a href=\"https:\/\/apple.co\/3fB8Kcf\">App Store<\/a><\/li><li><a href=\"https:\/\/bit.ly\/3m421dx\">Play Store<\/a><\/li><li><a href=\"http:\/\/bit.ly\/2M7CeUN\">Wersja PWA<\/a><\/li><\/ul>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10082","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=10082"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10082\/revisions"}],"predecessor-version":[{"id":10556,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10082\/revisions\/10556"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/7693"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}