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>
|