Java 7 i OSS projekti u Srbiji
U okviru B-link 2011 festivala u sredu 27. Jula u galeriji O3ONE održano je nekoliko zanimljivih priča o Java tehnologiji. Fokus je bio na novinama u Javi 7, prvoj većoj verziji Jave u poslednjih pet godina, i šta one donose. Takođe, autori domaćih Java opensource projekta predstavili su njihove ideje i iskustva. Dešavanje je osmislio i organizovao JavaSvet, zajednica koja radi na popularizaciji, edukaciji i razmeni iskustava vezanih za Javu i Java tehnologije.
U prvom delu, prezentacije su održali članovi ekipe JavaSveta. Igor Spasić je predstavio JavaSvet, njihovu filozofiju, postignute rezultate i planove za budućnost, Saša Slavnić je podsetio na istoriju Jave, od jezika za tostere do programskog jezika koji je sleteo na Mars, dok su novine u Javi 7 prezentovali Vuk Nikolić (Coin i NIO) i Igor Popov (Invoke Dynamic i Fork-join). Iz njihove priče evo nekih glavnih novina:
- Project Coin donosi olakšan rad sa genericima uz korišćenje <> dijamant operatora, mogućnost korišćenja string-a u switch-u, čitljivu notaciju velikih brojeva, multi-catch koji znatno pojednostavljuje rad sa exception-ima i try-with-resources sa automatskim zatvaranjem resursa.
- NIO je proširenje već postojeće java.nio biblioteke sa paketima java.nio.file i java.nio.file.attribute radi veće nezavisnosti od različitih platformi, mogućnosti pristupa meta podacima (atributima) nekog fajla, podršci za rad sa symbolic linkovima, osnovnim operacijama za rad sa fajlovima (copy, move.. ) i notifikacijama o izmenama fajla.
- Invokedynamic je prva nova instrukcija u VM od nastanka Jave i predstavlja podršku za rad sa dinamičkim jezicima. Zasnovana je na Da Vinci Machine projektu čiji je cilj da stvori “više -jezičnu renesenasu u arhitekturi Java virtualne mašine”
- Fork/Join je Java biblioteka za podršku paralelnom programiranju, gde se problemi rešavaju tako što se neki posao podeli u manje pod-poslove koji se izvršavaju paralelno, čekaju jedni na druge i na kraju sklapaju u rezultat početnog posla. Fork/Join omogućava visok stepen skalabilnosti i brzinu uporedivu sa C/C++ bibliotekama.
Neke stvari kao što su lambda izrazi, Closure podrška, modularnost Java platforme (Jigsaw projekat) i deo Coin-a nisu ušli u Javu 7 ali će doći krajem 2012 sa Javom 8. Samo predstavljanje novina u Javi 7 je organizovano dan pre zvaničnog objavljivanja Jave 7, tako da sada možete preuzeti poslednju Javu i njenu dokumentaciju sa ove adrese.
što se tiče OSS projekata, evo kratkog pregleda:
JFreestell – čitač elektronske lične karte u Javi
Projekat sadrži grafičku aplikaciju i biblioteku otvorenog koda (GNU LGPLv3 licenca) za čitanje podataka sa elektronske lične karte. Biblioteka je prenosiva (GNU/Linux, Microsoft Windows, Apple MacOS x) i koristi javax.smartcardio za pristup čitaču pametnih kartica direktno kroz sistemski PC/SC interfejs. Grafička aplikacija omogućava izradu izveštaja u PDF fomatu koji se može štampati. Projekat nije povezan sa čelik bibliotekom koju možete preuzeti sa sajta sertifikovanog tela MUP-a. Slajdove sa predavanja možete pogledati ovde.
Neuroph – Mala, intuitivna biblioteka za rad sa neuronskim mrežama
Projekat se sastoji od dobro dizajnirane Java biblioteke sa nešto osnovnih klasa koje su potrebne za osnovni rad sa neuronskim mrežama. Takođe, postoji grafičko okruženje za kreiranje i izmenu komponenti neuronskih mreža. Objavljen je pod Apache 2.0 licencom i besplatan je za korišćenje. Više detalja o arhitekturama neuronskih mreža i različite funkcionalnosti projekta Neuroph su dostupne na ovoj adresi.
Acapulco – MVC biblioteka za kreiranje modularnih, OSGI-spremnih Swing aplikacija
Projekat omogućava Swing programerima da sa lakoćom kreiraju modularne i proširive aplikacije. Biblioteka dolazi sa Maven archetype-om koji omogućava kreiranje ‘out of the box’ aplikacija spremanih za dalji razvoj. Acapulco takođe ima ugrađenu podršku za često korišćene funkcionalnosti kao što su internacionalizacija, lokalizacija i multithreding.
Jodd – Java biblioteka opšte namene
Projekat čine Jodd Core i Jodd WOT biblioteke. Jodd Core proširuje JDK sa mnogim moćnim utility klasama sa puno funkcionalnosti (BeanUtil, JDateTime, Props, E-mail…), dok Jodd WOT predstavlja kolekciju jednostavnih aplikativnih okruženja (mvc+ioc+db+aop+transactions). Obe biblioteke su vrlo male – Core je ispod 550 KB, a WOT je ispod 440 KB. Posebna pažnja je posvećena performansama (brzini i memoriji) i kodu (jednostavan i lak za korišćenje). Projekat je objavljen pod BSD licencom i kao takav besplatan je za korišćenje.
Slike napravio Zoran Lovrić, a ostatak fotografija možete videti na Facebook stranici JavaSveta.
Autor: Vladan Petrović
Java softver inženjer u firmi youngculture. Član Crealogix E-Banking tima.
Pored poslovnih obaveza, prati razvoj tehnologija vezanih za web servise i aplikacije.
Autor: ITD Ekipa
1 komentar
Bas je dobro!
DODAJ KOMENTAR