Nu har jeg allerede en del års .NET erfaring, og der er slet ingen tvivl om, at ViewState er en dårlig opfindelse.
Det er ikke en dårlig opfindelse, fordi det ikke kan bruges, for det kan det sagtens. Problemet med "drag ''n drop"-programmering er jo generelt, at man gør ting lettere for programmøren og lader IDE''et klare opgaverne, og det får desværre de fleste udviklere til at springe over, hvor gærdet er lavest og slå hovedet fra.
ViewState er ganske anvendeligt i webapplikationer, og det har aldrig været meningen, at det skal bruges på websteder. Det er simpelthen ene og alene dovenskab, der har medført de problemer, som vi i dag ser! I CMS''ets back-end er det ganske fornuftigt at anvende ViewState til en hvis grænse, men webstedet er ikke en webapplikation - det er et præsentationslag for noget givent indhold.
Som en SQL Server MVP har skrevet, "My experience has forever cemented postback, viewstate, and datagrids as EVIL. Like Satan evil. Viewstate is pure evil. Oh, I already said that. Well, it bears repeating."
Derudover kan man sagtens lave formularer, der fungerer på .NET uden runat="server". Man kan givetvis ikke bruge udviklingsmiljøet i samme udstrækning, men der er jo heller aldrig nogen, der har påstået, at man skal kunne lave det perfekte websted uden omkostninger. CMS kan som værktøj overtage en stor del af opgaverne, men det kan lige så let blive en hæmsko, hvis det ikke er lavet rigtigt.
Forresten vil jeg gerne dementere, at Visual Studio 2005 ikke kan levere semantisk, valideret HTML. Det kan sagtens lade sig gøre, men det er altid en fordel, at man selv tager ansvar på de områder, hvor der er fastlagt krav til struktur mv. Man bør dog aldrig lade værktøjet levere HTML, da det netop i forbindelse med søgemaskineoptimering handler om at kunne kontrollere ens resultat.
|