Posljednjih mjesec dana razvijam jednu aplikaciju koristeći ASP.NET i Visual Studio 2003. Iako mi se prije, na prvi pogled, činilo da je Microsoft napravio dobar posao, ipak svaki dan dobijem dokaz da me prvi dojam ipak prevario. Osnovni problem, s razvojem web aplikacija u spomenutom okruženju, je taj što on ne poštuje osnovne zakonitosti web-a, očito je nastojanje da se razvoj približi "klasičnim" developerima koji su uglavnom razvijali desktop aplikacije. "Event driven" aplikacija savršeno funkcionira kao "klasična" windows aplikacija, ali web je već druga priča. Kad su svoje okruženje napravili ovisnim o JavaScript-u onda su i događaje (event-e) mogli napraviti na efikasniji način. Da je to nekome u Microsoftu konačno ušlo u glavu govori i vijest koju sam pročitao ovih dana, u kojoj se spominje da se za .NET 2.1 framework sprema korištenje XmlHttpRequest objekta i bolje iskorištenje DOM-a.
Naviknut na razvoj web aplikacija u okruženju u kojem imam potpunu kontrolu, korištenje Visual Studio mi se često čini kao silazak s konja na, poprilično svojeglavog, magarca. Česte su situacije kad se problemi rješavaju taktikom “uđi-izađi”, a nije rijetko da VS pokazuje svoju prgavost kad sve napravite kako treba i na isti način kao prije, ali on se povremeno ponaša na drugačiji način. Tek toliko da vam ne bude dosadno. Za par jednostavnih bugova, koje bi u nekom open source proizvodu riješili za nekoliko desetaka minuta, treba čekati patch ili tražiti zaobilazna rješenja.
Po onome što sam vidio čini mi se da projektanti i izvođači na projekti VS nisu prije baš imali doticaja s web aplikacijama. Kako drugačije objasniti činjenicu da nas tek u 2.0 inačici očekuje stvarčica zvana Master page, tj. mogućnost da za više različitih .aspx stranica definiramo zajednički obrazac. A o šlampavosti u implementaciji doPostBack-a ne želim ni govoriti.
Jedan developer je na Usenet grupi tvrdio da je razvoj u ASP.NET-u brži nego u PHP-u ili Javi. On je u pravu u slučaju kad bi aplikaciju svaki put radili od potpunog početka, ali iskusni PHP developeri obično imaju svoje razvojno okruženje, gotove objekte i pomoćne biblioteke pa su u pravilu brži od svojeg ASP.NET kolege.
Povlačenje DataGrid-a s mišem vrlo kratko traje i jako je jednostavna operacija, ali što onda kad se u tom DG-u pojavi bug kao što je izostanak desnog bordera ukoliko imate skriveno polje u njemu?! Najprije potrošite vrijeme u potrazi za uzrokom pojavljivanja buga, onda tražite način da ga zaobiđete, a nije isključena mogućnost da na kraju završite pišući vlastitu kontrolu. Naročito je iritantno rješenje kad napravite nešto da zaobiđete bug, ali ta vaša zaobilaznica postane slijepa ulica nakon instalacije nove zakrpe ili nove inačice programa.
U svijetu web aplikacija ASP.NET nije donio ništa novo već je samo reciklirao, s manje ili više uspjeha, ono što je već odavno bilo poznato. Ali to ih zacijelo neće spriječiti da većinu reciklaže patentiraju pod svojim imenom.