A következő címkéjű bejegyzések mutatása: újdonság. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: újdonság. Összes bejegyzés megjelenítése

2008. május 21., szerda

újgenerációs java plugin technology

Pár napja az RSS olvasóm a next-generation java plugin technology bejegyzésektől volt hangos, utánenéztem hát, hogy mi is ez pontosan. Természetesen a JavaSE 6 legújabb update-jéről volt szó, vagyis arról, hogy milyen új funkciókat hozott magával. A release notes elolvasása után ezeket találtam a legfontosabbnak (illetve a leglátványosabbnak):

  • Az appletek az új pluginnel kiemelhetők a browser ablakból, azaz egy kólön ablakot kaphatnak. Túlzottan nem mennék bele, azt ki lehet próbálni. Akit érdekel, hogy mi történik a sessionnel, az olvashat róla a java.net fórumon.
  • Az appletek betöltése alatt látható kép lecserélhető (bár kinek ne tetszene a narancssárga kávé...). Ehhez az applet elem új paraméterét (centerimage) használhatjuk (ugyanúgy, mint a többbit: egy param elemben).
  • JNLP támogatás. Az appleteket közvetlenül JNLP állományokból futtathatjuk - azaz az appletekből úgymond Java webstart alkalmazás lesz.
Az új lehetőségeket kitűnően bemutatják a NASA World Wind Java oldalon található appletek.

2008. május 15., csütörtök

mi várható a Java7-ben?

A Java rajongók népes tábora izgatottan várja, milyen újdonságokat hoz majd a Java7. Nézzük meg, mikről hallottunk eddig.

  1. Mapekre alkalmazható for ciklus. A Java5 újdonsága volt a foreach szerű for ciklus. Ezzel egyszerűen járhatjuk be a kollekciókat, pontosabban az Iterable interfészt implementáló osztályokat. Sajnos a Map-re, mit speciális kollekcióra nem igazán lehet alkalmazni ezt a konstrukciót: vagy a kulcsok kollekcióját, vagy az elemekét járjuk be. A Java7-ben valószínűleg a for ciklust már Mapekre is használhatjuk, hasonlóan a PHP-hoz, valahogy így:

    for(String key, String elem: map){
    ...
    }

    Ezzel a ciklussal egyidejűleg járhatnánk be a kulcsokat és az elemeket, leegyszerűsítve a Map-ek bejárását.
  2. Típusfelismerő for ciklus. Ez az újítás szintén a foreach ciklushoz kapcsolódik. Egy kollekció bejárásához jelenleg szükségünk van egy változóra, amelyben az aktuális elemet tároljuk. Azaz mindig meg kell adnunk a változó nevét és típusát. Ez az újítás egy kicsivel leegyszerűsítené a dolgunk azzal, hogy a típusmegadást elhagynánk. Ezt a fordító találná ki helyettünk a kollekció objektum típusából.
  3. Szupercsomag. A szupercsomag egy teljesen új nyelvi konstrukció lenne. Lányege, hogy a csomagokat egy logikai egységbe szervezhetnénk, amelyen belül módosíthatnánk az egyes osztályok láthatóságát. Például megmondhatnánk, hogy egy adott csomag osztályait csak a szupercsomag többi csomagjának soztályai láthatják. Ezzel új lehetőségeket kapnánk az adatbezárás tökéletesebb kezelésére.
  4. A C# properyjeihez hasonló konstrukció. Ezzel sokkal természetesebben érhetnénk el az egyes adattagokat (get és set metódusok hívogatása helyett), de az osztályok belső állapotához sem kellene nagyobb hozzáférést biztosítanunk. x.getField() helyett x.field-et írhatnánk. Aki ismeri a C#-ot (vagy a groovyt), az sejtheti, mire számíthatunk.
  5. A dátum API cseréje. Erről korábban már írtam egy postot.
  6. A konkurencia kezelése a nyelv részévé válhat, azaz kulcsszavakat vezethetnek be a többszálúság kezelésére.
A fentieken kívül még rengeteg dologról hallani, viszont ezek még nem mind kiforrottak, csak egyszerű lehetőségek. A szóba kerülő újításokról bővebben ezen a linken lehet tájékozódni. Én a fentieket találtam a legérdekesebbnek.