¿Qué es ASP.net?

El 20 de Enero del 2002 una nueva versión del tradicional Active Server Pages se ha lanzado al público, no es ASP 4.0 sino ASP.net. ASP.net forma parte del .NET Framework de Microsoft, junto con VB.net, C++.net, C# (algo así como una versión mejorada de C++) hasta incluso JScript.net.

Pero ¿cúal es la diferencia de ASP.net con el ASP común que conocemos?

Mucha, realmente es mucha. Mientras ASP se escribía en VBScript, ASP.net puede ser escrito en cualquier lenguaje soportado por el .net Framework, es decir: VB.net; C# y JScript.net. Si, como has leído, ya no puedes utilizar VBScript sino que debes utilizar VB.net que es lo que más se aproxima. Otro cambio radical es que ASP.net es un lenguaje totalmente orientado a objetos.

¿Que mejoras trae ASP.net? ¿Es realmente mejor que ASP?

Sin duda, es mucho mejor que el ASP tradicional, ASP.net trae diversas mejoras entre las cuales se destacan:

  • Rendimiento: la aplicación de compila en una sola vez al lenguaje nativo, y luego, en cada petición tiene una compilación Just In Time, es decir se compila desde el código nativo, lo que permite mucho mejor rendimiento. También permite el almacenamiento del caché en el servidor
  • Rapidez en programación: mediante diversos controles, podemos con unas pocas líneas y en menos de 5 minutos mostrar toda una base de datos y hacer rutinas complejas.
  • Servicios Web: trae herramientas para compartir datos e información entre distintos sitios.
  • Seguridad: tiene diversas herramientas que garantizan la seguridad de nuestras aplicaciones.

¿Qué diferencias de sintaxis hay con respecto de ASP 3.0?

Partiendo de la base de que el lenguaje es otro, muchas, al ser programación orientada a objetos y al ser lenguaje de Visual Basic .net todo es muy diferente. Hay que cambiar el pensamiento y todos los viejos conceptos que teníamos de ASP 3.0.
ASP.net es más bien parecido a Visual Basic, en la página, todos los elementos son objetos, activos de servidor (que se generan ahí) y tienen propiedades y métodos.
Vale aclarar que en ASP.net existen los formularios activos del servidor ¿qué es esto?, son como los formularios tradicionales de HTML, pero se le agrega en el TAG FORM el atributo runat=server, y dentro del formulario se agregan los controles activos de servidor. Cuando ocurre un evento, la página se auto envía a si misma y se procesa el controlador para ese evento. EJ:

<%@ Page language="VB"%>
<%@ Import Namespace="System.data.oledb" %>

<script runat="server">
Sub Nombre_change(sender as object, e as EventArgs)
Mensaje.text = "Buenos días " + Nombre.text
End sub
</script>

<html>
<body>
<font face="verdana" size=2>Esta es la página de Pablo!</font><br><br>
<form runat="server">
Tu nombre: <asp:TextBox id="Nombre" OnTextChanged="Nombre_change" runat="server" autopostback="true"/>
<asp:label id="Mensaje" runat="server" />
</form>
</body>
</html>

Tal vez parezca un poco complicado al principio. Pero analicemos el código. Primero si quieren experimentar, copien y peguen el código en el bloc de notas y guárdenlo en su WWWROOT como bienvenida.aspx, tomen nota de que para correr ASP.net deben tener el .NET Framework instalado en su PC, de otra manera no funcionará. Vayan a http://localhost/bienvenida.aspx. Tecleen su nombre y sitúen el cursor fuera del casillero de texto, como por arte de magia aparece un mensaje que nos da buenos días. Pero no es magia en realidad, veamos como funciona realmente.

En el código hay tres colores marcados: verde, rojo y azul.

  • En las declaraciones del color verde podemos ver que le dan dos instrucciones, la primera, dice al compilador que el lenguaje utilizado es VB.net, de otra manera diría "C#", nótese la ausencia del ".net". En la segunda instrucción, vemos que importa el espacio de nombre System.Data.OleDB, que sirve para trabajar con bases de datos, innecesario en esta página claro, pero lo incluí para que vean como se incluye un espacio de nombre. Un espacio de nombre es algo que te permite realizar determinada función, por ejemplo, si queremos utilizar las poderosas características que trae ASP.net para trabajar con XML, importaríamos el espacio de nombre "System.XML".
  • En el color rojo podemos observar sólo el método Nombre_change, correspondiente al evento del campo de texto Nombre, o sea, se ejecuta cuando el campo de texto Nombre cambia. Lo único que hace es poner en la etiqueta Mensaje el valor "Buenos días " más el valor que contenga el campo de texto Nombre.
  • El color azul es el conocido HTML, pero con un formulario con RunAt="Server", o sea, estos controles se ejecutan en el servidor y luego procesados traen código HTML común, o sea por ej: <input name="Nombre" type="text" id="Nombre">

Una vez procesado todo el código, envía el siguiente resultado al navegador:

<html>
<body>
<font face="verdana" size=2>Esta es la página de Pablo!</font><br><br>
<form name="_ctl0" method="post" action="bienvenida.aspx" id="_ctl0">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="dDwxMTU3NzQ3OTc0Ozs+jxrUecWhDY6AanZbrFANP9MYypQ=" />

<script language="javascript">
<!–
function __doPostBack(eventTarget, eventArgument) {
var theform = document._ctl0;
theform.__EVENTTARGET.value = eventTarget;
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// –>
</script>

Tu nombre: <input name="Nombre" type="text" id="Nombre" onchange="__doPostBack(‘Nombre’,”)" language="javascript" />
<span id="Mensaje"></span>
</form>
</body>
</html>

Bueno, espero que les haya gustado el tema, y a seguir empapándose de ASP.net!

Deja un comentario