{"id":10121,"date":"2021-06-22T12:45:00","date_gmt":"2021-06-22T10:45:00","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-43\/"},"modified":"2022-09-19T13:10:52","modified_gmt":"2022-09-19T11:10:52","slug":"jvm-tuesday-vol-43","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/","title":{"rendered":"JVM Tuesday vol. 43"},"content":{"rendered":"<h2 id=\"1-jvm-ecosystem-report-2021-zawiera-mase-ciekawego-info\" data-num=1>1. <a href=\"https:\/\/snyk.io\/jvm-ecosystem-report-2021\/\">JVM Ecosystem Report 2021 zawiera mas\u0119 ciekawego info<\/a><\/h2>\n<p>Bardzo cz\u0119sto pisz\u0105c nasze przegl\u0105dy, potrzebuje kontekstu. \u015aledz\u0105c bran\u017cowe newsy \u0142atwo wpa\u015b\u0107 w banieczk\u0119, w kt\u00f3rej ka\u017cdy u\u017cywa Kotlina i najnowszej Javy, ale zdaje sobie spraw\u0119, \u017ce realny \u015bwiat tak nie wygl\u0105da.<\/p>\n<p>Jak zwykle w wypadku tego typu raport\u00f3w, warto rzuci\u0107 okiem na badan\u0105 grup\u0119.<\/p>\n<p>Ankieta zosta\u0142a przeprowadzona w okresie sze\u015bciu tygodni do lutego i marca 2021 roku, gromadz\u0105c odpowiedzi od ponad 2000 programist\u00f3w Java. Ankieta jest wynikiem wsp\u00f3\u0142pracy mi\u0119dzy Snyk (platforma b\u0119d\u0105ca zestawem narz\u0119dzi, zapewniaj\u0105cych \u201cbezpiecze\u0144stwo dla system\u00f3w o du\u017cej skali\u201d) i Azul (tw\u00f3rcy rozwijaj\u0105cy swoje w\u0142asne JDK), a przy jej przygotowaniu pomaga\u0142 r\u00f3wnie\u017c portal Foojay.io, Wirtualne JUGi oraz Joshem Longiem, rzecznikiem programist\u00f3w Springa. W tym miejscu pozwol\u0119 sobie wrzuci\u0107 bardzo \u0142adne graficzne podsumowanie, jakiego dokonali Tw\u00f3rcy raportu:<\/p>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png\" alt=\"\" \/><\/figure>\n<p>A teraz szczeg\u00f3\u0142y:<\/p>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094b41a61.png\" alt=\"\" \/><\/figure>\n<p>Zacznijmy od podstaw i klasycznie przygl\u0105dnijmy si\u0119, jak wygl\u0105da u\u017cycie poszczeg\u00f3lnych wersji JDK wed\u0142ug Snyk. Tutaj dane s\u0105 niezwykle zaskakuj\u0105ce &#8211; wed\u0142ug raportu Snyk, ~60% programist\u00f3w u\u017cywa JDK 11 na produkcji, co jest wynikiem zbli\u017conym do pokrycia rynku, jakie w raporcie zdoby\u0142a JDK 8. Ostatnie dane, z jakimi mia\u0142em okazj\u0119 si\u0119 zapozna\u0107 (State of Developer Ecosystem od JetBrains) wskazywa\u0142y na odpowiednio 32% i 75% dla JDK 11 i 8. Dane od Snyk mog\u0105 mie\u0107 nieco inn\u0105 demografi\u0119, ale w ci\u0105gu roku, jaki min\u0105\u0142 od publikacji raportu tw\u00f3rc\u00f3w Intellij, najnowszy LTS zdaje si\u0119 zyskiwa\u0107 na popularno\u015bci.<\/p>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094c39b4d.png\" alt=\"\" \/><\/figure>\n<p>Je\u017celi chodzi o Frameworki, to z pewno\u015bci\u0105 bryluje Spring Boot. Jednocze\u015bnie jednak wersja \u201centerprajsowa\u201d Javy te\u017c sprawdza si\u0119 ca\u0142kiem nie\u017ale &#8211; je\u017celi zsumowa\u0107 Jav\u0119 EE, Jakart\u0119 EE i Quarkusa, dostaniemy ca\u0142kiem solidny procent &#8211; aczkolwiek podejrzewam \u017ce standard\u00f3w tych u\u017cywaj\u0105 wzajemnie ci sami programi\u015bci. Mimo wszystko 24% Javy EE robi wra\u017cenie, podobnie jak 7% MicroProfile &#8211; zw\u0142aszcza jak zestawi si\u0119 to z mizernymi 5% Micronauta, do niedawna uznanego jako kr\u00f3la lekkich framework\u00f3w javowych, kt\u00f3ry zdaje si\u0119 nieco traci\u0107 impet. Zaskakuj\u0105cy jest brak Helidona &#8211; bior\u0105c pod uwag\u0119 jak bardzo niszowe rozwi\u0105zania (Wicket? Grails?) zosta\u0142y uj\u0119te, podejrzewam, \u017ce Helidon mo\u017ce jednak zawiera\u0107 ca\u0142kiem spor\u0105 cz\u0119\u015b\u0107 7% opisanych jako Other.<\/p>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094d52923.png\" alt=\"\" \/><\/figure>\n<p>Jednak raport Snyk ma te\u017c statystyk\u0119, kt\u00f3rej nigdy dot\u0105d nie by\u0142em w stanie znale\u017a\u0107 &#8211; jak wygl\u0105da proporcja u\u017cywania konkretnych narz\u0119dzi do budowania. Za ka\u017cdym razem, gdy opisuje, jak coraz popularniejszy staje si\u0119 Gradle zastanawiam si\u0119, czy jego mia\u017cd\u017c\u0105ca przewaga nad Mavenem w mojej g\u0142owie to nie w\u0142a\u015bnie odprysk tej banieczki. Okazuje si\u0119, \u017ce po raz kolejny z\u0142apa\u0142em si\u0119 na w\u0142asnym b\u0142\u0119dzie poznawczym. Maven jest u\u017cywane przez solidne 76% programist\u00f3w i cho\u0107 38% Gradle robi wra\u017cenie, to jednak do \u201ckr\u00f3la\u201d troch\u0119 mu jeszcze brakuje.<\/p>\n<p>Og\u00f3lnie fajnie, \u017ce posiadamy kolejne interesuj\u0105ce \u017ar\u00f3d\u0142o statystyk. Mam nadzieje, \u017ce Snyk b\u0119dzie kontynuowa\u0142 inicjatyw\u0119 w nast\u0119pnych latach.<\/p>\n<h2 id=\"2-tworcy-kotlina-zrobili-ama-i-odpowiadaja-na-pytania-o-przyszlosc-jezyka\" data-num=2>2. <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/06\/answering-the-top-10-questions-about-kotlin-s-future\/\">Tw\u00f3rcy Kotlina zrobili AMA i odpowiadaj\u0105 na pytania o przysz\u0142o\u015b\u0107 j\u0119zyka<\/a> \u200d\u2642\ufe0f<\/h2>\n<figure class=\"kg-card kg-image-card\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-46.png\" alt=\"\" width=\"487\" height=\"366\" \/><\/figure>\n<p>Rozw\u00f3j Kotlina (wed\u0142ug powy\u017cszego raportu Snyk, drugiego co do popularno\u015bci j\u0119zyka JVMowego) bardzo interesuj\u0105co si\u0119 obserwuje. JetBrainsi s\u0105 bardzo otwarci. Roman Elizarov, lead projektu, w fantastyczny spos\u00f3b dzieli si\u0119 decyzjami projektowymi stoj\u0105cymi za poszczeg\u00f3lnymi featurami (szczeg\u00f3lnie jego talki na temat korutyn i structured concurrency nale\u017c\u0105 do moich ulubionych w temacie j\u0119zyk\u00f3w programowania). Jak bardzo otwarty jest to zesp\u00f3\u0142 niech \u015bwiadczy fakt, \u017ce wraz z premier\u0105 wersji 1.5 j\u0119zyka pojawi\u0142o si\u0119 na Redditcie Kotlinowe AMA, kt\u00f3rego opracowanie dostali\u015bmy w\u0142a\u015bnie w \u0142apki. Rzu\u0107my zatem okiem, co wyp\u0142yn\u0119\u0142o po wzi\u0119ciu kotlinowego zespo\u0142u na spytki.<\/p>\n<p>Lista zawiera kilka ciekawych punkt\u00f3w, aczkolwiek brakuje na niej jakich\u015b olbrzymich zaskocze\u0144. Przyk\u0142adowo, ju\u017c nied\u0142ugo mo\u017cemy spodziewa\u0107 si\u0119 zupe\u0142nie nowego spo\u0142eczno\u015bciowego g\u0142osowania na nowe funkcjonalno\u015bci. Sam Roman Elizarov przyznaje te\u017c, \u017ce nie widzi problem\u00f3w w nad\u0105\u017caniu za bardzo dynamicznym rozwojem samego JDKa (co nie powinno dziwi\u0107, bior\u0105c pod uwag\u0119 ogrom inwestycji, jakie poczyniono w zwi\u0105zku z nowym formatem po\u015brednim). Nikogo (kto czyta nasze przegl\u0105dy ) nie zaskoczy te\u017c raczej fakt, \u017ce wspomniany nowy format po\u015bredni ma przyczyni\u0107 si\u0119 do szybszej kompilacji \u017ar\u00f3de\u0142.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-45.png\" alt=\"\" width=\"244\" height=\"244\" \/><figcaption>Nowy format po\u015bredni troch\u0119 zbli\u017ca do siebie oba j\u0119zyki.<\/figcaption><\/figure>\n<p>Dla niekt\u00f3rych rozczarowuj\u0105cym mo\u017ce by\u0107 fakt, \u017ce nie nale\u017cy raczej w najbli\u017cszym czasie spodziewa\u0107 si\u0119 realnej implementacji Pattern Matchingu. Kotlin wybra\u0142 tutaj p\u00f3\u0142\u015brodki, podobnie jak w wypadku Javy. Nie nale\u017cy te\u017c spodziewa\u0107 natywnego wsparcia dla Dependency Injection, to ma pozosta\u0107 domen\u0105 bibliotek.<\/p>\n<p>Najciekawsze s\u0105 z pewno\u015bci\u0105 fragmenty, gdzie zamiast prostych odpowiedzi, go\u015bcie AMA postanawiaj\u0105 rozbudowa\u0107 nieco swoje wypowiedzi. Mo\u017cemy dowiedzie\u0107 si\u0119 np. \u017ce tw\u00f3rc\u00f3w kusi cross-kompilacja z TypeScriptem, ale na drodze stoj\u0105 r\u00f3\u017cnice w systemach typ\u00f3w obu j\u0119zyk\u00f3w. Jeszcze ciekawsze wydaj\u0105 si\u0119 by\u0107 zakusy dotycz\u0105ce Springa &#8211; rozwa\u017cane s\u0105 bardzo r\u00f3\u017cne, nieco wariackie kierunki, jak np. maria\u017c Kotlina Native i Spring Native, czy u\u017cycie Kotlin\/JS do generowania kodu frontendowego dla frameworku Pivotala. Planowane jest te\u017c wsparcie rozwoju biblioteki <a href=\"https:\/\/github.com\/rsocket\/rsocket-kotlin\">rsocket-kotlin<\/a>, rozwijanej przez zesp\u00f3\u0142 springowy alternatywy to gRPC. A tak\u017ce w planach jest \u00a0wsparcie metaprogramingu m.in. pod postaci\u0105 plugin\u00f3w do kompilatora.<\/p>\n<p>Og\u00f3lnie polecam zerkn\u0105\u0107 do samego artyku\u0142u, gdy\u017c jest on do\u015b\u0107 zwi\u0119z\u0142y i prowadzi do oryginalnych w\u0105tk\u00f3w Redditowych, gdzie przeprowadzane by\u0142o AMA.<\/p>\n<h2 id=\"3-najpopularniejszy-serwer-aplikacyjny-jakarty-ee-z-nowym-wydaniem\" data-num=3><a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">3. Najpopularniejszy serwer aplikacyjny Jakarty EE z nowym wydaniem<\/a><\/h2>\n<p>A na koniec, co\u015b dla fan\u00f3w Ja<br \/>\nkarty EE. Jak wiemy z raportu Snyka z pierwszej sekcji, Java\/Jakarta EE ci\u0105gle jeszcze \u017cyje i kopie, a z ankiety spo\u0142eczno\u015bci (tak, dzisiaj jest dzie\u0144 raport\u00f3w) <a href=\"https:\/\/arjan-tijms.omnifaces.org\/2021\/02\/jakarta-ee-survey-20202021-results.html\">opublikowanej w lutym<\/a> dowiedzieli\u015bmy si\u0119, \u017ce najpopularniejszym serwerem aplikacyjnym jest WildFly. Czy zatem mogli\u015bmy przegapi\u0107 jego now\u0105, dwudziest\u0105 czwart\u0105 ju\u017c wersje?<\/p>\n<p>Po prawdzie\u2026 zastanawia\u0142em si\u0119.<\/p>\n<p>Tak naprawd\u0119 ci\u0119\u017cko si\u0119 by\u0142o spodziewa\u0107 jakich\u015b wi\u0119kszych ruch\u00f3w, bior\u0105c pod uwag\u0119 \u017ce dopiero, co \u015bwiat obieg\u0142a informacja o wydaniu wersji 23. Co prawda <a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">opisywana dzisiaj edycja<\/a> jest pierwszym stabilnym wydaniem przynosz\u0105cym certyfikacje Jakarta EE 9.1, jednak prawd\u0119 m\u00f3wi\u0105c jest to zaledwie spijanie \u015bmietanki po zmianach dostarczonych przez kolejne wersje preview \u201cdwudziestki tr\u00f3jki\u201d. Je\u015bli patrze\u0107 od strony programistycznej, nowa wersja \u201cwa\u017cki\u201d przynosi zaledwie wsparcie dla <a href=\"https:\/\/projects.eclipse.org\/projects\/technology.microprofile\/releases\/reactive-streams-operators-2.0\">Reactive Streams Operators API w wersji 2.0<\/a>, kt\u00f3re samo w sobie te\u017c jakim\u015b wielkim \u201capdejtem\u201d nie jest. Opr\u00f3cz tego zmiany to drobnica, aczkolwiek co poniekt\u00f3rych mo\u017ce zainteresowa\u0107 to, \u017ce serwer aplikacyjny usuwa wsparcie dla Jacksona w wersji v1.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-44.png\" sizes=\"auto, (min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-44.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-44.png 749w\" alt=\"\" width=\"749\" height=\"498\" \/><figcaption>By\u0142o to kolejnym ca\u0142kiem interesuj\u0105cym faktem na kupce wiedzy niepotrzebnej i przechowywanej w g\u0142owie.<\/figcaption><\/figure>\n<p>Wi\u0119cej ciekawego tak naprawd\u0119 zawiera sekcja Preview. O ile sugerowan\u0105 wersj\u0105 JDK dla WildFly wci\u0105\u017c jest ju\u017c troszk\u0119 leciwa wersja 11 LTS, to powoli testowana jest r\u00f3wnie\u017c wersja 16 oraz 17 &#8211; takowa podobno sprawuje si\u0119 bardzo dobrze, tak\u017ce mo\u017cliwe \u017ce ju\u017c nied\u0142ugo (WildFly 25? 26?) doczekamy si\u0119 wsparcia dla nowego LTSa.<\/p>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82o\">\u0179r\u00f3d\u0142o<\/h3>\n<ul>\n<li><a href=\"https:\/\/projects.eclipse.org\/projects\/technology.microprofile\/releases\/reactive-streams-operators-2.0\">MicroProfile\u00ae Reactive Streams Operators 2.0<\/a><\/li>\n<li><a href=\"https:\/\/arjan-tijms.omnifaces.org\/2021\/02\/jakarta-ee-survey-20202021-results.html\">Jakarta EE Survey 2020\/2021 &#8211; results<\/a><\/li>\n<li><a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">WildFly 2<\/a>4 is released!<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Dzisiejsza edycja powstawa\u0142a pod os\u0142on\u0105 nocy, na balkonie, przy herbacie z lodem \ud83e\uded6\ud83e\uddca &#8211; to jest dobre wspomnienie bior\u0105c pod uwag\u0119 temperatur\u0119 dzisiejszego dnia. Mamy jednak nadzieje \u017ce dzisiejszy przegl\u0105d umili Wam ten gor\u0105cy dzie\u0144 \ud83e\udd75.<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10121","post","type-post","status-publish","format-standard","hentry","category-jvm-pl"],"acf":{"weekly_summary":true,"estimated_reading_time":"6"},"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. 43 - 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-43\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol. 43 - Vived\" \/>\n<meta property=\"og:description\" content=\"Dzisiejsza edycja powstawa\u0142a pod os\u0142on\u0105 nocy, na balkonie, przy herbacie z lodem \ud83e\uded6\ud83e\uddca - to jest dobre wspomnienie bior\u0105c pod uwag\u0119 temperatur\u0119 dzisiejszego dnia. Mamy jednak nadzieje \u017ce dzisiejszy przegl\u0105d umili Wam ten gor\u0105cy dzie\u0144 \ud83e\udd75.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-22T10:45:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.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-43\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol. 43\",\"datePublished\":\"2021-06-22T10:45:00+00:00\",\"dateModified\":\"2022-09-19T11:10:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/\"},\"wordCount\":1222,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/\",\"name\":\"JVM Tuesday vol. 43 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png\",\"datePublished\":\"2021-06-22T10:45:00+00:00\",\"dateModified\":\"2022-09-19T11:10:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol. 43\"}]},{\"@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. 43 - 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-43\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol. 43 - Vived","og_description":"Dzisiejsza edycja powstawa\u0142a pod os\u0142on\u0105 nocy, na balkonie, przy herbacie z lodem \ud83e\uded6\ud83e\uddca - to jest dobre wspomnienie bior\u0105c pod uwag\u0119 temperatur\u0119 dzisiejszego dnia. Mamy jednak nadzieje \u017ce dzisiejszy przegl\u0105d umili Wam ten gor\u0105cy dzie\u0144 \ud83e\udd75.","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/","og_site_name":"Vived","article_published_time":"2021-06-22T10:45:00+00:00","article_modified_time":"2022-09-19T11:10:52+00:00","og_image":[{"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png","type":"","width":"","height":""}],"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-43\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol. 43","datePublished":"2021-06-22T10:45:00+00:00","dateModified":"2022-09-19T11:10:52+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/"},"wordCount":1222,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png","articleSection":["JVM"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/","name":"JVM Tuesday vol. 43 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png","datePublished":"2021-06-22T10:45:00+00:00","dateModified":"2022-09-19T11:10:52+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-43\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol. 43"}]},{"@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":null,"attrs":[],"innerBlocks":[],"innerHTML":"<h2 id=\"1-jvm-ecosystem-report-2021-zawiera-mas%C4%99-ciekawego-info-%F0%9F%93%8A\">1. <a href=\"https:\/\/snyk.io\/jvm-ecosystem-report-2021\/\">JVM Ecosystem Report 2021 zawiera mas\u0119 ciekawego info<\/a><\/h2>\nBardzo cz\u0119sto pisz\u0105c nasze przegl\u0105dy, potrzebuje kontekstu. \u015aledz\u0105c bran\u017cowe newsy \u0142atwo wpa\u015b\u0107 w banieczk\u0119, w kt\u00f3rej ka\u017cdy u\u017cywa Kotlina i najnowszej Javy, ale zdaje sobie spraw\u0119, \u017ce realny \u015bwiat tak nie wygl\u0105da.\n\nJak zwykle w wypadku tego typu raport\u00f3w, warto rzuci\u0107 okiem na badan\u0105 grup\u0119.\n\nAnkieta zosta\u0142a przeprowadzona w okresie sze\u015bciu tygodni do lutego i marca 2021 roku, gromadz\u0105c odpowiedzi od ponad 2000 programist\u00f3w Java. Ankieta jest wynikiem wsp\u00f3\u0142pracy mi\u0119dzy Snyk (platforma b\u0119d\u0105ca zestawem narz\u0119dzi, zapewniaj\u0105cych \u201cbezpiecze\u0144stwo dla system\u00f3w o du\u017cej skali\u201d) i Azul (tw\u00f3rcy rozwijaj\u0105cy swoje w\u0142asne JDK), a przy jej przygotowaniu pomaga\u0142 r\u00f3wnie\u017c portal Foojay.io, Wirtualne JUGi oraz Joshem Longiem, rzecznikiem programist\u00f3w Springa. W tym miejscu pozwol\u0119 sobie wrzuci\u0107 bardzo \u0142adne graficzne podsumowanie, jakiego dokonali Tw\u00f3rcy raportu:\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png\" alt=\"\" \/><\/figure>\nA teraz szczeg\u00f3\u0142y:\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094b41a61.png\" alt=\"\" \/><\/figure>\nZacznijmy od podstaw i klasycznie przygl\u0105dnijmy si\u0119, jak wygl\u0105da u\u017cycie poszczeg\u00f3lnych wersji JDK wed\u0142ug Snyk. Tutaj dane s\u0105 niezwykle zaskakuj\u0105ce - wed\u0142ug raportu Snyk, ~60% programist\u00f3w u\u017cywa JDK 11 na produkcji, co jest wynikiem zbli\u017conym do pokrycia rynku, jakie w raporcie zdoby\u0142a JDK 8. Ostatnie dane, z jakimi mia\u0142em okazj\u0119 si\u0119 zapozna\u0107 (State of Developer Ecosystem od JetBrains) wskazywa\u0142y na odpowiednio 32% i 75% dla JDK 11 i 8. Dane od Snyk mog\u0105 mie\u0107 nieco inn\u0105 demografi\u0119, ale w ci\u0105gu roku, jaki min\u0105\u0142 od publikacji raportu tw\u00f3rc\u00f3w Intellij, najnowszy LTS zdaje si\u0119 zyskiwa\u0107 na popularno\u015bci.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094c39b4d.png\" alt=\"\" \/><\/figure>\nJe\u017celi chodzi o Frameworki, to z pewno\u015bci\u0105 bryluje Spring Boot. Jednocze\u015bnie jednak wersja \u201centerprajsowa\u201d Javy te\u017c sprawdza si\u0119 ca\u0142kiem nie\u017ale - je\u017celi zsumowa\u0107 Jav\u0119 EE, Jakart\u0119 EE i Quarkusa, dostaniemy ca\u0142kiem solidny procent - aczkolwiek podejrzewam \u017ce standard\u00f3w tych u\u017cywaj\u0105 wzajemnie ci sami programi\u015bci. Mimo wszystko 24% Javy EE robi wra\u017cenie, podobnie jak 7% MicroProfile - zw\u0142aszcza jak zestawi si\u0119 to z mizernymi 5% Micronauta, do niedawna uznanego jako kr\u00f3la lekkich framework\u00f3w javowych, kt\u00f3ry zdaje si\u0119 nieco traci\u0107 impet. Zaskakuj\u0105cy jest brak Helidona - bior\u0105c pod uwag\u0119 jak bardzo niszowe rozwi\u0105zania (Wicket? Grails?) zosta\u0142y uj\u0119te, podejrzewam, \u017ce Helidon mo\u017ce jednak zawiera\u0107 ca\u0142kiem spor\u0105 cz\u0119\u015b\u0107 7% opisanych jako Other.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094d52923.png\" alt=\"\" \/><\/figure>\nJednak raport Snyk ma te\u017c statystyk\u0119, kt\u00f3rej nigdy dot\u0105d nie by\u0142em w stanie znale\u017a\u0107 - jak wygl\u0105da proporcja u\u017cywania konkretnych narz\u0119dzi do budowania. Za ka\u017cdym razem, gdy opisuje, jak coraz popularniejszy staje si\u0119 Gradle zastanawiam si\u0119, czy jego mia\u017cd\u017c\u0105ca przewaga nad Mavenem w mojej g\u0142owie to nie w\u0142a\u015bnie odprysk tej banieczki. Okazuje si\u0119, \u017ce po raz kolejny z\u0142apa\u0142em si\u0119 na w\u0142asnym b\u0142\u0119dzie poznawczym. Maven jest u\u017cywane przez solidne 76% programist\u00f3w i cho\u0107 38% Gradle robi wra\u017cenie, to jednak do \u201ckr\u00f3la\u201d troch\u0119 mu jeszcze brakuje.\n\nOg\u00f3lnie fajnie, \u017ce posiadamy kolejne interesuj\u0105ce \u017ar\u00f3d\u0142o statystyk. Mam nadzieje, \u017ce Snyk b\u0119dzie kontynuowa\u0142 inicjatyw\u0119 w nast\u0119pnych latach.\n<h2 id=\"2-tw%C3%B3rcy-kotlina-zrobili-ama-i-odpowiadaj%C4%85-na-pytania-o-przysz%C5%82o%C5%9B%C4%87-j%C4%99zyka-%F0%9F%99%8B%E2%80%8D%E2%99%82%EF%B8%8F%F0%9F%8D%85\">2. <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/06\/answering-the-top-10-questions-about-kotlin-s-future\/\">Tw\u00f3rcy Kotlina zrobili AMA i odpowiadaj\u0105 na pytania o przysz\u0142o\u015b\u0107 j\u0119zyka<\/a> \u200d\u2642\ufe0f<\/h2>\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-46.png\" alt=\"\" width=\"487\" height=\"366\" \/><\/figure>\nRozw\u00f3j Kotlina (wed\u0142ug powy\u017cszego raportu Snyk, drugiego co do popularno\u015bci j\u0119zyka JVMowego) bardzo interesuj\u0105co si\u0119 obserwuje. JetBrainsi s\u0105 bardzo otwarci. Roman Elizarov, lead projektu, w fantastyczny spos\u00f3b dzieli si\u0119 decyzjami projektowymi stoj\u0105cymi za poszczeg\u00f3lnymi featurami (szczeg\u00f3lnie jego talki na temat korutyn i structured concurrency nale\u017c\u0105 do moich ulubionych w temacie j\u0119zyk\u00f3w programowania). Jak bardzo otwarty jest to zesp\u00f3\u0142 niech \u015bwiadczy fakt, \u017ce wraz z premier\u0105 wersji 1.5 j\u0119zyka pojawi\u0142o si\u0119 na Redditcie Kotlinowe AMA, kt\u00f3rego opracowanie dostali\u015bmy w\u0142a\u015bnie w \u0142apki. Rzu\u0107my zatem okiem, co wyp\u0142yn\u0119\u0142o po wzi\u0119ciu kotlinowego zespo\u0142u na spytki.\n\nLista zawiera kilka ciekawych punkt\u00f3w, aczkolwiek brakuje na niej jakich\u015b olbrzymich zaskocze\u0144. Przyk\u0142adowo, ju\u017c nied\u0142ugo mo\u017cemy spodziewa\u0107 si\u0119 zupe\u0142nie nowego spo\u0142eczno\u015bciowego g\u0142osowania na nowe funkcjonalno\u015bci. Sam Roman Elizarov przyznaje te\u017c, \u017ce nie widzi problem\u00f3w w nad\u0105\u017caniu za bardzo dynamicznym rozwojem samego JDKa (co nie powinno dziwi\u0107, bior\u0105c pod uwag\u0119 ogrom inwestycji, jakie poczyniono w zwi\u0105zku z nowym formatem po\u015brednim). Nikogo (kto czyta nasze przegl\u0105dy ) nie zaskoczy te\u017c raczej fakt, \u017ce wspomniany nowy format po\u015bredni ma przyczyni\u0107 si\u0119 do szybszej kompilacji \u017ar\u00f3de\u0142.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-45.png\" alt=\"\" width=\"244\" height=\"244\" \/>\n<figcaption>Nowy format po\u015bredni troch\u0119 zbli\u017ca do siebie oba j\u0119zyki.<\/figcaption><\/figure>\nDla niekt\u00f3rych rozczarowuj\u0105cym mo\u017ce by\u0107 fakt, \u017ce nie nale\u017cy raczej w najbli\u017cszym czasie spodziewa\u0107 si\u0119 realnej implementacji Pattern Matchingu. Kotlin wybra\u0142 tutaj p\u00f3\u0142\u015brodki, podobnie jak w wypadku Javy. Nie nale\u017cy te\u017c spodziewa\u0107 natywnego wsparcia dla Dependency Injection, to ma pozosta\u0107 domen\u0105 bibliotek.\n\nNajciekawsze s\u0105 z pewno\u015bci\u0105 fragmenty, gdzie zamiast prostych odpowiedzi, go\u015bcie AMA postanawiaj\u0105 rozbudowa\u0107 nieco swoje wypowiedzi. Mo\u017cemy dowiedzie\u0107 si\u0119 np. \u017ce tw\u00f3rc\u00f3w kusi cross-kompilacja z TypeScriptem, ale na drodze stoj\u0105 r\u00f3\u017cnice w systemach typ\u00f3w obu j\u0119zyk\u00f3w. Jeszcze ciekawsze wydaj\u0105 si\u0119 by\u0107 zakusy dotycz\u0105ce Springa - rozwa\u017cane s\u0105 bardzo r\u00f3\u017cne, nieco wariackie kierunki, jak np. maria\u017c Kotlina Native i Spring Native, czy u\u017cycie Kotlin\/JS do generowania kodu frontendowego dla frameworku Pivotala. Planowane jest te\u017c wsparcie rozwoju biblioteki <a href=\"https:\/\/github.com\/rsocket\/rsocket-kotlin\">rsocket-kotlin<\/a>, rozwijanej przez zesp\u00f3\u0142 springowy alternatywy to gRPC. A tak\u017ce w planach jest \u00a0wsparcie metaprogramingu m.in. pod postaci\u0105 plugin\u00f3w do kompilatora.\n\nOg\u00f3lnie polecam zerkn\u0105\u0107 do samego artyku\u0142u, gdy\u017c jest on do\u015b\u0107 zwi\u0119z\u0142y i prowadzi do oryginalnych w\u0105tk\u00f3w Redditowych, gdzie przeprowadzane by\u0142o AMA.\n<h2 id=\"3-najpopularniejszy-serwer-aplikacyjny-jakarty-ee-z-nowym-wydaniem-%F0%9F%A6%8B\"><a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">3. Najpopularniejszy serwer aplikacyjny Jakarty EE z nowym wydaniem<\/a><\/h2>\nA na koniec, co\u015b dla fan\u00f3w Ja\nkarty EE. Jak wiemy z raportu Snyka z pierwszej sekcji, Java\/Jakarta EE ci\u0105gle jeszcze \u017cyje i kopie, a z ankiety spo\u0142eczno\u015bci (tak, dzisiaj jest dzie\u0144 raport\u00f3w) <a href=\"https:\/\/arjan-tijms.omnifaces.org\/2021\/02\/jakarta-ee-survey-20202021-results.html\">opublikowanej w lutym<\/a> dowiedzieli\u015bmy si\u0119, \u017ce najpopularniejszym serwerem aplikacyjnym jest WildFly. Czy zatem mogli\u015bmy przegapi\u0107 jego now\u0105, dwudziest\u0105 czwart\u0105 ju\u017c wersje?\n\nPo prawdzie\u2026 zastanawia\u0142em si\u0119.\n\nTak naprawd\u0119 ci\u0119\u017cko si\u0119 by\u0142o spodziewa\u0107 jakich\u015b wi\u0119kszych ruch\u00f3w, bior\u0105c pod uwag\u0119 \u017ce dopiero, co \u015bwiat obieg\u0142a informacja o wydaniu wersji 23. Co prawda <a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">opisywana dzisiaj edycja<\/a> jest pierwszym stabilnym wydaniem przynosz\u0105cym certyfikacje Jakarta EE 9.1, jednak prawd\u0119 m\u00f3wi\u0105c jest to zaledwie spijanie \u015bmietanki po zmianach dostarczonych przez kolejne wersje preview \u201cdwudziestki tr\u00f3jki\u201d. Je\u015bli patrze\u0107 od strony programistycznej, nowa wersja \u201cwa\u017cki\u201d przynosi zaledwie wsparcie dla <a href=\"https:\/\/projects.eclipse.org\/projects\/technology.microprofile\/releases\/reactive-streams-operators-2.0\">Reactive Streams Operators API w wersji 2.0<\/a>, kt\u00f3re samo w sobie te\u017c jakim\u015b wielkim \u201capdejtem\u201d nie jest. Opr\u00f3cz tego zmiany to drobnica, aczkolwiek co poniekt\u00f3rych mo\u017ce zainteresowa\u0107 to, \u017ce serwer aplikacyjny usuwa wsparcie dla Jacksona w wersji v1.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-44.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-44.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-44.png 749w\" alt=\"\" width=\"749\" height=\"498\" \/>\n\n<figcaption>By\u0142o to kolejnym ca\u0142kiem interesuj\u0105cym faktem na kupce wiedzy niepotrzebnej i przechowywanej w g\u0142owie.<\/figcaption><\/figure>\nWi\u0119cej ciekawego tak naprawd\u0119 zawiera sekcja Preview. O ile sugerowan\u0105 wersj\u0105 JDK dla WildFly wci\u0105\u017c jest ju\u017c troszk\u0119 leciwa wersja 11 LTS, to powoli testowana jest r\u00f3wnie\u017c wersja 16 oraz 17 - takowa podobno sprawuje si\u0119 bardzo dobrze, tak\u017ce mo\u017cliwe \u017ce ju\u017c nied\u0142ugo (WildFly 25? 26?) doczekamy si\u0119 wsparcia dla nowego LTSa.\n<h3 id=\"%C5%BAr%C3%B3d%C5%82o\">\u0179r\u00f3d\u0142o<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/projects.eclipse.org\/projects\/technology.microprofile\/releases\/reactive-streams-operators-2.0\">MicroProfile\u00ae Reactive Streams Operators 2.0<\/a><\/li>\n \t<li><a href=\"https:\/\/arjan-tijms.omnifaces.org\/2021\/02\/jakarta-ee-survey-20202021-results.html\">Jakarta EE Survey 2020\/2021 - results<\/a><\/li>\n \t<li><a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">WildFly 2<\/a>4 is released!<\/li>\n<\/ul>","innerContent":["<h2 id=\"1-jvm-ecosystem-report-2021-zawiera-mas%C4%99-ciekawego-info-%F0%9F%93%8A\">1. <a href=\"https:\/\/snyk.io\/jvm-ecosystem-report-2021\/\">JVM Ecosystem Report 2021 zawiera mas\u0119 ciekawego info<\/a><\/h2>\nBardzo cz\u0119sto pisz\u0105c nasze przegl\u0105dy, potrzebuje kontekstu. \u015aledz\u0105c bran\u017cowe newsy \u0142atwo wpa\u015b\u0107 w banieczk\u0119, w kt\u00f3rej ka\u017cdy u\u017cywa Kotlina i najnowszej Javy, ale zdaje sobie spraw\u0119, \u017ce realny \u015bwiat tak nie wygl\u0105da.\n\nJak zwykle w wypadku tego typu raport\u00f3w, warto rzuci\u0107 okiem na badan\u0105 grup\u0119.\n\nAnkieta zosta\u0142a przeprowadzona w okresie sze\u015bciu tygodni do lutego i marca 2021 roku, gromadz\u0105c odpowiedzi od ponad 2000 programist\u00f3w Java. Ankieta jest wynikiem wsp\u00f3\u0142pracy mi\u0119dzy Snyk (platforma b\u0119d\u0105ca zestawem narz\u0119dzi, zapewniaj\u0105cych \u201cbezpiecze\u0144stwo dla system\u00f3w o du\u017cej skali\u201d) i Azul (tw\u00f3rcy rozwijaj\u0105cy swoje w\u0142asne JDK), a przy jej przygotowaniu pomaga\u0142 r\u00f3wnie\u017c portal Foojay.io, Wirtualne JUGi oraz Joshem Longiem, rzecznikiem programist\u00f3w Springa. W tym miejscu pozwol\u0119 sobie wrzuci\u0107 bardzo \u0142adne graficzne podsumowanie, jakiego dokonali Tw\u00f3rcy raportu:\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094a1fe12.png\" alt=\"\" \/><\/figure>\nA teraz szczeg\u00f3\u0142y:\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094b41a61.png\" alt=\"\" \/><\/figure>\nZacznijmy od podstaw i klasycznie przygl\u0105dnijmy si\u0119, jak wygl\u0105da u\u017cycie poszczeg\u00f3lnych wersji JDK wed\u0142ug Snyk. Tutaj dane s\u0105 niezwykle zaskakuj\u0105ce - wed\u0142ug raportu Snyk, ~60% programist\u00f3w u\u017cywa JDK 11 na produkcji, co jest wynikiem zbli\u017conym do pokrycia rynku, jakie w raporcie zdoby\u0142a JDK 8. Ostatnie dane, z jakimi mia\u0142em okazj\u0119 si\u0119 zapozna\u0107 (State of Developer Ecosystem od JetBrains) wskazywa\u0142y na odpowiednio 32% i 75% dla JDK 11 i 8. Dane od Snyk mog\u0105 mie\u0107 nieco inn\u0105 demografi\u0119, ale w ci\u0105gu roku, jaki min\u0105\u0142 od publikacji raportu tw\u00f3rc\u00f3w Intellij, najnowszy LTS zdaje si\u0119 zyskiwa\u0107 na popularno\u015bci.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094c39b4d.png\" alt=\"\" \/><\/figure>\nJe\u017celi chodzi o Frameworki, to z pewno\u015bci\u0105 bryluje Spring Boot. Jednocze\u015bnie jednak wersja \u201centerprajsowa\u201d Javy te\u017c sprawdza si\u0119 ca\u0142kiem nie\u017ale - je\u017celi zsumowa\u0107 Jav\u0119 EE, Jakart\u0119 EE i Quarkusa, dostaniemy ca\u0142kiem solidny procent - aczkolwiek podejrzewam \u017ce standard\u00f3w tych u\u017cywaj\u0105 wzajemnie ci sami programi\u015bci. Mimo wszystko 24% Javy EE robi wra\u017cenie, podobnie jak 7% MicroProfile - zw\u0142aszcza jak zestawi si\u0119 to z mizernymi 5% Micronauta, do niedawna uznanego jako kr\u00f3la lekkich framework\u00f3w javowych, kt\u00f3ry zdaje si\u0119 nieco traci\u0107 impet. Zaskakuj\u0105cy jest brak Helidona - bior\u0105c pod uwag\u0119 jak bardzo niszowe rozwi\u0105zania (Wicket? Grails?) zosta\u0142y uj\u0119te, podejrzewam, \u017ce Helidon mo\u017ce jednak zawiera\u0107 ca\u0142kiem spor\u0105 cz\u0119\u015b\u0107 7% opisanych jako Other.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d094d52923.png\" alt=\"\" \/><\/figure>\nJednak raport Snyk ma te\u017c statystyk\u0119, kt\u00f3rej nigdy dot\u0105d nie by\u0142em w stanie znale\u017a\u0107 - jak wygl\u0105da proporcja u\u017cywania konkretnych narz\u0119dzi do budowania. Za ka\u017cdym razem, gdy opisuje, jak coraz popularniejszy staje si\u0119 Gradle zastanawiam si\u0119, czy jego mia\u017cd\u017c\u0105ca przewaga nad Mavenem w mojej g\u0142owie to nie w\u0142a\u015bnie odprysk tej banieczki. Okazuje si\u0119, \u017ce po raz kolejny z\u0142apa\u0142em si\u0119 na w\u0142asnym b\u0142\u0119dzie poznawczym. Maven jest u\u017cywane przez solidne 76% programist\u00f3w i cho\u0107 38% Gradle robi wra\u017cenie, to jednak do \u201ckr\u00f3la\u201d troch\u0119 mu jeszcze brakuje.\n\nOg\u00f3lnie fajnie, \u017ce posiadamy kolejne interesuj\u0105ce \u017ar\u00f3d\u0142o statystyk. Mam nadzieje, \u017ce Snyk b\u0119dzie kontynuowa\u0142 inicjatyw\u0119 w nast\u0119pnych latach.\n<h2 id=\"2-tw%C3%B3rcy-kotlina-zrobili-ama-i-odpowiadaj%C4%85-na-pytania-o-przysz%C5%82o%C5%9B%C4%87-j%C4%99zyka-%F0%9F%99%8B%E2%80%8D%E2%99%82%EF%B8%8F%F0%9F%8D%85\">2. <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/06\/answering-the-top-10-questions-about-kotlin-s-future\/\">Tw\u00f3rcy Kotlina zrobili AMA i odpowiadaj\u0105 na pytania o przysz\u0142o\u015b\u0107 j\u0119zyka<\/a> \u200d\u2642\ufe0f<\/h2>\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-46.png\" alt=\"\" width=\"487\" height=\"366\" \/><\/figure>\nRozw\u00f3j Kotlina (wed\u0142ug powy\u017cszego raportu Snyk, drugiego co do popularno\u015bci j\u0119zyka JVMowego) bardzo interesuj\u0105co si\u0119 obserwuje. JetBrainsi s\u0105 bardzo otwarci. Roman Elizarov, lead projektu, w fantastyczny spos\u00f3b dzieli si\u0119 decyzjami projektowymi stoj\u0105cymi za poszczeg\u00f3lnymi featurami (szczeg\u00f3lnie jego talki na temat korutyn i structured concurrency nale\u017c\u0105 do moich ulubionych w temacie j\u0119zyk\u00f3w programowania). Jak bardzo otwarty jest to zesp\u00f3\u0142 niech \u015bwiadczy fakt, \u017ce wraz z premier\u0105 wersji 1.5 j\u0119zyka pojawi\u0142o si\u0119 na Redditcie Kotlinowe AMA, kt\u00f3rego opracowanie dostali\u015bmy w\u0142a\u015bnie w \u0142apki. Rzu\u0107my zatem okiem, co wyp\u0142yn\u0119\u0142o po wzi\u0119ciu kotlinowego zespo\u0142u na spytki.\n\nLista zawiera kilka ciekawych punkt\u00f3w, aczkolwiek brakuje na niej jakich\u015b olbrzymich zaskocze\u0144. Przyk\u0142adowo, ju\u017c nied\u0142ugo mo\u017cemy spodziewa\u0107 si\u0119 zupe\u0142nie nowego spo\u0142eczno\u015bciowego g\u0142osowania na nowe funkcjonalno\u015bci. Sam Roman Elizarov przyznaje te\u017c, \u017ce nie widzi problem\u00f3w w nad\u0105\u017caniu za bardzo dynamicznym rozwojem samego JDKa (co nie powinno dziwi\u0107, bior\u0105c pod uwag\u0119 ogrom inwestycji, jakie poczyniono w zwi\u0105zku z nowym formatem po\u015brednim). Nikogo (kto czyta nasze przegl\u0105dy ) nie zaskoczy te\u017c raczej fakt, \u017ce wspomniany nowy format po\u015bredni ma przyczyni\u0107 si\u0119 do szybszej kompilacji \u017ar\u00f3de\u0142.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-45.png\" alt=\"\" width=\"244\" height=\"244\" \/>\n<figcaption>Nowy format po\u015bredni troch\u0119 zbli\u017ca do siebie oba j\u0119zyki.<\/figcaption><\/figure>\nDla niekt\u00f3rych rozczarowuj\u0105cym mo\u017ce by\u0107 fakt, \u017ce nie nale\u017cy raczej w najbli\u017cszym czasie spodziewa\u0107 si\u0119 realnej implementacji Pattern Matchingu. Kotlin wybra\u0142 tutaj p\u00f3\u0142\u015brodki, podobnie jak w wypadku Javy. Nie nale\u017cy te\u017c spodziewa\u0107 natywnego wsparcia dla Dependency Injection, to ma pozosta\u0107 domen\u0105 bibliotek.\n\nNajciekawsze s\u0105 z pewno\u015bci\u0105 fragmenty, gdzie zamiast prostych odpowiedzi, go\u015bcie AMA postanawiaj\u0105 rozbudowa\u0107 nieco swoje wypowiedzi. Mo\u017cemy dowiedzie\u0107 si\u0119 np. \u017ce tw\u00f3rc\u00f3w kusi cross-kompilacja z TypeScriptem, ale na drodze stoj\u0105 r\u00f3\u017cnice w systemach typ\u00f3w obu j\u0119zyk\u00f3w. Jeszcze ciekawsze wydaj\u0105 si\u0119 by\u0107 zakusy dotycz\u0105ce Springa - rozwa\u017cane s\u0105 bardzo r\u00f3\u017cne, nieco wariackie kierunki, jak np. maria\u017c Kotlina Native i Spring Native, czy u\u017cycie Kotlin\/JS do generowania kodu frontendowego dla frameworku Pivotala. Planowane jest te\u017c wsparcie rozwoju biblioteki <a href=\"https:\/\/github.com\/rsocket\/rsocket-kotlin\">rsocket-kotlin<\/a>, rozwijanej przez zesp\u00f3\u0142 springowy alternatywy to gRPC. A tak\u017ce w planach jest \u00a0wsparcie metaprogramingu m.in. pod postaci\u0105 plugin\u00f3w do kompilatora.\n\nOg\u00f3lnie polecam zerkn\u0105\u0107 do samego artyku\u0142u, gdy\u017c jest on do\u015b\u0107 zwi\u0119z\u0142y i prowadzi do oryginalnych w\u0105tk\u00f3w Redditowych, gdzie przeprowadzane by\u0142o AMA.\n<h2 id=\"3-najpopularniejszy-serwer-aplikacyjny-jakarty-ee-z-nowym-wydaniem-%F0%9F%A6%8B\"><a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">3. Najpopularniejszy serwer aplikacyjny Jakarty EE z nowym wydaniem<\/a><\/h2>\nA na koniec, co\u015b dla fan\u00f3w Ja\nkarty EE. Jak wiemy z raportu Snyka z pierwszej sekcji, Java\/Jakarta EE ci\u0105gle jeszcze \u017cyje i kopie, a z ankiety spo\u0142eczno\u015bci (tak, dzisiaj jest dzie\u0144 raport\u00f3w) <a href=\"https:\/\/arjan-tijms.omnifaces.org\/2021\/02\/jakarta-ee-survey-20202021-results.html\">opublikowanej w lutym<\/a> dowiedzieli\u015bmy si\u0119, \u017ce najpopularniejszym serwerem aplikacyjnym jest WildFly. Czy zatem mogli\u015bmy przegapi\u0107 jego now\u0105, dwudziest\u0105 czwart\u0105 ju\u017c wersje?\n\nPo prawdzie\u2026 zastanawia\u0142em si\u0119.\n\nTak naprawd\u0119 ci\u0119\u017cko si\u0119 by\u0142o spodziewa\u0107 jakich\u015b wi\u0119kszych ruch\u00f3w, bior\u0105c pod uwag\u0119 \u017ce dopiero, co \u015bwiat obieg\u0142a informacja o wydaniu wersji 23. Co prawda <a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">opisywana dzisiaj edycja<\/a> jest pierwszym stabilnym wydaniem przynosz\u0105cym certyfikacje Jakarta EE 9.1, jednak prawd\u0119 m\u00f3wi\u0105c jest to zaledwie spijanie \u015bmietanki po zmianach dostarczonych przez kolejne wersje preview \u201cdwudziestki tr\u00f3jki\u201d. Je\u015bli patrze\u0107 od strony programistycznej, nowa wersja \u201cwa\u017cki\u201d przynosi zaledwie wsparcie dla <a href=\"https:\/\/projects.eclipse.org\/projects\/technology.microprofile\/releases\/reactive-streams-operators-2.0\">Reactive Streams Operators API w wersji 2.0<\/a>, kt\u00f3re samo w sobie te\u017c jakim\u015b wielkim \u201capdejtem\u201d nie jest. Opr\u00f3cz tego zmiany to drobnica, aczkolwiek co poniekt\u00f3rych mo\u017ce zainteresowa\u0107 to, \u017ce serwer aplikacyjny usuwa wsparcie dla Jacksona w wersji v1.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-44.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-44.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-44.png 749w\" alt=\"\" width=\"749\" height=\"498\" \/>\n\n<figcaption>By\u0142o to kolejnym ca\u0142kiem interesuj\u0105cym faktem na kupce wiedzy niepotrzebnej i przechowywanej w g\u0142owie.<\/figcaption><\/figure>\nWi\u0119cej ciekawego tak naprawd\u0119 zawiera sekcja Preview. O ile sugerowan\u0105 wersj\u0105 JDK dla WildFly wci\u0105\u017c jest ju\u017c troszk\u0119 leciwa wersja 11 LTS, to powoli testowana jest r\u00f3wnie\u017c wersja 16 oraz 17 - takowa podobno sprawuje si\u0119 bardzo dobrze, tak\u017ce mo\u017cliwe \u017ce ju\u017c nied\u0142ugo (WildFly 25? 26?) doczekamy si\u0119 wsparcia dla nowego LTSa.\n<h3 id=\"%C5%BAr%C3%B3d%C5%82o\">\u0179r\u00f3d\u0142o<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/projects.eclipse.org\/projects\/technology.microprofile\/releases\/reactive-streams-operators-2.0\">MicroProfile\u00ae Reactive Streams Operators 2.0<\/a><\/li>\n \t<li><a href=\"https:\/\/arjan-tijms.omnifaces.org\/2021\/02\/jakarta-ee-survey-20202021-results.html\">Jakarta EE Survey 2020\/2021 - results<\/a><\/li>\n \t<li><a href=\"https:\/\/www.wildfly.org\/news\/2021\/06\/17\/WildFly24-Final-Released\/\">WildFly 2<\/a>4 is released!<\/li>\n<\/ul>"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10121","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=10121"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10121\/revisions"}],"predecessor-version":[{"id":10568,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10121\/revisions\/10568"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}