Sezon na konferencje trwa w najlepsze, dlatego dzisiejsze tematy będą przeplatane talkami z belgijskiego Devoxxa. Głównym tematem będzie jednak dołączenie Google do Adoptium Working Group.
1. Google będzie wspierać rozwój OpenJDK – Inwestycje giganta w Jave oraz Kotlina
Google Cloud Next to impreza przeznaczona głównie dla użytkowników Google Cloud i w niej ramach Google podzieliło się nowościami, które mają uprzyjemnić im życie. Pomiędzy nimi, nieco niepozornie, pojawiła się również krótką (< 10 minut) sesja poświęcona Javie – 5 reasons why your Java apps are better on Google Cloud – de facto będąca tutorialem do kilku funkcji GCP, głównie Cloud Run. Na samym jednak końcu, jakby w formie nagrody dla wytrwałych, pojawiło się jednak interesujące ogłoszenie.
Google zapowiedziało bowiem, że dołącza do grupy roboczej Adoptium jak Członek Strategiczny. W praktyce oznacza to, że podobnie jak inni dostawcy chmurowi pokroju Alibaby czy Microsoftu, również firma z Mountain View postanowiła zaangażować się w rozwój JDK. Widać, że mimo lat na karku, programiści Java pozostają dla dostawców infrastruktury łakomym kąskiem, po który warto się schylić. Ciekawe, czy Google ma jakieś szersze plany wobec swojej roli w Adoptium, czy mówimy tutaj wyłącznie o strategicznym sypaniu dolarami w rozwój istotnego dla firmy klocka. I to zarówno dla infrastruktury chmurowej udostępnianej klientom, jak i samej firmy, której wiele systemów działa na JVM.
A jak już przy tym temacie jesteśmy, to podziele się pewną sesją, która została zaprezentowana podczas zeszłotygodniowego Devoxxa w Belgii – Google’s Journey from Java to Kotlin for Server Side Programming. Otóż okazuje się, że wielkie G inwestuje w Kotlina nie tylko na Androidzie – Kotlin okazuje się być również oficjalnie błogosławionym językiem po stronie backendu. Jest to bardzo dobry talk, jeżeli chcecie lepiej poznać to, jak JVM używany jest w Google, ale również jak wygląda powolna tranzycja z jednego języka na drugi w takim molochu jak firma z Mountain View. Ciekawostka – całość jest najpopularniejszym talkiem całej konferencji, a w ciągu paru dni od publikacji oglądnęło go prawie 15 tysięcy osób.
Źródła
- 5 reasons why your Java apps are better on Google Cloud
- Google’s Journey from Java to Kotlin for Server Side Programming
- Adoptium Welcomes Google
Zainstaluj teraz i czytaj tylko dobre teksty!
2. Pierwszy Release Candidate nowego Springa
Dopiero co pisaliśmy o tym, że Spring Team podtrzymał plany publikacji Spring Framework 6.0 w listopadzie, a szybko do tematu musimy wrócić, ponieważ za słowami przyszły czyny i pokazany został Release Candidate nowego wydania projektu. Dla tych, którzy bardzo chcieliby już dzisiaj sprawdzić nowego Springa, jest to dobry moment, zwłaszcza że mówimy tutaj o w zasadzie kompletnym wydaniu. Szczególnie łakomym kąskiem wydaje się być dwie rzeczy – migracja całego projektu z namespace javax
na jakarta
, co potencjalnie może spowodować pewne komplikacje, a także możliwość wypróbowania długo oczekiwanej kompilacji Ahead-of-Time. Poza samym głównym projektem, swoje własne RC otrzymały również biblioteki towarzyszące, takie jak Spring Web Services czy Spring Security. Ogólnie czuć, że premiera zbliża się wielkimi krokami 🤟
Prawda jest jednak taka, że wykorzystuje powyższe RC trochę jako pretekst, żeby podzielić się z Wami kolejnymi dwoma sesjami, który zostały przedstawione w ramach wspomnianego już Devoxxa. Pojawiło się bowiem świetne wystąpienie Ahead Of Time and Native in Spring Boot 3.0, dotyczące wspomnianej powyżej kompilacji Ahead-of-Time w Springu, w detalach prezentujące to, jak cały proces wpłynie na sposób tworzenia aplikacji. Szczególnie interesującą częścią jest przejście przez ograniczenia, które mają aplikacje kompilowane AoT. Przykładowo, nie będą działały Agenty JVM-owe, a niektóre z bibliotek third-party będą wymagały dodatkowej pracy. Ogólnie bardzo polecam obejrzenie całości, pozwala bowiem lepiej zrozumieć, jak dużo zmian architektonicznych musiało wydarzyć się pod maską, aby dopasować Springa do działania z natywnymi obrazami.
Drugi z talków jest nieco bardziej ogólny, ale nie mniej ciekawy, mowa bowiem o Introducing Spring Framework 6.0. W zasadzie zalecam jego oglądanie jeszcze przed wspomnianą chwilę temu prezentacją o AoT, ponieważ choć nie wchodzi aż tak mocno w „mięsko” to pozwala na przyglądnięcie się szeregowi zmian, które nowy Spring Framework przynosi. Stanowi więc świetny punkt zaczepienia dla każdego, kto chciałby lepiej zrozumieć co go czeka przy migracji, stanowić też będzie dobre wprowadzenie dla każdego, kto chce położyć łapki na Release Candidate od którego tą sekcję zaczęliśmy.
A że sezon konferencyjny wchodzi w gorący okres, akurat w tym tygodniu odbywa się JavaOne, czyli oficjalna konferencja Oracle poświęcona Javie – jest to pierwsza edycja od dwóch lat, po wywołanej pandemią przerwie. Masa sesji brzmi naprawdę ciekawie i po zakończeniu konferencji będę polował z pewnością na przynajmniej kilka z nich. Mam nadzieje, że już w najbliższym wydaniu przyjrzymy się co poniektórym bliżej.
Źródła
- Introducing Spring Framework 6.0
- Ahead Of Time and Native in Spring Boot 3.0
- Spring Framework 6.0 goes RC1
Zainstaluj teraz i czytaj tylko dobre teksty!
3. Release Radar: Compose Multiplatform & Javalin
Dawno nie było Release Radaru, przyszedł więc czas na dwa mniejsze (a ciekawe) projekty, które miały okazję opublikować ostatnio swoje nowe wersje.
Compose Multiplatform 1.2
Był okres, gdzie regularnie informowałem wszystkich o zmianach w Jetpack Compose – frameworku do tworzenia UI przy pomocy Kotlina. Ostatnie parę lat wydawały się być swoistym renesansem rozwiązań do tworzenia aplikacji desktopowych… jednak powoli wydaje się, że były to podrygi trupa. Przykładowo, taki Catalyst od Apple jest cieniem oryginalnych obietnic
Na placu boju wydaje się pozostawać głównie JetBrains, którzy zadbali o wsparcie Metal API w Javie (Project Lanai), a także rozwijają framework Compose Multiplaform (kiedyś Jetpack Compose), teraz mający za zadanie wspierać w inicjatywę Kotlin Multiplatform i dawać programistom możliwość wygodnego tworzenia UI niezależnie od tego, na jakiej platformie odpalana będzie Kotlinowa aplikacja.
Teraz ukazała się jego kolejna wersja (1.2), i pokazuje ona jak bardzo szerokim projektem stał się Compose – mówimy tutaj bowiem zarówno o lepszym wsparciu myszki i klawiatury, jak i wsparciem ProGuarda czy lepszej interoperacyjności ze Swingiem w wypadku aplikacji desktopowych. Biorąc pod uwagę również niedawną premierę Bety Kotlin Mobile Multiplatform, JetBrains zdaje się zbliżać do swojego celu stania się PlatformąUniwersalną™️ do wszystkich rodzajów aplikacji. Czy w 2022 (i 2023, i 2024) ciągle będzie na to rynek i czy ta inwestycja zapewni świetlaną przyszłość Kotlinowi? Będziemy się na pewno przyglądać.
Javalin 5.0.0
Drugą z ciekawych nowości jest nowe duże wydanie Javalina, ukazała się bowiem jego wersja 5.0. Jeśli nie słyszeliście o tym projekcie Javalin to framework webowy w Javie i Kotlinie, który skupia się na prostocie – trochę w stylu tego, co daje Sinatra, Scalatra czy nawet kotlinowy Ktor. Obsługuje WebSockets i HTTP3, a także domyślnie używa Virtual Threads, mowa więc tutaj o całkiem nowoczesnym rozwiązaniu. Przewagą Javalin nad przywoływanym dzisiaj Springiem ma być prostota – jego cały kod źródłowe to 7000 linii kodu Java/Kotlin, dzięki czemu w zasadzie każdy programista Java powinien być w stanie zrozumieć jak działa. Nowe wydanie wprowadza nieco funkcjonalności i ulepszeń, ale dla mnie interesującym jest zwłaszcza fakt, że jest to kolejny przykład projektu, który porzuca wsparcie dla Javy 8. Nowy Javalin w wersji 5.0 będzie działał wyłącznie od Javy 11 wzwyż.
Z ciekawości, czy ktoś używa Javalina na produkcji? Albo chociaż w prywatnych projektach?