ASP.NET para niños
Datos para niños ASP.NET |
|||||
---|---|---|---|---|---|
Información general | |||||
Tipo de programa | Framework | ||||
Desarrollador | Microsoft | ||||
Lanzamiento inicial | enero de 2002 | ||||
Licencia | EULA | ||||
Información técnica | |||||
Programado en | .NET | ||||
Versiones | |||||
Última versión estable | 4.5 (15 de agosto de 2012) | ||||
Última versión en pruebas | 5.0 (12 de octubre de 2015) | ||||
Lanzamientos | |||||
|
|||||
Enlaces | |||||
Sitio web oficial
Repositorio de código
|
|||||
ASP.NET es una herramienta especial para crear sitios web y aplicaciones web dinámicas. Fue desarrollada por Microsoft. Los programadores usan este sistema para construir páginas web que pueden cambiar y mostrar información diferente a cada usuario.
ASP.NET se lanzó en enero de 2002. Fue una mejora de una tecnología anterior llamada Active Server Pages (ASP). Funciona con el sistema .NET Framework, lo que permite a los programadores usar varios lenguajes de programación para escribir el código.
Contenido
- Historia de ASP.NET
- Características de ASP.NET
- Mejoras de ASP.NET sobre ASP clásico
- Extensiones de ASP.NET
- Modelos de programación en ASP.NET
- Uso actual de ASP.NET
- Véase también
Historia de ASP.NET
Microsoft lanzó la tecnología Active Server Pages (ASP) en diciembre de 1996. Era parte de Internet Information Services (IIS). Esta tecnología permitía combinar HTML con pequeños programas (scripts) para crear páginas web que cambiaban.
Después de unos años, Microsoft quiso mejorar ASP. Querían resolver problemas como la mezcla de diseño y código. También buscaban una forma más "limpia" de programar.
Mark Anders y Scott Guthrie fueron los encargados de pensar en un nuevo sistema. Scott Guthrie creó los primeros prototipos a finales de 1997.
El prototipo inicial se llamó "XSP". La "X" no significaba nada en particular, pero sonaba moderno. Al principio, se programó en Java. Sin embargo, pronto decidieron usar una nueva plataforma de Microsoft llamada Common Language Runtime (CLR). El CLR es un entorno que ayuda a los programas a funcionar mejor. Permite usar la programación orientada a objetos y otras funciones útiles.
Este cambio fue arriesgado porque el CLR también estaba en sus primeras etapas. Pero el equipo de XSP fue el primero en Microsoft en usarlo. Con el CLR, XSP se reescribió en C# y se renombró a ASP+. La idea era que los programadores de ASP pudieran cambiarse fácilmente a esta nueva versión.
La primera vez que se mostró ASP+ al público fue el 11 de julio de 2000. Fue en una conferencia de Microsoft en Orlando. Allí se anunció que ASP+ funcionaría con varios lenguajes de programación.
Más tarde, en 2000, Microsoft decidió usar la marca ".NET" para muchos de sus productos. Así, ASP+ cambió su nombre a ASP.NET. Esto lo alineaba con el resto de las herramientas de la plataforma .NET.
Después de cuatro años de desarrollo, ASP.NET 1.0 se lanzó oficialmente el 5 de enero de 2002. Fue parte de la versión 1.0 del .NET Framework.
Características de ASP.NET
Páginas web (Web Forms)
Las páginas de ASP.NET se llaman "web forms" (formularios web). Son la forma principal de construir aplicaciones web. Los archivos de estas páginas terminan en ASPX. Contienen HTML y "Controles Web". Estos controles son como bloques de construcción especiales que el servidor procesa. También pueden tener código que se ejecuta en el servidor.
ASP.NET funciona en el servidor de Microsoft IIS y también en Apache.
Ejemplo de página web
Aquí tienes un ejemplo sencillo de cómo se ve el código de una página ASP.NET:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToLongDateString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Página de Ejemplo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label runat="server" id="Label1" />
</div>
</form>
</body>
</html>
El modelo Code-behind
Microsoft sugiere usar el modelo "code-behind" (código detrás). Esto significa que el código de programación se guarda en un archivo separado. Por ejemplo, si tu página se llama MiPagina.aspx, su código estará en MiPagina.aspx.cs (para C#) o MiPagina.aspx.vb (para Visual Basic).
Este modelo ayuda a separar el diseño de la página (HTML) del código que hace que funcione. Así, un diseñador web puede trabajar en el aspecto visual sin preocuparse por el código. Y el programador puede enfocarse en la lógica.
Ejemplo de Code-behind
La página ASPX tendría una línea como esta al principio:
<%@ Page Language="C#" CodeFile="EjemploCodeBehind.aspx.cs" Inherits="SitioWeb.EjemploCodeBehind"
AutoEventWireup="true" %>
Y el archivo EjemploCodeBehind.aspx.cs contendría el código:
using System;
namespace SitioWeb
{
public partial class EjemploCodeBehind: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
El método `Page_Load()` se ejecuta cada vez que alguien pide la página al servidor.
Controles de usuario
Los "Controles de Usuario" son partes de una página web que se pueden reutilizar. Imagina que tienes un menú de navegación o un formulario de comentarios. Puedes crearlos como un control de usuario y luego usarlos en muchas páginas.
Estos controles se guardan en archivos con extensión ASCX. También pueden usar el modelo code-behind.
Cómo se guarda la información (Administración del estado)
Cuando navegas por internet, el protocolo HTTP (el que usan los navegadores) no "recuerda" lo que pasó antes. Cada vez que pides una página, es como si fuera la primera vez. Por eso, las aplicaciones web necesitan formas de recordar información. ASP.NET ofrece varias maneras de hacer esto:
Estado de la aplicación
Es información que comparten todos los usuarios de una aplicación. Se carga una vez cuando la aplicación empieza a funcionar.
Estado de la sesión
Es información que se guarda para cada usuario mientras está usando la aplicación. Por ejemplo, lo que tienes en tu carrito de compras en una tienda online. Esta información se identifica con una cookie en tu navegador.
Hay diferentes formas de guardar esta información:
- InProc: Se guarda dentro del mismo programa. Es rápido, pero si el programa se reinicia, la información se pierde.
- StateServer: Se guarda en un programa separado. Es un poco más lento, pero permite que la información se comparta entre varios servidores. Así, la aplicación puede manejar a muchos usuarios.
- SqlServer: La información se guarda en una base de datos. Es la forma más robusta y permite que la información persista incluso si el programa se reinicia.
Estado de la vista
Esta es una forma de recordar la información de los elementos de una página web específica. Por ejemplo, si llenas un formulario y luego envías la información, el "estado de la vista" ayuda a que los campos del formulario recuerden lo que escribiste si la página se recarga. Esta información se envía al servidor en un campo oculto llamado `__VIEWSTATE`.
Motor de plantillas
Al principio, ASP.NET no tenía una forma fácil de crear diseños de página que se repitieran. Los programadores tenían que hacer trucos para tener elementos comunes como encabezados o pies de página.
ASP.NET 2.0 introdujo las "páginas maestras" (Master Page). Una página maestra es como una plantilla de diseño. Define el diseño general de un sitio web. Tiene áreas especiales llamadas "ContentPlaceHolders" donde se puede insertar contenido diferente en cada página.
Las páginas individuales (páginas hijas) usan estas plantillas. Cuando un usuario pide una página hija, ASP.NET combina el contenido de la página hija con el diseño de la página maestra. El resultado es una página completa que se envía al usuario.
Hoy en día, existe un motor de plantillas más nuevo llamado Razor. Facilita la creación de páginas ASP.NET.
Otros archivos importantes
ASP.NET usa diferentes tipos de archivos para distintas funciones:
Extensión | Versión necesaria | Descripción |
---|---|---|
asax | 1.0 | Archivo para la lógica general de la aplicación (como el inicio). |
ascx | 1.0 | Controles de usuario web: piezas personalizadas para usar en páginas. |
ashx | 1.0 | Manejadores especiales para solicitudes web. |
asmx | 1.0 | Páginas para crear servicios web. |
axd | 1.0 | Usado para ver información de seguimiento de la aplicación o para incluir recursos. |
browser | 2.0 | Archivos que describen las capacidades de los navegadores web. |
config | 1.0 | Archivos de configuración en formato XML (como `web.config`). |
cs/vb | 1.0 | Archivos de código fuente (C# o Visual Basic). |
dbml | 3.5 | Archivos para trabajar con bases de datos usando LINQ a SQL. |
master | 2.0 | Archivos de página maestra (plantillas de diseño). |
resx | 1.0 | Archivos de recursos para traducir la aplicación a diferentes idiomas. |
sitemap | 2.0 | Archivos de configuración del mapa del sitio web. |
skin | 2.0 | Archivos para definir temas visuales de la aplicación. |
svc | 3.0 | Archivos de servicio de Windows Communication Foundation. |
Cómo se organizan las carpetas
La forma en que se organizan las carpetas en un proyecto ASP.NET es bastante flexible. Sin embargo, hay algunos nombres de carpetas especiales que ASP.NET reconoce. Estos nombres ayudan a organizar el código y los recursos de la aplicación.
Los nombres de directorios especiales (a partir de ASP.NET 2.0) son:
- `App_Code`: Para archivos de código que se compilan automáticamente.
- `App_Data`: Para archivos de datos de la aplicación.
- `App_GlobalResources`: Para recursos globales (textos, imágenes) que se usan en toda la aplicación.
- `App_LocalResources`: Para recursos específicos de una página.
- `App_Themes`: Para temas visuales.
- `Bin`: Para archivos compilados de la aplicación.
Mejoras de ASP.NET sobre ASP clásico
La tecnología ASP clásica tenía algunas limitaciones:
- Era común escribir mucho código en una sola página, lo que la hacía difícil de entender. ASP.NET permite usar "controles" que hacen el trabajo por ti.
- ASP clásico era un poco desordenado. Se podía mezclar mucho código y diseño. ASP.NET ayuda a mantener el código más organizado.
- ASP clásico usaba lenguajes de programación más simples. ASP.NET separa el código del diseño, lo que facilita el trabajo.
ASP.NET facilita la creación de aplicaciones web. Permite construir rápidamente sitios web usando controles ya hechos. También ayuda a separar el diseño de la lógica del programa.
Además, es más sencillo crear páginas con AJAX en ASP.NET. AJAX permite que las páginas web se actualicen sin tener que recargar toda la página.
Extensiones de ASP.NET
ASP.NET tiene varias extensiones que añaden más funciones:
ASP.NET AJAX
ASP.NET AJAX es un conjunto de herramientas de Microsoft para añadir funciones de AJAX a las aplicaciones ASP.NET. Se lanzó en enero de 2007.
ASP.NET MVC Framework
Es una forma de construir páginas ASP.NET usando un patrón de diseño llamado MVC. Este patrón ayuda a organizar el código en tres partes: el Modelo (datos), la Vista (diseño) y el Controlador (lógica).
ASP.NET Razor
ASP.NET Razor es una alternativa a los Web Forms. Está diseñada para usarse con el patrón MVC y es más sencilla de aprender.
ASP.NET Dynamic Data
ASP.NET Dynamic Data es una herramienta para crear aplicaciones web que trabajan mucho con bases de datos. Permite mostrar la información de una base de datos en una página web de forma automática.
ASP.NET Web API
ASP.NET Web API es una herramienta para crear servicios web que permiten que diferentes programas se comuniquen entre sí a través de internet.
ASP.NET SignalR
ASP.NET SignalR es una biblioteca que facilita la creación de aplicaciones web en "tiempo real". Esto significa que el servidor puede enviar información a los usuarios al instante, sin que ellos tengan que pedirla. Por ejemplo, para chats o notificaciones en vivo.
Modelos de programación en ASP.NET
Actualmente, ASP.NET ofrece tres formas principales de programar:
- ASP.NET Web Forms: Fue el primer modelo. Es fácil de usar y permite crear aplicaciones rápidamente con controles predefinidos.
- ASP.NET MVC: Se basa en el patrón MVC. Ayuda a mantener el código muy organizado y es bueno para hacer pruebas.
- ASP.NET Web Pages: Es el más nuevo y el más fácil de aprender. Es ideal para desarrolladores que empiezan con ASP.NET.
Es posible combinar estos modelos en un mismo proyecto.
Uso actual de ASP.NET
Las aplicaciones hechas con .NET pueden funcionar de dos maneras:
Aplicaciones cliente/servidor: Son programas que se instalan en tu computadora. Tienen una interfaz de usuario completa y son muy útiles para tareas específicas.
Aplicaciones que usan el navegador: Son sitios web y aplicaciones web que funcionan en tu navegador. Usan tecnologías como HTML y JavaScript para mostrar información.
Véase también
En inglés: ASP.NET Facts for Kids
- Página web
- Active Server Pages
- PHP
- Script
- Servidor web