ASP.NET moet je simpelweg in 2 varianten zien.
De
server kant, dit zie je snel aan de bestandsnaam.aspx naam, maar deze kan aangepast worden in de IIS server, het kan dus net zo gemakkelijk bestandsnaam.w00t wezen, maar standaard is het aspx voor zowel ASP.NET v1 als v2. De oude ASP waarvan de laatste versie 3 was, is te herkennen aan bestandsnaam.asp.
Je kan ASP.NET in meerdere talen schrijven (ze zijn zelfs bezig om PHP te ondersteunen), maar de belangrijkste zijn C# en VB.NET.
Dan heb je de keuze om het in pure code te schrijven met een tekstverwerker zoals Notepad, of om het te compileren met bijvoorbeeld Visual Studio (of via commandline). Het voordeel van compileren is dat het vele malen sneller draait, in sommige gevallen extreem snel, heb specifieke testen gedaan tussen PHP en ASP.NET en een loop van 1 miljoen keer werd 10000x sneller gedaan door ASP.NET. Echter PHP is ook met compileren/optimaliseren bezig, Zend is daar op dit moment al ver mee, maar dat is een ander verhaal.
De server (meestal IIS) leest dus het pure script (of de al gecompileerde versie) en behandeld dus eerst de ASP.NET code, welke dan de uiteindelijk uitvoercode maakt. Dit is meestal HTML (het werkt dus op alle browsers, zelfs Lynx, zolang de uitgaande code tenminste geschikt is, maar dat ligt aan de programmeur), maar je kan ook zeer gemakkelijk een plaatje in real-time aanmaken/streamen, of vele andere manipulaties. Het voordeel is dus dat je dan enorme complexe websites kan maken, die meestal worden aangeduid als 'dynamic websites', omdat er dus dynamisch elke keer wat kan veranderen (vaak met een database system op de achtergrond). Dit is dus totaal anders dan effecten met JavaScript/AJAX/XLS/etc, omdat deze allemaal op de computer van de eindgebruiker gedaan worden. De server is er op dat moment al klaar mee en wacht op het volgende commando af. Normaal was dat altijd via de pull methode (client vraagt nieuwe data op van de server), maar nu komt daar dus ook steeds vaker de push methode bij. Het is dus wel zeer normaal om tegenwoordig ASP/ASP.NET/PHP/etc te gebruiken aan de serverzijde in combinatie met JavaScript/AJAX/XLS/etc aan de clientzijde om dus de mooie Web 2.0 applicaties te maken.
En dan is er de
client zijde, er is dan wel de zogenaamde FrameWork nodig. Welke een verzameling is van veelgebruikte code, om bijvoorbeeld de schermafhandeling te doen. Het is een soort Java Runtime, maar dan wel wat krachtiger.
Het mooie is nu dat je ASP.NET aan de server zijde kan laten samenwerken met ASP.NET aan de client zijde. Er moet dan wel een programma op de gebruiker zijn computer worden geïnstaleerd, meestal in de vorm van een ActiveX object, maar je kan dan in weze van alles doen, varieërend van Office tot virus-scanner, tot wat dan ook. Het kan ook een stand-alone applicatie zijn, het mooiste voorbeeld daarvan is bijvoorbeeld MediaPortal, een opensource C# applicatie waarmee je TV kan opnemen, films kan bekijken en nog meer.
Het probleem is dan wel dat je alleen maar Windows gebruikers kan ondersteunen. Het Mono project probeert daar verandering in te brengen, maar dat is ook een ander verhaal. De OpenSource gemeenschap met vooral Google (de GWK toolkit) in het voortouw is daarom ook zeer vooruitstrevend bezig met AJAX en Java om hier tegengewicht aan te bieden en PHP is ook bezig met een client versie.
Echter kan je zeer snel leuke internet/intranet/extranet applicaties in elkaar zetten met ASP.NET en daar blijft hem de kracht in zitten bij Microsoft.
En over 4 dagen geeft Borland al zijn Express/Turbo software ook gratis weg, dus vergeet niet om het te downloaden:
http://www.turboexplorer.com/