Co se letos děje ve světě Javy?

JAVA DAYS 2020 banner

Jistě jste zaznamenali, že Java začala vycházet každého půl roku. Od září 2017, kdy vyšla Java 9 (s module systémem) tedy vyšlo už 6 verzí a aktuálně vychází Java 15. Důležitá jsou však LTS (Long-term supported) verze, tedy Java 8 (2014) a především Java 11 (2018). Za rok v září 2021 má vyjít další LTS verze Java 17.

GOPAS logoV jednotlivých půlročních přírůstcích sice není tolik nových věci, ale podíváme-li se na změny od LTS verze k LTS verzi, je možno vidět znatelný pokrok. Oproti Javě 8 přišla Java 11 s moduly, klíčovým slovem var, vylepšeným garbage collectorem a podporou Dockeru. Java 17 přijde s mnoha dalšími jazykovými vylepšeními, mezi nimiž jsou records (neměnitelné třídy nesoucí jen data a ne logiku), switch použitelný jako výraz a bez propadávání (sbohem breaku!), automatické přetypování po instanceof a spoustou drobných vylepšení standardní knihovny. Java se začíná pohybovat směrem, který ukazuje C# nebo Kotlin, avšak se zachováním své klidné a bezpečné konzervativnosti.

Se změnou kadence nových verzi, došlo ještě k jedné změně. Softwarový balík Oracle JDK – historicky nejhojněji používaná distribuce Javy – má novou licenci pro komerční použití a není již zdarma. Výchozím distribučním balíkem se tak stává OpenJDK. Proces, který započal v Sun Microsystems v roce 2007 open-sourcováním části Javy,  se tak konečně dokončil. Jistě to stálo vaši firmu určitou investici. Všechno špatné je ale k něčemu dobré, a díky tomu již opravdu používáme open source verzi se vším všudy.

Oracle daroval knihovnu Java EE, tj. backendové rozšíření Javy, nadaci Eclipse Foundation. Ta ji open-sourcovala, přejmenovala na Jakarta EE a vypadá to, že po mnoha chudých letech se zase blýská na lepší časy. Uvidíme, jak dopadne svět těžkotonážních (aplikačních) webových serverů, jako jsou JBoss AS, WebLogic AS, WebSphere Liberty nebo Payara, oproti dravějšímu Spring Bootu, který vytváří kompletní balíky aplikace s webovým serverem dohromady.

Jakarta EE 9 vyjde v nejbližších týdnech a sice nepřináší nic zásadně nového, ale dokončila proces převodu balíku z javax.* na jakarta.* a může tedy začít fungovat jako odrazový můstek k inovacím. Když Java EE / Jakarta EE znatelně polevila, přebral štafetu Spring Boot a stal se de facto standardem pro psaní javových back-endů. Nová verze 2.3 se integruje mnohem lépe s Dockerem a Kubernetes. Velký rozvoj nastal v podprojektu Spring Cloud.

V nejbližších týdnech má vyjít Spring Framework 5.3. Reaktivní architektura WebFlux nám pomalu dozrává. Velkou měrou to záleží na datová vrstvě a reaktivních zdrojích dat. Uvidíme, jak se prosadí RSocket a R2DBC. Velmi kladně lze hodnotit pozitivní přístup ke GraalVM i podporu Kotlinu 1.4.

Poslední půl rok byl citelně zasažen omezeními v souvislosti s covid-19. V reakci na to většina konferencí přešla do online formy. Mohli jste se tak snadněj než kdykoliv předtím zúčastnit konferencí Google I/O nebo Spring One.
Ale ani v českém rybníčku nezahálíme. Pokud vás zajímá, kam míří Java 17, co chystá Spring 5.3, nebo si jen chcete poslechnout technické přednášky od českých technologů a zkušených speakerů, můžete se zúčastnit již tradiční konference Java Days 2020 ONLINE, pořádané Počítačovou školou GOPAS.

Konference se uskuteční 11.-12.11.2020.

Více informací se dozvíte na www.javadays.cz.

Budu se těšit, že se tam (alespoň virtuálně) potkáme a popovídáme si.

Kamil Ševeček, Java Developer