Přednáška Juergena Höellera o Spring Framework 5

Před týdnem jsem byl pozváni na přednášku Juergena Höellera - jednoho z autorů Spring Frameworku, který již léta dohlíží na směrování tohoto velmi populárního aplikačního rámce našich Java aplikací. Akci organizovala společnost Morosystems v Brně a tímto jim děkujeme za pozvání.

Mimo specifických vlastností týkajících se páté verze Spring Frameworku se Juergen na přednášce rozhovořil také o jeho osobních vizích, kam bude směrovat další vývoj v oblasti Java aplikací a důvodech některých rozhodnutí, které ve Springu učinili.

Abych Vás nalákal na poslechnutí kompletní přednášky uvedu pár bodů, které mě osobně překvapily:

  • Spring 5.X už nebude obsahovat podporu pro portlety, tato technologie je dle Juergena už několik let mrtvá a nyní už natolik, aby se její podpora úplně odstranila - jediný, kdo portlety ještě používá je Liferay, ale podle Juergena prostě jedou na dávno mrtvém koni
  • do budoucna si Juergen myslí, že slepými větvemu jsou i další server side rendering frameworky jako třeba Tapestry nebo Wicket - toto mě osobně přeci jen trochu překvapilo ... nicméně zdá se, že client side single page app jsou dlouhodobějším trendem
  • Spring začíná ve větší míře spolupracovat s autory Kotlinu - krom toho, že se jedná o zajímavý jazyk kombinující funkcionální a OO programování, také především proto, že autoři mají o spolupráci zájem a vzájemně si s týmem Springu vycházejí vstříc
  • naopak se Scala komunitou se podobná spolupráce navázat nepodařila a Juergen ji více méně hází přes palubu
  • novému modulárnímu systému Jigsaw v Java 9 nedává moc velkou šanci na úspěch mezi řadovými aplikačními vývojáři, ani Spring nebude dodávat prozatím žádné module deskriptory pro své knihovny
  • OSGI bylo pro Spring obrovské zklamání a je velmi skeptický i v souvislosti s Jigsaw - modulární návrh na úrovni jazyka přináší řadu inherentních a velmi komplexních problémů, které nelze jednoduše řešit
  • snaží se nalézt cesty, jak zrychlit Spring boot up time - ve verzi 5 přinášejí možnost funkcionálního sestavení Spring kontextu, který by vůbec neměl vyžadovat reflexní analýzu tříd a měl by být velmi rychlý (nicméně pro programátora o něco pracnější)
  • celkově se Juergenovi líbí reaktivní přístup k programování i když přiznává, že to opět není cesta pro každého a má smysl se jí vydat pouze tehdy, nestačí-li současná architektura zvládat požadavky kladené na aplikaci ... a dost možná začít s tímto přístupem experimentovat zpočátku pouze na "horkých" místech aplikace a sbírat zkušenosti nejprve tam ... pokud je součástí i data store, je nutnou podmínkou reaktivní ovladač dané technologie - nebo naopak pro ukládání dat vybírat takový typ databáze, který reaktivní přístup umožňuje

Podobných myšlenek je v přednášce celá řada, a proto si ji rozhodně nenechte ujít.

Video