:

Szerző: Gálffy Csaba

2016. augusztus 15. 17:20

Amikor Java 8-ra váltott az Android

Hamarosan használhatják a Java 8-as újdonságokat az androidos fejlesztők is. Miről maradtunk le? Az Android megjelenése óta megfigyelhető volt a rendkívül gyors fejlődés. Ugyanakkor érezhető volt, egy „láthatatlan” gát a fejlődésben, az Oracle által birtokolt Java technológia. Az Android fejlesztők körében az egyik legnagyobb korlát, hogy nem használhatók a legújabb Java nyelvi elemek, melyek egyszerűbb és karbantarthatóbb kódot eredményeznének.

Léteztek ugyan különféle külső megoldások bizonyos elemek beemelésére, azonban ezeknek megvolt a hátránya is. Az Android N közeledtével azonban úgy tűnik jelentős váltásra számíthatnak a fejlesztők, hiszen a hírek szerint az Android világ át fog állni az OpenJDK-ra, melynek köszönhetően az újdonságok sokkal hamarabb elérhetők lesznek a platformon és nem lesznek jogi/technikai akadályok.

Mi hajtja?

Az Android alatt a Google saját fejlesztésű, nem-teljes Java-implementációja dolgozik. A nyelv ugyan formailag Java, az alap könyvtárakat azonban a cég alternatív, nulláról újraírt verziókra cserélte. Ezek API-szinten kompatibilisek a hivatalos, Sun/Oracle-féle Java-szabvánnyal, egészen pontosan annak 1.6-os verziójával. A probléma: ez a nyelv 2006-os állapotát tükrözi. Azóta (hosszú szünet után) 2011-ben kijött a Java SE 7 és tavaly márciusban a Java SE 8 is, ráadásul a Java 9 is egy éven belül érkezik, miközben az Android-fejlesztők még mindig az 1.6-os (vagy simán 6-os) kiadással kénytelenek együtt élni - a téma a Budapest Mobile fejlesztői csoportban is rendszeresen felbukkan.

Az androidos Java alapjait egyébként az Apache Harmony projektje adta, amelynek célja egy, a Suntól független, szabványos Java implementáció létrehozása volt. A projekt kudarcot vallott (változatos licencelési problémák miatt) és 2011-ben az Apache teljesen le is állította a Harmony fejlesztését. Ez egyúttal a Harmony-alapú Android SDK-t is kényszerpályára küldte, a Google-re maradt a saját fork karbantartásának felelőssége és feladata, amit a cég finoman szólva is vonakodva végzett el.

Lambdák!

Az Android SDK egyre súlyosabb lemaradása azt jelentette, hogy a fejlesztőknek nem állnak rendelkezésre a modernebb Java korszerű megoldásai, például a Java 8 Lambda kifejezései. Ezeket független fejlesztők igyekeztek backportolni az Androidhoz (itt például az egészen kiforrott RetroLambda projekt), a merészebbek pedig egyenesen Java-alternatívát fejlesztettek, mint a Kotlin. Az "egységsugarú" fejlesztőnek (vagy azoknak, akik nem akartak még több külső könyvtárat és megoldást bevonni) ez nem adott kielégítő választ a problémára, az Android Java-alapjai reménytelenül elavultak.

Az AI és a nagy full-full-stack trend

Az AI farvizén számos új informatikai munkakör születik, vagy már ismert munkák kapnak új nevet és vele extra elvárásokat is.

Az AI és a nagy full-full-stack trend Az AI farvizén számos új informatikai munkakör születik, vagy már ismert munkák kapnak új nevet és vele extra elvárásokat is.

Az áttéréssel azonban mindez egy csapásra megváltozik. Az OpenJDK a Java SE referenciaimplementációja, ennek megfelelően első perctől támogat minden technológiát, amelyet a nyelv új kiadása bevezet. Így az OpenJDK jelenlegi, 8-as kiadása értelemszerűen a Java SE 8-nak, a soron következő 9-es pedig a Java SE 9-nek felel majd meg, az Android-fejlesztők így rögtön a legfrissebb implementációnak örvendhetnek, ami szó szerint 10 éves ugrás lesz fejlődésben.

A meetupon megbeszéljük!

És mit jelent ez az ugrás a gyakorlatban? Többek között erről lesz szó a soron következő fejlesztői meetupunkon, az augusztus 24-i HWSW free!-n, amelyet egészében a Java nyelvnek és a Java fejlesztőknek szentelünk. Az előadás keretében átbeszéljük, hogy milyen változások várhatók az OpenJDK bevezetése kapcsán, illetve hogy melyek azok a legérdekesebb Java elemek, melyek így már elérhetőek lesznek a fejlesztők számára. A technológiai váltás egyik további előnye, hogy általa számos új Java verziót használó osztálykönyvtár is elérhető lesz így Android platformra. Ezek közül is tervezünk néhányat bemutatni.

A HWSW free! házirend a szokásos: kapunyitás délután 5-kor, az előadások pedig 6-kor kezdődnek, de ahogy időd engedi, bármikor csatlakozhatsz. A rendezvény ingyenes, azonban a regisztráció kötelező, ezt a meetup oldalán teheted meg. Kérjük, tiszteld meg a közösséget azzal, hogy csak akkor regisztrálsz, ha biztosan el tudsz jönni! Az AnKERT befogadóképessége limitált, így ha nem jössz el, egy olyan embertől veszed el a lehetőséget, aki valóban ott lenne.

Szeptember 15-én, hétfőn ONLINE formátumú, a Kafka alapjaiba bevezető képzést indít a HWSW, ezért most összefoglaltuk röviden, hogy miért érdemes részt venni ezen a tanfolyamon.

a címlapról

MS

0

Lezárta a Teams-ügyet az EU

2025. szeptember 12. 12:45

A Bizottság elfogadta a Microsoft által tett engedményeket, nincs retorzió az idestova öt éve húzódó eljárás végén.

bango

5

Tartalomautomatával bővül a OneTV

2025. szeptember 12. 09:27

A One tévés platformjába a Bango DVM-jét integrálják, ami jelentős mértékben megkönnyíti az új tartalomszolgáltatások bevezetését.