Végre itt a Java 8!
Hosszas várakozás után végre kézbe kaphatják a fejlesztők a vállalati informatikai fejlesztések alapját jelentő Java legújabb változatát. Az Oracle hivatalosan is bejelentette a Java 8-at, ami jelentősen befolyásolja majd a következő évek fejlődését a nagyvállalati IT szektorban.
A Java 8 nehéz szülés volt, a történet 2010 óta húzódik, amikor is a Java Community Process (JCP) megszavazta a Java 8 specifikációját. Egy évvel később, 2011-ben jelent meg egyébként a Java 7, az azóta eltelt három évben azonban nagyobb váltás nem történt. A Java 8 legfontosabb vívmánya, hogy az újonnan bevezetett funkciók számos olyan lehetőséget csatornáztak be a platformba, amivel a programozási modellek kiterjeszthetőek a cloudkorszak kihívásainak megfelelően.
A legnagyobb eredmény a Java 8-ban a Lambda projekt, ami lehetővé teszi paraméterként függvény átadását egy metódus meghívásánál, ezzel tisztább, rövidebb és átláthatóbb kódot eredményezve - a fejlesztők megspórolhatnak deklarációkat például. A Lambda a gyakorlatban egy sokkal funkcionálisabb megközelítést alkalmaz, valószínűleg népszerű lesz a Java-fejlesztők körében. A funkcionális programozás felé elmozdulás azért is különösen fontos, mert az utóbbi időben egyre több fejlesztő állt át JavaScriptre, Scalára és Clojure-re, köszönhetően a funkcionális programozás támogatásának, illetve a jobb kifejezhetőségnek.
Tovább hódíthat a JavaScript
A Java 8 révén persze a JavaScript is komoly lökést kap, a Nashorn JavaScript-motor egy Java-alapú futtatókörnyezetet hoz a fejlesztőknek, lehetővé téve a Java alkalmazásokban akár JavaScript-kód felhasználását is. Amennyiben működőképesnek bizonyul a megoldás, akkor a várakozások szerint egyre több fejlesztői és üzemeltetői csapat dönt majd úgy, hogy JVM-et használ a szerveroldali JavaScript futtatásához. A JVM mellett itt is a könnyű használhatóság és a stabilitás áll majd érvként, mint a JRuby vagy más nyelvek esetében, viszont ez a fordulat megnyitja a Java és a JVM világát az eddigieken túl egészen más típusú fejlesztők számára is.
A Gitlab mint DevSecOps platform (x) Gyere el Radovan Baćović (Gitlab, Data Engineer) előadására a november 7-i DevOps Natives meetupon.
A fentieken túl a Java 8 rengeteg más új képességet tartalmaz majd, illetve a régiek közül is nagyon sok megújul. Említésre méltó például a boiler plate kódok csökkentésével elért jelentős teljesítménynövekedés az alkalmazásokban, a rövidebb kódok ráadásul a fejlesztők produktivitására is jó hatással lehetnek. Javult továbbá a metaadatok kezelése a forrásfájlokban, illetve a collections keretrendszer is. Egyszerűbbek lettek a párhuzamos programozási modellek és a modern többmagos processzorok hatékony használata is. Hosszútávon ez a fejlődés mindenhol a kódminőség javulásához vezet majd. Ha valaki kíváncsi a részletes listára arról, hogy mi változott és mik az újdonságok, akkor a magyar Javaforum bejegyzését érdemes átböngésznie.
A modularitás ideje még nem jött el
Ezekre az eredményekre nagyon sokat kellett várjon a Java közösség, a fejlesztés hosszú éveken keresztül húzódott, ráadásul még mindig nem mondható teljesnek. Olyan kulcsfontosságú elemek hiányoznak még most is, mint a Jigsaw, ami a Java 8 előkészítésekor még a legfontosabb projektek között szerepelt. A Jigsaw célja a Java modularizálása, a fejlesztés azonban a vártnál lényegesen lassabban halad - az eredeti tervek szerint a Jigsaw projektnek már 2011-re, Java SE 7 megjelenésére el kellett volna készülnie, jelenleg úgy tűnik, csak a Java 9-be kerülhet be, de lehet hogy abból is ki fog maradni. A Jigsaw által megcélzott problémakezelésére ugyanakkor vannak egyéb megoldások is (pl. OSGI).
Az új Java fejlesztői csomag végleges verziója már elérhető az Oracle hivatalos Java 8 oldalán, a vállalat egyébként március 25-én tartja a hivatalos premiert, egy nemzetközi webkonferencián mutatja be az újdonságokat, amelyre itt lehet regisztrálni Minden érintett fejlesztőnek érdemes ellenőriznie, hogy a saját fejlesztései működnek-e megfelelően a Java 8 JRE/JDK esetén is, ugyanis hamarosan az Oracle a felhasználók felé is elkezdi teríteni az új verziót. Ez biztosan rengeteg problémát okoz majd, aminek egy része elkerülhető megfelelő előkészületekkel.