ASP.NET onder de motorkap: Heeft ASP.NET nog toekomst?
Door Michiel van Otegem
24 juni 2009
ASP.NET bestaat inmiddels al weer 7 jaar en dat is een mooi moment om eens terug te kijken en vooruit te blikken.
Waren het 7 vette jaren of waren het juist 7 magere jaren en gaan we nu pas echt genieten van ASP.NET?
Zijn we echt verder dan ASP "Classic"?
Voor de meeste mensen die zoals ik nog ASP "Classic" en Windows DNA geprogrammeerd hebben was ASP.NET fantastisch.
Eindelijk af van dat lelijke gescript tussen de HTML, echt object georiënteerd programmeren en veel robuuster door
onder andere garbage collection. Helaas zijn er ook mensen die het model van ASP.NET vervloeken, want het vereist
een hele andere denkwijze dan ASP “Classic” en vooral als je hele specifieke zaken wil met de weergave, kan het
objectmodel van ASP.NET nog wel eens in de weg zitten. Dat de ASP "Classic" manier goed werkt en blijft werken is
te zien aan het succes van PHP, dat qua methodiek veel gemeen heeft met ASP "Classic". Als Microsoft meer moeite
had genomen om ASP te verbeteren en uit te breiden met allerlei modules die het leven van de ontwikkelaar
vereenvoudigen (zoals met PHP gedaan is), waren we dan niet beter af geweest? Als je kijkt naar ASP.NET MVC
(Model View Controller), is het antwoord daarop eigenlijk een schoorvoetend "ja". ASP.NET MVC laat het model met
pagina’s en controls varen voor een model waarin we (weer) een HTML sjabloon hebben waar we waardes "in prikken".
Het is veel geavanceerder dan ASP 7 jaar geleden was, maar het is niet ondenkbaar dat we nu veel verder waren
geweest als Microsoft het model hetzelfde had gelaten en ons alleen de geneugten van de CLR had gegeven.
Is ASP.NET MVC de toekomst?
Er zijn nu al mensen die me vragen of ASP.NET MVC het huidige model zal vervangen. Mijn antwoord hierop is dat ik
dit niet op korte termijn zie gebeuren, aangezien ASP.NET MVC splinternieuw is en de meeste mensen het nog niet
eens gezien hebben. Verder zit er een enorme investering in applicaties die volgens het bestaande model gebouwd
zijn. Er zijn ongelooflijk veel controls op de markt die alleen geschikt zijn voor het huidige model en voordat al
die functionaliteit ook in ASP.NET MVC gerealiseerd is zijn we wel weer even verder. Het is echter ontegenzeggelijk
een interessante technologie en het lijkt erop dat Microsoft meer heil ziet in ASP.NET MVC dan het steeds maar
complexer worden van allerhande controls. Ook gaat Microsoft met ASP.NET MVC de concurrentie aan met technologieën
om snel applicaties te bouwen, zoals Ruby on Rails en geeft het veel meer vrijheid om AJAX (Asynchronous JavaScript
And XML) te gebruiken in een applicatie. Want hoe handig de UpdatePanel voor ontwikkelaars ook is, het is in feite
niet meer dan een verkapte postback, en dat is nou net wat AJAX eigenlijk helemaal moet voorkomen.
Moeten we allemaal AJA(X)cied worden?
Nu we het toch over AJAX hebben, is dat eigenlijk wel de weg die we op moeten? AJAX leunt zwaar op de HTML DOM en
de mogelijkheden van JavaScript. Dat er al jaren door Adobe, Google en Mozilla enerzijds en Microsoft en Yahoo
anderzijds onenigheid is over hoe JavaScript zich verder moet ontwikkelen laat in zekere zin het failliet zien van
de huidige standaarden voor het web, zeker als je daar de strijd tussen Adobe AIR, Google Gears en Microsoft’s
Silverlight ook bij betrekt. Vooral AIR en Silverlight laten pijnlijk duidelijk zien dat AJAX niet meer is dan een
lapmiddel op de tekortkomingen van HTML. Ironisch genoeg had HTML eigenlijk al helemaal niet meer moeten bestaan
in z’n huidige vorm. Een van de bestaansredenen van XML is het vervangen van HTML, om op die manier tot een web
te komen dat bestaat uit data met betekenis: het semantische web. Hoe je de XML wilt weergeven hangt af van wat
je ermee wilt doen. Is het slechts content? Dan is CSS als opmaak sausje eroverheen genoeg (eventueel met wat
HTML eromheen). Is het voor een applicatie? Dan weet die applicatie aan de hand van onder andere het XML Schema
wel wat ermee gedaan moet worden. Helaas is die realiteit nog steeds heel ver weg, maar er gloort hoop. Met SOAP
en de WS-* specificaties zijn er voldoende standaarden om een serieuze applicatie te maken op basis van web
services. Het maken van een RSS-feed is kinderlijk eenvoudig en ook de ondersteuning voor custom protocollen op
basis van POX (Plain Old XML) en REST (Representation State Transfer) wordt met de dag beter. Nu moeten we alleen
nog ophouden alle websites aan te bieden als HTML… maar dat is nu net waarom XML nog steeds HTML niet vervangen
heeft: het is wel erg makkelijk zo.
Join the (r)evolution!
Het web is toe aan een radicale vernieuwing, een die net zo groot is als de ontwikkeling van het web zelf begin
jaren negentig. Deze ontwikkeling is echter maar voor een heel klein deel een technische ontwikkeling. Het moet
vooral van ons komen. Wij moeten stoppen met kijken naar het web als een verzameling HTML-pagina’s en zien dat
het een verzameling van data, informatie en operaties moet worden. Als we dat kunnen, is de technologie die de
weergave verzorgt van ondergeschikt belang. Het is immers slechts een "view" op de data.
Dit artikel is eerder verschenen op de website van SDN, 21-05-2009
|