Errgh... nezd.
Ahhoz, hogy tenyleg minosegi webalkalmazast adj le, ahhoz at kell latni a HTTP karakterprotokol-retegetol kezdve a javascript magasszintu library-jeinek mukodeseig (kozbe azert ismerve a bongeszok flow engine-jeit, DOM elmeletet stb) rengeteg dolgot.
A php/django/rails vonalat olyan emberek fejlesztettek, akik ezekkel tisztaban voltak, igazabol egy rendkivul minimalista nezetbol indul a PHP. Ez a minimalista, retegrol-retegre felfedezett tudas az, ami a mai MVC szerveroldali webes rendszerek mogott van, a rendkivul egyszeru, vegletekig egyszerusitett template nyelvekkel, a kizarolag input-model-output parositassal foglalkozo controllerekkel, az egeszet iranyito routerrel, executionfilterrel, mindazzal, amit megtalalsz egy rendes modern webes frameworkben, latsz az utcan ezret, ujabban - de csak ujabban - javahoz is.
A javas vilagra viszont ezt rakenyszeritettek. Ok baromira nem webet (html-szervert) akartak fejleszteni. A Sunnal a webes celnyelv egy idoben konkretan a szerveroldali javascript volt (netscape-sun deal). Kijott a JSP, ami vegulis PHP for java, tehat ilyen inversion-of-display vagy nem tudom minek becezzem, amit a java fejlesztok baromira nem ertettek.
Aztan addig eroszakoltak magukat, amig kijott a JSF.
A JSF-fel (ez lesz most a fo pelda, es a raepulo visual toolsetek mondjuk) az a baj, hogy a modellje hamis: hulyeseg amit allit. Nem ugy mukodik a web, ahogy azt a kitalaloi elgondoltak. Neha egyenest at kell vagni. Szo szerint.
Tudod mi a vegeredmeny?
Gyakorlatilag ugyanaz, mint amikor a 90-es evek vegen frontpage-dzsel meg word- mentes weblapkenttal szerencsetlenkedtek ossze titkarnok meg unatkozo haziasszonyok, csak epp programkent.
Mig-ral-hat-at-lan. Sot: re-fak-tor-al-hat-at-lan.
Kesz.
Ra van kenyszeritve a webfejlesztes az Enterspajz Dzsava 2000 Zrt-re, ami egesz eddig csak az SAP-t integralta Oracle-lel. Fog egy ilyen vizualis tool-t, meg belefeccolnek az embereik 200 evet abba, hogy megertsek a menedzselt babokat, amiket kompletten kene kihajitani az egeszbe. Aztan vagy ok, vagy a grafikus kis legozo, vagy az IDE, vagy a container, lenyegtelen, legeneralnak 300 tonna kodot, ami osszekapcsolja az uzleti modelt abbol amit megertettek az eszkozeikbol, amiket atbasztak annyira, hogy majdnem azt csinalja, amit az ugyfel akart. Ehhez hozza tartozik, hogy hangsulyozom, a JSF fejlesztoinek valoszinuleg elotte nem kellett webet fejleszteni, nem onnan jottek.
Osszerakjak a kis programot, leadjak, elmegy a fejlesztoceg (megszunik,osszevesztek, mittudomen), eltelik 3 ev, mi van?
Variaciok:
- A vevo azert kerul uzleti hatranyba, mert nem tudja a valtozasokhoz igazitani a szoftveret (esetek 80%-a)
- A vevo megprobalja a valtozasokhoz igazitatni a szoftveret, de iszonyatos erofeszitesek aran megy csak, ha egyaltalan (maradek 15%)
- A vevo kidobja a programot egybe , es fejlesztet egy ujat, ami vagy modern ertelmezesben lesz kacat, vagy egyszer megirjak normalisan vegre, de mindenkeppen dupla (tripla, kvadra...) koltseg.
Nem nagyon talalkoztam olyan emberrel, aki JSF-et hasznalna, es kokemenyen atlatna a webet. Komolyan. Ezek olyan emberek, akik sokminden mashoz nagyon jol ertenek, de a webhez nem akarnak: ok geekek, kockak. Ok "bekkend-fejlesztok" akarnak lenni, nem akarnak az ugyfel, plane az ugyfel vevojenek orra ele fejleszteni szoftvert, ok benn akarnak lenni az irodaban, hagyjak oket beken. Talalnak egy ilyen tool-t es orulnek.
(Ugyanez dotnetre is am, az AUT honlapjan pl. nem lehet enterre bejelentkezni, mert a formbuilder amivel osszedobtak, ugy gondolta, az input submitot nem hasznalja... a www.bme.hu nevu katasztrofarol meg nem beszelunk, komolyan visszasirom a regi, statikus, 1997-es oldalt, ahhoz akkor erteni kellett.)
A szornyu az, hogy ezek egyebkent okos emberek: mindketten tudjuk, ki rakta ossze azt a honlapot, nem buta ember. Ceges kornyezetben senior fejleszto lenne minimum... de egyszeruen... toollal lett osszerakva.
Ugy lett toollal osszerakva, hogy vagy a tool keszitoi, vagy a hasznaloi nem voltak eleg jok. Valaki nem ertett valamit. Egy trivialis dolgot.
Ezert van az, hogy sokkal inkabb bizom a sajat tooljaimban, amiket per projekt irunk vagy hozunk at, mikor erezzuk a taszkok ismetlodeset. Meg azokban, amiket soronkent neztem at. Amiket teljesen megertek.
Cseszettul erteni kell hozza? Igaz. A legtobb vevonek nincs ilyen minosegigenye? Most meg.
De a ronda az, hogy a JSF-ben dolgozo senior-fejleszto altal keszitett weblap altalaban pont olyan szar, mint a kispistike bt altal php-ban osszeganyolt.
Az egyik a foldrol epitkezett, koszos, mocskos eszkozokkel, es primitiv volt.
A masik meg - hat, az also reteghez o se ertett talan jobban. Megtanult egy csomo koztes dolgot, amik egyebkent baromira nem kellettek volna pont ehhez, ha hajlando lett volna megtanulni a masik eszkozeit a sajat eszevel hasznalni.
A munkaja nem lett jobb.