robot de la enciclopedia para niños

ASP.NET para niños

Enciclopedia 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
Active Server Pages
ASP.NET
ASP.NET Core
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.

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.

Archivo:MIX Keynote-Scott Guthrie 09 MS 05 2007
Scott Guthrie en 2007, uno de los creadores de ASP.NET.

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

Kids robot.svg En inglés: ASP.NET Facts for Kids

kids search engine
ASP.NET para Niños. Enciclopedia Kiddle.