Friday, September 07, 2007

Konfrontacije: Dizajn u ASP-u i ASP.NET-u

Pre više od dve godine počeli smo u firmi da dizajniramo u Visual Studio okruženju i da učimo kako novo okruženje funkcioniše, koje su njegove prednosti i mane. Moram priznati da je Visual Studio 2003 imao velike nedostatke i mane u odnosu na Visual Studio 2005 naročito kada je u pitanju interpretacija CSS property-a, ali pogotovo kada je se radi o accessibility-u, WAI-u i ispunjenju XHTML validnosti kod. Hvala bogu, većina tih propusta rešena je u verziji, ali neki nisu - niti će, jer ovo okruženje radi na način na koji je osmišljeno (konkretno - postbackovanje strane, koje ako isključite JavaScript - WAI level AA zahtev, neće raditi pa samim tim ni stranica neće raditi). Ali, napretkom tehnologije ili ćete se odreći nekih standarda zarad napretka (pa standardi se menjaju vremenom, zar ne?) ili ćete tapkati u mestu.

A malo pre tog vremena aktivno smo naučili i da radimo tableless dizajn, i mnogo toga naučili od engleskih kolega. Iako i dan danas nismo u potpunosti pandan njima, mogu slobodno da kažem da smo ih po znanju stigli na 95%. Ne zbog toga što mi ekstra brzo učimo, ili što smo prepametni, već zato što su oni dozvolili da ih stignemo, tapkajući u mestu. U međuvremenu, mi smo naučili to što oni primenjuju recimo više od tri do četiri godine, a preneli smo to znanje aktivno i u Visual Studio okruženje i tu stekli veliku prednost. O našim programerima da i ne pričam - tu su svetlosne godine ispred njih, courtesy mog starijeg brata (on predvodi programerski a ja dizajnerski tim - hehe, Vili i ja smo samo u timu).

Eh, sada - problem. Trebam li napomenuti da popularna biznis-srpska izreka "veži konja gde ti gazda kaže" važi i u našoj firmi? Tako je važilo i kod nas, pogotovo kada je u pitanju engleska-sestra-firma i njeni zaposleni. Mi razvijamo za njih okruženja u ASP.NET-u pa i dizajniramo i programiramo u ASP-u kada treba. I naravno, sve njihove primedbe (bilo na dizajn, bilo na programiranje) usvajane su i rađeno je onako kako su hteli. I pored toga što su to nekad bile greške, pored toga što smi im govorili da tako ne treba... rađeno je, jer su tako hteli.

Microsoft .NET

Pravovremeno korišćenje nove tehnologije nama je donelo samo prednost i korist u odnosu na sestrinsku firmu.


Dolazimo do ključne stvari - došao je novi projekat. U .NET-u, sa kratkim rokom, sa potrebom da se koriste user i web kontrole. A engleski dizajneri treba da naprave template strane, pošto oni rade i dizajn sajta. Tu se javlja prvi otpor napretku i učenju nove tehnologije - oni, navikli da rade u klasičnom ASP-u, pokušali su da proguraju njihov način rada koji bi, iskreno, upropastio projekat kako u vremenu izrade tako i u samom izgledu, pošto bismo imali ogromne problema da prebacimo CSS da radi kako valja u .NET-u, a o template stranama da i ne pričamo.

Na conference call-u dogovorili smo se da rade klasičnu HTML stranicu kako bismo od nje napravili master stranu. Da ne koriste ID-eve, izuzev u glavnim DIV holderima, jer su ID-evi neophodni programerima i samom Visual Studiu da poveže elemente kako valja. Ovde je bilo ogromnog otpora. Ne shvatajući koncept .NET-a i kako on funkcioniše, plašeći se izgleda promena i novina, pokušali su da nas izmapulišu i isteraju svoj (pogrešan) način razmišljanja. Nisu uspeli.

Sledeći problem je bio kod dve kontrole - kalendar i paging kontrole. Naši programeri razvili su dve potpuno pouzdane kontrole koje rade i koje su istestirane. Korišćene su u više projekata. Dali smo im kod koje kontrole rendaju da bi mogli da naprave da kod izgleda onako kako žele. Izuzetno nevoljno su "pristali". Odnosno, ne zna se da li su pristali ili nisu, jer glavni dizajneri nisu tu, valjda ih je glavni programer naterao da to naprave kako mi želimo. Oh bože... dakle, ili ćemo koristiti postojeću istestiranu kontrolu i uštedeti vreme, a vi ćete izdizajnirati kod onako kako smo mi rekli - ili ćemo praviti novu kontrolu da bi to rendalo onako kako vi kažete, izgubiti vreme na pravljenje kontrole, testiranje, ispravljanje bagova... Sreća, ovde nije za sada pobedio gazda, već onaj koji vezuje konja.

I najveći problem - accessibility. I postbackovanje strane. Zahtev za WAI AA trenutno ne pije vodu, već možemo ispuniti WAI level A zahtev. XHTML validnost se podrazumeva. Ali, da projekat radi sa isključenim JavaScriptom isto kao i sa uključenim je jednostavno - nemoguće. Nemoguće. A oni insistiraju na tome... šta će se ovde još ozdešavati, videćemo...

Moj brat početkom ili sredinom oktobra ide u Englesku kako bi im objasnio koncept i naučio ih gde greše. Voleo bih da možemo zajedno otići - tako bismo bili jači i imali bolju argumentaciju za sve ovo oko čega se borimo već nedelju dana.

Sve u svemu - znanje rada i dizajna u ASP.NET-u je trenutno neprocenjivo i to je prostor gde imamo ogromnu prednost na ljude iz sestrinske firme. A svi predlozi koje dajemo su dobronamerni, kako bi se projekat doterao do kraja. Ako oni to ne shvate na vreme, projekat puca - kratko i jasno.

No comments:

Post a Comment