Programerske novice: april 2004
V tej številki predstavljamo XUL, označevalni jezik za hitro izgradnjo uporabniških vmesnikov, s katerim je zgrajena zunanja podoba celotne palete izdelkov Mozille (brskalnik, e-pošta, koledar, klepet...). V želji, da bi XUL približali širši množici razvijalcev, je Mozilla Foundation razgrnila načrte za prihodnost. Najzanimivejši del predlogov je izdelava razvojnega orodja, dodatka za priljubljeni Eclipse, ki bi omogočal hitrejšo izgradnjo vmesnikov XUL. Mozilla se želi prikupiti razvijalcem še z razširjeno podporo programskim jezikom. Poglavitni programski jezik je še vedno javascript, ki ga želijo nadgraditi v veliko zmogljivejši javascript 2, svoj dan pa bodo dočakali tudi programerji v pythonu in pozneje tudi v perlu. Zaradi navezave na Eclipse in tradicionalnega sodelovanja s Sunom si marsikdo obeta tudi izboljšano podporo programiranju Mozille in gradnikov novih programov zanjo v javi, kar bi izvrstno sovpadalo z neodvisnostjo od podlage, ki jo sicer že ponuja XUL. Žal čvrstejše zavezanosti javi zaenkrat iz uradnih sporočil ni zaznati. Vsekakor bo več podatkov na voljo na posebnem spletišču za razvijalce, developers.mozilla.org, ki ga pripravljajo.
Prihodnost Mozille
Pomemben člen prihodnjih različic Mozille bo dvorazsežna vektorska grafika, ki jo bo mogoče izkoriščati s pomočjo standardiziranega zapisa SVG. Spletne predstavitve odsotnost tega grafičnega standarda rešujejo predvsem z dodatkom Flash, a to še zdaleč ni optimalna rešitev, še posebej za preprostejše okraske (npr. zaobljene okvirčke). Navdušuje pobuda, da bo Mozilla uveljavljala spletne standarde skupaj z Applom (ki ponuja brskalnik Safari za Mac OS, sicer razvit na gradniku iz projekta KDE) in Opero. Mozilla bo tudi v prihodnje navduševala z inovativnimi izboljšavami, napoveduje osebni informacijski strežnik z možnostjo skupinskega označevanja in sestavljanja lastnih strani s pomočjo koščkov spletnih strani.
http://www.mozilla.org/events/dev-day-feb-2004/mozilla-futures/
http://www.mozilla.org/projects/svg/
http://www.mozilla.org/js/language/js20/
Odprta koda jave
Začelo se je dokaj nedolžno. Eric Raymond je v svojem slogu ozmerjal Sun in neodločnost tega podjetja pri predaji jave skupnosti, ki jo zdaj močno oblega pobuda .net, še posebej z odprto/prosto-kodnimi različicami, kot so Rotor, Mono ali DotGNU. Sledil je veliko bolj umirjen in z argumenti podkrepljen odgovor javanskega zagovornika Ganesha Prasada, ki pa je v bistvu zahteval isto. Nazadnje se je z odprtim pismom Sunu oglasil še sam IBM. Java je za IBM zelo pomembna tehnologija in Sunov nadzor nad njo jim ni preveč všeč, saj se lahko trenutno dokaj prijateljsko razmerje med podjetjema hitro spremeni. Prevzem pobude pri razvojnih orodjih, ki je IBMu uspel z okoljem Eclipse, lepo kaže, da IBM vsega nadzora ne želi pustiti potencialno hudemu konkurentu in mu tudi dokaj odprt proces sprejemanja javanskih standardov, JCP, ne odgovarja v celoti. IBM je tako ponudil, da sprosti kodo svoje izvedbe jave, Sun pa povabil, naj pri tem sodeluje in ustrezno "blagoslovi" odprto različico. Podjetji se intenzivno pogajata. Glede na trenutne razmere na trgu je precej verjetno, da bo do odprtokodne različice jave, uradno priznane s strani Suna, tudi zares prišlo. Taka bi, ob pravih licenčnih pogojih, nedvomno požela veliko odobravanje skupnosti, ki že razvija kar nekaj lastnih različic odprtokodne jave (npr. projekt GNU Classpath), a le počasi lovi korak z uradno različico.
Sun je sicer kljub čvrsti roki, s katero drži temeljne javanske standarde, že prispeval k odprtokodnim različicam povezanih tehnologij. Posebej pomemben je njegov prispevek organizaciji Apache Foundation, ki ponuja javansko ogrodje za podporo XML in programski strežnik Tomcat. Sun počasi izboljšuje odnose s še enim ponudnikom odprtokodne javanske infrastrukture, organizacijo JBoss.org, katere programski strežnik je bil po kar nekaj nesoglasjih končno potrjen kot uradno skladen z določili poslovne jave J2EE.
http://www-136.ibm.com/developerworks/java/
Strukturna analiza za javo
IBM sicer ne sedi križem rok, kar zadeva javanske pobude. Njegovo nedavno darilo razvijalcem je napredno orodje za strukturno analizo programske kode SAJ (Structural Analysis Java), ki pri načrtovanju in razvoju kakovostne programske kode gradi na bogatih izkušnjah IBM in njegovega nedavnega nakupa podjetja Rational.
Orodje ponuja znatno pomoč tako arhitektom kot razvijalcem kode, saj v kodi išče problematične dele, znane tudi kot "protivzorce" (antipatterns), ki bi se lahko izmuznili skozi postopek razvoja in začeli povzročati težave šele pozneje, ko se programska rešitev razvija naprej. Orodje SAJ tako poizkuša napovedati težave, pri tem pa se opira na posebno matematično metodo. Njeno delovanje temelji na analizi paketov, razredov in vmesnikov. V analizi zbrani podatki se sestavijo v programski model, ki ga orodje primerja z zbirko vnaprej določenih vzorcev. S pomočjo te primerjave lahko zazna nepravilnosti.
Zgled take nepravilnosti je protivzorec "metuljček" (butterfly), ki ponazarja krhek programski sistem, ker se veliko število gradnikov opira na podrobnosti enega samega. Mala neprevidna sprememba v tem ključnem gradniku zlahka povzroči napačno delovanje vsega sistema.