fbpx
Wikipedia

ASP.NET

ASP.NET es un entorno para aplicaciones web desarrollado y comercializado por Microsoft. Los programadores o también diseñadores pueden utilizar este framework para construir sitios web dinámicos, aplicaciones web y servicios web.[1]​ Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET está construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework.

ASP.NET
Información general
Tipo de programa Framework
Desarrollador Microsoft
Lanzamiento inicial enero de 2003
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

Historia

Microsoft introdujo la tecnología llamada Active Server Pages en diciembre de 1996. Es parte de Internet Information Services (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente. La definición contextual de Microsoft es que "Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para la web".

Después del lanzamiento del Internet Information Services 4.0 en 1997, Microsoft comenzó a investigar las posibilidades para un nuevo modelo de aplicaciones web que pudiera resolver las quejas comunes sobre ASP, especialmente aquellas con respecto a la separación de la presentación y el contenido y ser capaz de escribir código "limpio".[2]​ A Mark Anders, un administrador del equipo de IIS y Scott Guthrie, quien se había unido a Microsoft en 1997 después de graduarse de la Universidad Duke, se les dio la tarea de determinar cómo debería ser ese modelo. El diseño inicial fue desarrollado en el curso de dos meses por Anders y Guthrie, y Guthrie codificó los prototipos iniciales durante las celebraciones navideñas de 1997.[3]

 
Scott Guthrie en 2007.

El prototipo inicial fue llamado "XSP"; Guthrie explicó en una entrevista en el año 2007 que,

"People would always ask what the X stood for. At the time it really didn't stand for anything. XML started with that; XSLT started with that. Everything cool seemed to start with an X, so that's what we originally named it".[2]
"La gente siempre se preguntaba qué significaba la X. En ese momento, realmente no significaba nada. XML comenzaba así, al igual que XSLT. Todo lo novedoso parecía empezar con una X, así que ese es el motivo por el que originalmente lo llamamos así."

El desarrollo inicial de XSP fue hecho usando Java,[4]​ pero pronto se decidió construir una nueva plataforma sobre el Common Language Runtime (CLR), pues ofrecía un ambiente orientado a objetos, recolección de basura y otras características que fueron vistas como características deseables. Guthrie describió esta decisión como un "alto riesgo", pues el éxito de su nueva plataforma de desarrollo web estaría atado al éxito del CLR, que, como XSP, aún estaba en etapas tempranas de desarrollo, tanto así que el equipo XSP fue el primer equipo en Microsoft en enfocarse en el CLR.

Con el cambio al Common Language Runtime, XSP fue implementado en C# (conocido internamente como "Project Cool" pero mantenido en secreto para el público), y fue renombrado a ASP+, en este punto la nueva plataforma fue vista como el sucesor de Active Server Pages, y la intención fue proporcionar un medio fácil de migración para los desarrolladores ASP.[5]

La primera demostración pública y la liberación de la primera beta de ASP+ (y el resto del .NET Framework) se realizó en el Microsoft's Professional Developers Conference (PDC) el 11 de julio de 2000 en Orlando. Durante la presentación de Bill Gates, Fujitsu demostró ASP+ usado en conjunción con COBOL,[6]​ y el soporte para una variedad de otros lenguajes fue anunciada, incluyendo los nuevos lenguajes de Microsoft, Visual Basic .NET y C#, así como también el soporte por medio de herramientas de interoperabilidad para Python y Perl creadas por la empresa canadiense ActiveState.[7]

Una vez que la marca ".NET" fue seleccionada en la segunda mitad del 2000. se cambió el nombre de ASP+ a ASP.NET. Mark Anders explicó en una aparición en The MSDN Show en ese año,

"The .NET initiative is really about a number of factors, it’s about delivering software as a service, it's about XML and web services and really enhancing the Internet in terms of what it can do .... we really wanted to bring its name more in line with the rest of the platform pieces that make up the .NET framework."[5]
"La iniciativa .NET comprende un número de factores, trata sobre la entrega de software como servicio, sobre XML y servicios web y la mejora real del Internet en términos de qué puede hacer... de verdad queremos llevar su nombre (de ASP+) mas alineado con el resto de las piezas de la plataforma que componen el .NET framework"

Después de cuatro años de desarrollo, y una serie de versiones de evaluación en los años 2000 y 2001, ASP.NET 1.0 fue liberado el 5 de enero de 2002 como parte de la versión 1.0 del .NET Framework. Incluso antes de su liberación, docenas de libros habían sido escritos sobre ASP.NET[8]

Características

Páginas

Las páginas de ASP.NET, conocidas oficialmente como "web forms" (formularios web), son el principal medio de construcción para el desarrollo de aplicaciones web.[9]​ Los formularios web están contenidos en archivos con una extensión ASPX; en jerga de programación, estos archivos típicamente contienen etiquetas HTML o XHTML estático, y también etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el código estático y dinámico requerido por la página web. Adicionalmente, el código dinámico que se ejecuta en el servidor puede ser colocado en una página dentro de un bloque <% -- código dinámico -- %> que es muy similar a otras tecnologías de desarrollo como PHP, JSP y ASP, pero esta práctica es, generalmente, desaconsejada excepto para propósitos de enlace de datos pues requiere más llamadas cuando se genera la página.

ASP.NET no sólo funciona sobre el servidor de Microsoft IIS, también lo hace sobre Apache.

Formulario web de ejemplo

Este es un ejemplo que utiliza código "en línea", opuesto al código independiente (code-behind).

<%@ 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 recomienda que para realizar programación dinámica se use el modelo code-behind, o de respaldo, que coloca el código en un archivo separado o en una etiqueta de script especialmente diseñada. Los nombres de los archivos code-behind están basados en el nombre del archivo ASPX tales como MiPagina.aspx.cs o MiPagina.aspx.vb (esta práctica se realiza automáticamente en Microsoft Visual Studio y otros entornos de desarrollo). Cuando se usa este estilo de programación, el desarrollador escribe el código correspondiente a diferentes eventos, como la carga de la página, o el clic en un control, en vez de un recorrido lineal a través del documento.

El modelo code-behind de ASP.NET marca la separación del ASP clásico y alienta a los desarrolladores a construir aplicaciones con la idea de presentación y contenido separados en mente. En teoría, esto permite a un diseñador web, por ejemplo, enfocarse en la creación del diseño con menos posibilidades de alterar el código de programación mientras lo hace. Esto es similar a la separación en el Modelo Vista Controlador

Ejemplo

<%@ Page Language="C#" CodeFile="EjemploCodeBehind.aspx.cs" Inherits="SitioWeb.EjemploCodeBehind" AutoEventWireup="true" %> 

La etiqueta superior es colocada al inicio del archivo ASPX. La propiedad CodeFile de la directiva @ Page especifica qué archivo (.cs o .vb) contiene el código code-behind mientras que la propiedad Inherits especifica la clase de la cual deriva la página. En este ejemplo, la directiva @ Page está incluida en EjemploCodeBehind.aspx y el archivo EjemploCodeBehind.aspx.cs contendrá el código para esta página:

using System; namespace SitioWeb { public partial class EjemploCodeBehind: System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } } 

En este caso, el método Page_Load() será llamado cada vez que la página ASPX sea solicitada al servidor. El programador puede implementar manejadores de eventos en varias etapas del proceso de ejecución de la página..

Controles de usuario

ASP.NET permite la creación de componentes reutilizables a través de la creación de Controles de Usuario (User Controls). Un control de usuario sigue la misma estructura que un formulario web, excepto que los controles derivan de la clase System.Web.UI.UserControl, y son almacenados en archivos ASCX. Como los archivos ASPX, un ASCX contiene etiquetas HTML o XHTML, además de etiquetas para definir controles web y otros controles de usuario. También pueden usar el modelo code-behind.

Los programadores pueden agregar sus propias propiedades y métodos,[10]​ y manejadores de eventos.[11]​ Un mecanismo de eventos en burbuja proporciona la capacidad de pasar un evento disparado por un control de usuario a la página que lo contiene .

Administración del estado

Las aplicaciones ASP.NET son alojadas en un servidor web y se tiene acceso a ellas mediante el protocolo sin estado HTTP, que no guarda ninguna información sobre conexiones anteriores. Por lo tanto, si la aplicación requiere interacción entre conexiones, tiene que implementar su propia administración del estado. ASP.NET proporciona varias maneras de administrar el estado de las aplicaciones ASP.NET.

Estado de la aplicación

El estado de la aplicación (Application state) es una colección de variables definidas por el usuario que son compartidas por todas las invocaciones de una aplicación ASP.NET. Estas son establecidas e inicializadas cuando el evento Application_OnStart se dispara en la carga de la primera instancia de las aplicaciones y están disponible hasta que la última instancia termina. Las variables de estado o variables de sesión de la aplicación son identificadas por nombres.[12]

Estado de la sesión

El estado de la sesión (Session state) es una colección de variables definidas por el usuario, las cuales persisten durante la sesión de un usuario. Estas variables son únicas para diferentes instancias de una sesión de usuario, y son accedidas usando la colección Session. Las variables de sesión pueden ser preparadas para ser automáticamente destruidas después de un determinado tiempo de inactividad, incluso si la sesión no ha terminado. Del lado del cliente, una sesión de usuario es identificada por una cookie o codificando el ID de la sesión en la misma URL.[12]

ASP.NET proporciona tres modos de persistencia para variables de sesión:[12]

InProc
Las variables de sesión son mantenidas dentro del proceso. Sin embargo, en este modo, las variables son destruidas cuando el proceso ASP.NET es reciclado o terminado.
StateServer
En este modo, ASP.NET ejecuta un servicio de Windows separado que mantiene las variables de estado. Como esta administración de estado ocurre fuera del proceso ASP.NET, tiene un impacto negativo en el rendimiento, pero permite a múltiples instancias de ASP.NET compartir el mismo estado del servidor, permitiendo que una aplicación ASP.NET pueda tener su carga balanceada y escalada en múltiples servidores. También, como el servicio de administración del estado se ejecuta independiente de ASP.NET, las variables pueden persistir a través de las finalizaciones del proceso ASP.NET.
SqlServer
En este modo, las variables de estado son almacenadas en un servidor de base de datos, accesible usando SQL. Las variables de sesión pueden persistir a través de finalizaciones de procesos también en este modo.

Estado de la vista

El estado de la vista (View state) se refiere al mecanismo de administración de estado a nivel de página, que es utilizado por las páginas HTML generadas por las aplicaciones ASP.NET para mantener el estado de los controles de los formularios web y los widgets. El estado de los controles es codificado y mandado al servidor en cada envío del formulario en un campo oculto conocido como __VIEWSTATE. El servidor envía de regreso las variables para que cuando la página sea renderizada de nuevo, los controles volverán a su último estado. Del lado del servidor, la aplicación puede cambiar el estado de la vista, si los resultados del procesamiento actualizan el estado de cualquier control. El estado de los controles individuales son decodificados en el servidor, y están disponibles para su uso en ASP.NET usando la colección ViewState.[13][14]

Motor de plantillas

Al ser liberado, ASP.NET carecía de un motor de plantillas. Debido a que .NET framework es orientado a objetos y permite herencia, muchos desarrolladores podrían definir una nueva clase que herede desde "System.Web. UI.Page", escribir métodos en ella que generen HTML y hacer que las páginas de su aplicación hereden de esta clase. Aunque esto permite que haya elementos comunes dentro de un sitio web, añade complejidad y mezcla código fuente con lenguaje de etiquetas. Además, este método puede visualizarse únicamente al ejecutar la aplicación, no mientras se está diseñando. Otros desarrolladores usan la inclusión de archivos y otros trucos para evitar la implementación de enlaces de navegación y otros elementos en cada página.

ASP.NET 2.0 presentó el concepto de página maestra (Master Page), que permite el desarrollo de páginas basado en plantillas web. Una aplicación web puede tener una o más páginas maestras, las cuales pueden ser anidadas.[15]​ Las plantillas maestras contienen controles contenedores, llamados ContentPlaceHolders para indicar donde irá el contenido dinámico, además de HTML y JavaScript que será compartido a través de las páginas hijas.

Las páginas hijas también usan esos controles ContentPlaceHolder, que deben ser relacionados con el ContentPlaceHolder de la página maestra que contiene a esta página hija. El resto de la página está definido por las partes compartidas de la página maestra. Todo el lenguaje de marcado y controles de servidor en la página de contenido deben ser colocadas dentro del control ContentPlaceHolder.

Cuando una solicitud es hecha por una página de contenido, ASP.NET mezcla la salida de la página de contenido con la salida de la página maestra, y envía el resultado al usuario.

La página maestra permanece completamente accesible a la página del contenido. Esto significa que la página de contenidos puede manipular los encabezados, cambiar el título, configurar la cache, etc. Si la página maestra expone propiedades públicas o métodos, el contenido de la página puede utilizar estos también.

Hoy en día con el nuevo producto de Microsoft WebMatrix, se dio a conocer el nuevo motor de plantillas conocido como Razor. Ya antes el IDE de Visual Studio incluía otros motores. Facilitando a las páginas ASP.NET Modelo Vista Controlador.

Otros archivos

Otras extensiones de archivo asociadas con las diferentes versiones de ASP.NET incluyen:

Extensión Versión requerida Descripción
asax 1.0 Global.asax, usada para la lógica a nivel de aplicación[16]
ascx 1.0 Controles de usuario web: Controles personalizados para ser colocados en páginas web
ashx 1.0 Manejadores HTTP personalizados
asmx 1.0 Páginas de servicios web
axd 1.0 Cuando está habilitado en el web.config la solicitud de trace.axd genera trazas de salida a nivel de aplicación. También es usado para el manejador especial webresource.axd que permite a los desarrolladores de controles/componentes empacar un control/componente con imágenes, script, CSS, etc. para el desarrollo de un archivo único (un 'ensamblado')
browser 2.0 Archivos de capacidades del navegador almacenadas en formato XML; introducido en la versión 2.0. ASP.NET incluye muchos de estos por defecto, para admitir a los navegadores web comunes. Estos especifican que navegadores tienen que capacidades, así que ASP.NET 2 puede automáticamente personalizar y optimizar su salida de acuerdo al navegador. Los archivos especiales .browser están disponibles en descarga libre para manejar, por ejemplo, el validador de la W3C. Reemplaza la sección BrowserCaps que se encontraba en el archivo machine.config en ASP.NET 1.x
config 1.0 web.config es el único archivo en una aplicación web especifica que usa esta extensión por defecto (machine.config tiene efectos similares en un servidor web y todas las aplicaciones en el), sin embargo ASP.NET proporciona la facilidad de crear y utilizar otros archivos config. Son almacenados en formato XML
cs/vb 1.0 Archivos de código fuente (cs indica C#, vb indica Visual Basic). Los archivos code-behind predominantemente tienen la extensión ".aspx.cs" o ".aspx.vb" para los dos lenguajes más comunes. Otros archivos de código (que frecuentemente contienen bibliotecas de clases) pueden también existir en las carpetas web con las extensiones cs/vb. En ASP.NET 2 estos deberían estar colocados dentro de la carpeta App_Code donde son dinámicamente compilados y están disponibles para toda la aplicación
dbml 3.5 Archivo de clases de datos LINQ a SQL
master 2.0 Archivo de página maestra
resx 1.0 Archivos de recursos para localización y globalización. Los archivos de recursos pueden ser globales (por ejemplo, mensajes) o locales, que están hechos específicamente para un solo archivo aspx o ascx.
sitemap 2.0 Archivos de configuración sitemap
skin 2.0 Archivos de temas
svc 3.0 Archivos de servicio de Windows Communication Foundation

Estructura de directorios

En general, la estructura de directorios de ASP.NET puede ser determinada por las preferencias del desarrollador. Aparte de unos pocos nombres de directorios reservados, el sitio puede expandirse a cualquier número de directorios. La estructura es típicamente reflejada directamente en las urls.

Los nombres de directorios especiales (a partir de ASP.NET 2.0 son):[17]

App_Browsers
Contiene archivos de definición específicos para navegadores.
App_Code
Es un directorio para códigos. El servidor ASP.NET automáticamente compilará los archivos (y subdirectorios) en esta carpeta en un ensamblado que es accesible desde cualquier página del sitio. App_Code es típicamente usada para código de acceso a datos, código de modelo o código de negocios. También cualquier manejador http específico para el sitio e implementación de módulos y servicios web van este directorio. Como alternativa a utilizar App_Code el desarrollador puede optar por proporcionar un ensamblado independiente con código precompilado.
App_Data
Directorio por defecto para las base de datos, tales como archivos mdb de Microsoft Access y archivos mdf de Microsoft SQL Server. Este directorio es usualmente el único con permisos de escritura en la aplicación.
App_LocalResources
Contiene archivos de recursos localizados para páginas individuales del sitio.
App_GlobalResources
Contiene archivos resx con recursos localizados disponibles para cada página del sitio. Este es donde el desarrollador ASP.NET típicamente almacenara mensajes que serán usados en más de una página.
App_Themes
usado para temas alternativos del sitio.
App_WebReferences
Usado para archivos de descubrimiento y archivos WSDL para referencias a servicios web para ser consumidos en el sitio.
Bin
Contiene código compilado (archivos .dll) para controles, componentes, y otro código que pueda ser referenciado por la aplicación. Cualquier clase representada por código en la carpeta Bin es automáticamente referenciada en la aplicación. Son archivos o librerías que tienen como principal acción ejecutar una función cuando estas son llamadas o se invocan.

Evolución respecto al ASP clásico

En el modelo de desarrollo web basado en páginas activas, la programación ASP actual tiene diversas limitaciones:

  • Para que todo ocurra en una página web, es habitual escribir una gran cantidad de código para resolver necesidades sencillas. ASP.NET incorpora un modelo declarativo a la programación web: los controles de servidor funcionan en una página Web simplemente declarándolos. Cuando se carga la página ASP.NET, se instancian los controles listados en la página ASP y es responsabilidad del control emitir código HTML que el navegador pueda entender.
  • ASP clásico es un tanto desorganizado. En una página ASP podemos incluir casi todo: HTML plano, código script, objetos COM y texto. No hay una distinción formal entre el contenido de una página y su comportamiento: simplemente, insertamos código en la página, y a ver qué pasa. ASP.NET impone un cierto orden sobre el modelo de programación estándar ASP. En cierto modo, esta "desorganización" puede evitarse fácilmente usando el sentido común y algunas de las nuevas tecnologías. Por ejemplo, podemos escribir en nuestras páginas ASP únicamente código VBScript. Dicho código generaría un mensaje XML, que luego sería interpretado por un archivo XSLT. De esta forma conseguimos evitar el llamado "código spaguetti", aumentando la claridad del código y la velocidad de ejecución de las páginas ASP. Sin embargo, en la medida en que el programador deba trabajar con código escrito por otros, se enfrentará a menudo con las malas prácticas que son en gran medida acentuadas por la permisividad del ASP clásico.
  • La tercera limitación en el desarrollo con ASP es que con el tradicional utilizamos lenguajes de scripting no tipados como VBScript o JScript. Podemos instalar otros motores de scripting que impongan verificación de tipos; sin embargo, no son universalmente conocidos o utilizados como los anteriores. ASP.NET claramente separa la porción basada en script de una página web de su contenido.
  • ASP.Net, puede decirse que es un nuevo nivel de abstracción en la construcción de sitios web, porque se pueden crear rápidamente aplicaciones web, basándose en los controles incluidos en el frameWork o muchos gratuitos que hay en la red, ocultando el código de mucho Ej: Puedes crear fácilmente un grid o tabla, y esta se auto-ordena, página, etc, obteniendo sus datos desde cualquier base de datos. Incluye una gran herramienta para la construcción de reportes, y esto incluyen medios automáticos para exportarlos a XLS o PDF, y de igual forma incluye CristalReport. Además permite separar completamente la interfaz de la lógica de negocio. Excelente para desarrollo de aplicaciones multicapas.
  • Es muy sencilla la creación de páginas con AJAX, sólo incluyendo unos controles, así como descargar gratuitamente el ToolKit de ASP.Net Ajax.

Extensiones

ASP.NET AJAX

ASP.NET AJAX, anteriormente llamado Atlas, es un conjunto de extensiones para ASP.NET desarrollado por Microsoft para implementar la funcionalidad de Ajax.

ASP.NET AJAX fue liberado en enero de 2007 después de un largo periodo de pruebas. Fue subsecuentemente incluido con la versión 3.5 del .NET Framework, que fue liberada junto con Visual Studio 2008 en noviembre de 2007.

ASP.NET MVC Framework

Es una extensión de páginas ASP.NET utilizando la arquitectura MVC.

ASP.NET Razor

También conocido como ASP.NET Web Pages, es una alternativa a Web Forms diseñada para ser utilizada con MVC.

ASP.NET Dynamic Data

Es un Framework inspirado en Ruby on Rails para la plataforma de Microsoft, que viene como una extensión de ASP.NET, que se puede utilizar para construir aplicaciones web orientadas a los datos. Expone las tablas de una base de datos mediante la codificación en la URI del servicio web ASP.NET, y los datos de la tabla se representan automáticamente a HTML. El proceso de renderizado se puede controlar con el uso de plantillas de diseño personalizadas. Internamente, se descubre el esquema de base de datos mediante el uso de los metadatos de la base de datos.

ASP.NET Web API

Es un API HTTP para exposición de servicios Web RESTful.

ASP.NET SignaIR

Es una nueva biblioteca para desarrolladores ASP.NET que hace el desarrollo Web en tiempo real funcionalmente fácil. Permite una comunicación bidireccional entre el cliente y el servidor. Los servidores ahora pueden insertar el contenido a los clientes conectados al instante cuando estén disponible. Soporta Web Sockets. Incluye APIs para la gestión de la conexión (por ejemplo, conectar y desconectar eventos), agrupación de conexiones y autorización.

Modelos de programación en ASP.NET

Actualmente, ASP.NET soporta tres modelos de programación: ASP.NET Web Forms, ASP.NET MVC y ASP.NET Web Pages. Aunque los tres modelos de programación se ejecutan sobre la misma base de ASP.NET, cada uno de ellos estructura la aplicación de maneras completamente distintas, promueve metodologías de desarrollo diferentes y se adapta a perfiles de desarrolladores distintos. Algunas características que son virtudes en unos modelos de programación, pueden ser consideradas debilidades en el otro. ¿Qué es más importante, desarrollar a un gran nivel de abstracción o tener control total cada uno de los aspectos de la aplicación? Simplicidad vs. Control. Flexibilidad vs. Eficiencia. Estas son las compensaciones que hay que baremar a la hora de elegir. En esta serie de artículos repasaremos las diferencias entre los tres modelos de programación, y los escenarios favorables a cada uno de ellos.

Es importante recalcar que el hecho de elegir uno de los modelos de programación al comenzar un proyecto de ASP.NET no excluye necesariamente a los otros, sino que es posible tener aplicaciones “híbridas” y en muchos casos tendrá todo el sentido desarrollar ciertas partes de la aplicación con un modelo de programación y otras partes con otro modelo distinto.

ASP.NET Web Forms fue el primero de los tres modelos de programación en existir, y proporciona un gran nivel de abstracción con un modelo de programación familiar basado en eventos y controles que favorece la productividad mediante la programación declarativa reduciendo la cantidad de código necesaria para implementar una determinada funcionalidad.

ASP.NET MVC se concibió como alternativa a Web Forms y proporciona un modelo de programación basado en el popular patrón de arquitectura MVC. Entre sus principales características destacan su completa integración con pruebas unitarias y su separación más clara entre la lógica de presentación, la lógica de negocio y la lógica de acceso a datos.

Comunidad ASP.NET MVC en español: https://groups.google.com/d/forum/mundoaspnetmvc

ASP.NET Web Pages es el más reciente de los tres modelos de programación, y fue creado como respuesta a una creciente demanda de desarrolladores web sin experiencia previa con ASP.NET, cuya iniciación en ASP.NET Web Forms o MVC les suponía una inversión inicial de tiempo demasiado grande. Web Pages proporciona un modelo de programación más simple y rápido de aprender, sin renunciar a toda la funcionalidad y flexibilidad de ASP.NET.

Uso actual del lenguaje

En la actualidad una aplicación .NET puede ejecutarse de dos formas distintas:

Aplicaciones cliente/servidor: Estas aplicaciones están típicamente en formato de ejecutables compilados. Estos pueden integrar toda la riqueza de una interfaz de usuario, tal es el caso de las aplicaciones de desempeño y productividad, pero no se reúne la lógica de negocio como un recurso que se pueda reutilizar. Además acostumbran ser menos gestionables y escalables que las demás aplicaciones.

Aplicaciones que utilizan el navegador: Dichas aplicaciones están caracterizadas por contar con una interfaz de web rica y muy útil. La interfaz gráfica integra varias tecnologías, las cuales son el HTML, XHTML, scripting, etc; siempre y cuando el navegador que se esté utilizando soporte estas tecnologías.

Véase también

Referencias

  1. «¿Qué es ASP.NET?». IONOS Digitalguide. Consultado el 11 de marzo de 2022. 
  2. Microsoft, ed. (Enero de 2007). «Architecture Journal Profile: Scott Guthrie». The Architecture Journal (en inglés). Consultado el 20 de abril de 2008. 
  3. Michiel van Otegem (24 de julio de 2007). (en inglés). Archivado desde el original el 9 de noviembre de 2007. Consultado el 20 de abril de 2008. 
  4. Tim Anderson (30 de octubre de 2007). The Register, ed. «How ASP.NET began in Java» (en inglés). Consultado el 20 de abril de 2008. 
  5. Microsoft, ed. (20 de diciembre de 2000). . The MSDN Show (en inglés). Archivado desde el original el 22 de octubre de 2005. Consultado el 20 de abril de 2008. 
  6. Microsoft, ed. (11 de julio de 2000). . Archivado desde el original el 10 de abril de 2008. Consultado el 20 de abril de 2008. 
  7. Business Wire, ed. (11 de julio de 2000). «ActiveState Supports Microsoft .NET Framework; Perl .NET & Python .NET Cross-Language Interoperability» (en inglés). Archivado desde el original el 9 de julio de 2012. Consultado el 20 de abril de 2008. 
  8. Microsoft, ed. (15 de noviembre de 2001). «S! from the PDC». The MSDN Show. Consultado el 20 de abril de 2008.  (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  9. (MacDonald y Szpuszta, 2005, p. 63)
  10. http://msdn2.microsoft.com/en-us/library/ms972975.aspx#usercontrols_topic6 Adding Properties and Methods to a User Control
  11. http://msdn2.microsoft.com/en-us/library/ms972975.aspx#usercontrols_topic9 Creating and Raising a Custom Event
  12. «INFO: ASP.NET State Management Overview» (en inglés). Consultado el 23 de octubre de 2007. 
  13. . Archivado desde el original el 14 de octubre de 2007. Consultado el 23 de octubre de 2007. 
  14. (en inglés). Archivado desde el original el 16 de septiembre de 2008. 
  15. ASP.NET Master Pages Overview (Microsoft Developer Network)
  16. Global.asax Syntax
  17. http://msdn2.microsoft.com/en-us/library/ex526337.aspx ASP.NET Web Site Layout from MSDN

Enlaces externos

  • ASP.NET Tutorial - Web en inglés y Español? de tecnología ASP.NET
  •   Datos: Q178817

entorno, para, aplicaciones, desarrollado, comercializado, microsoft, programadores, también, diseñadores, pueden, utilizar, este, framework, para, construir, sitios, dinámicos, aplicaciones, servicios, apareció, enero, 2002, versión, framework, tecnología, su. ASP NET es un entorno para aplicaciones web desarrollado y comercializado por Microsoft Los programadores o tambien disenadores pueden utilizar este framework para construir sitios web dinamicos aplicaciones web y servicios web 1 Aparecio en enero de 2002 con la version 1 0 del NET Framework y es la tecnologia sucesora de la tecnologia Active Server Pages ASP ASP NET esta construido sobre el Common Language Runtime permitiendo a los programadores escribir codigo ASP NET usando cualquier lenguaje admitido por el NET Framework ASP NETInformacion generalTipo de programaFrameworkDesarrolladorMicrosoftLanzamiento inicialenero de 2003LicenciaEULAInformacion tecnicaProgramado en NETVersionesUltima version estable4 5 15 de agosto de 2012 Ultima version en pruebas5 0 12 de octubre de 2015 LanzamientosActive Server PagesASP NETASP NET CoreEnlacesSitio web oficial editar datos en Wikidata Indice 1 Historia 2 Caracteristicas 2 1 Paginas 2 1 1 Formulario web de ejemplo 2 2 El modelo Code behind 2 2 1 Ejemplo 2 3 Controles de usuario 2 4 Administracion del estado 2 4 1 Estado de la aplicacion 2 4 2 Estado de la sesion 2 4 3 Estado de la vista 2 5 Motor de plantillas 2 6 Otros archivos 2 7 Estructura de directorios 3 Evolucion respecto al ASP clasico 4 Extensiones 4 1 ASP NET AJAX 4 2 ASP NET MVC Framework 4 2 1 ASP NET Razor 4 3 ASP NET Dynamic Data 4 4 ASP NET Web API 4 5 ASP NET SignaIR 5 Modelos de programacion en ASP NET 6 Uso actual del lenguaje 7 Vease tambien 8 Referencias 9 Enlaces externosHistoria EditarMicrosoft introdujo la tecnologia llamada Active Server Pages en diciembre de 1996 Es parte de Internet Information Services IIS desde la version 3 0 y es una tecnologia de paginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar paginas generadas dinamicamente La definicion contextual de Microsoft es que Las Active Server Pages son un ambiente de aplicacion abierto y gratuito en el que se puede combinar codigo HTML scripts y componentes ActiveX del servidor para crear soluciones dinamicas y poderosas para la web Despues del lanzamiento del Internet Information Services 4 0 en 1997 Microsoft comenzo a investigar las posibilidades para un nuevo modelo de aplicaciones web que pudiera resolver las quejas comunes sobre ASP especialmente aquellas con respecto a la separacion de la presentacion y el contenido y ser capaz de escribir codigo limpio 2 A Mark Anders un administrador del equipo de IIS y Scott Guthrie quien se habia unido a Microsoft en 1997 despues de graduarse de la Universidad Duke se les dio la tarea de determinar como deberia ser ese modelo El diseno inicial fue desarrollado en el curso de dos meses por Anders y Guthrie y Guthrie codifico los prototipos iniciales durante las celebraciones navidenas de 1997 3 Scott Guthrie en 2007 El prototipo inicial fue llamado XSP Guthrie explico en una entrevista en el ano 2007 que People would always ask what the X stood for At the time it really didn t stand for anything XML started with that XSLT started with that Everything cool seemed to start with an X so that s what we originally named it 2 La gente siempre se preguntaba que significaba la X En ese momento realmente no significaba nada XML comenzaba asi al igual que XSLT Todo lo novedoso parecia empezar con una X asi que ese es el motivo por el que originalmente lo llamamos asi El desarrollo inicial de XSP fue hecho usando Java 4 pero pronto se decidio construir una nueva plataforma sobre el Common Language Runtime CLR pues ofrecia un ambiente orientado a objetos recoleccion de basura y otras caracteristicas que fueron vistas como caracteristicas deseables Guthrie describio esta decision como un alto riesgo pues el exito de su nueva plataforma de desarrollo web estaria atado al exito del CLR que como XSP aun estaba en etapas tempranas de desarrollo tanto asi que el equipo XSP fue el primer equipo en Microsoft en enfocarse en el CLR Con el cambio al Common Language Runtime XSP fue implementado en C conocido internamente como Project Cool pero mantenido en secreto para el publico y fue renombrado a ASP en este punto la nueva plataforma fue vista como el sucesor de Active Server Pages y la intencion fue proporcionar un medio facil de migracion para los desarrolladores ASP 5 La primera demostracion publica y la liberacion de la primera beta de ASP y el resto del NET Framework se realizo en el Microsoft s Professional Developers Conference PDC el 11 de julio de 2000 en Orlando Durante la presentacion de Bill Gates Fujitsu demostro ASP usado en conjuncion con COBOL 6 y el soporte para una variedad de otros lenguajes fue anunciada incluyendo los nuevos lenguajes de Microsoft Visual Basic NET y C asi como tambien el soporte por medio de herramientas de interoperabilidad para Python y Perl creadas por la empresa canadiense ActiveState 7 Una vez que la marca NET fue seleccionada en la segunda mitad del 2000 se cambio el nombre de ASP a ASP NET Mark Anders explico en una aparicion en The MSDN Show en ese ano The NET initiative is really about a number of factors it s about delivering software as a service it s about XML and web services and really enhancing the Internet in terms of what it can do we really wanted to bring its name more in line with the rest of the platform pieces that make up the NET framework 5 La iniciativa NET comprende un numero de factores trata sobre la entrega de software como servicio sobre XML y servicios web y la mejora real del Internet en terminos de que puede hacer de verdad queremos llevar su nombre de ASP mas alineado con el resto de las piezas de la plataforma que componen el NET framework Despues de cuatro anos de desarrollo y una serie de versiones de evaluacion en los anos 2000 y 2001 ASP NET 1 0 fue liberado el 5 de enero de 2002 como parte de la version 1 0 del NET Framework Incluso antes de su liberacion docenas de libros habian sido escritos sobre ASP NET 8 Caracteristicas EditarPaginas Editar Las paginas de ASP NET conocidas oficialmente como web forms formularios web son el principal medio de construccion para el desarrollo de aplicaciones web 9 Los formularios web estan contenidos en archivos con una extension ASPX en jerga de programacion estos archivos tipicamente contienen etiquetas HTML o XHTML estatico y tambien etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el codigo estatico y dinamico requerido por la pagina web Adicionalmente el codigo dinamico que se ejecuta en el servidor puede ser colocado en una pagina dentro de un bloque lt codigo dinamico gt que es muy similar a otras tecnologias de desarrollo como PHP JSP y ASP pero esta practica es generalmente desaconsejada excepto para propositos de enlace de datos pues requiere mas llamadas cuando se genera la pagina ASP NET no solo funciona sobre el servidor de Microsoft IIS tambien lo hace sobre Apache Formulario web de ejemplo Editar Este es un ejemplo que utiliza codigo en linea opuesto al codigo independiente code behind lt Page Language C gt lt DOCTYPE html PUBLIC W3C DTD XHTML 1 0 Transitional EN http www w3 org TR xhtml1 DTD xhtml1 transitional dtd gt lt script runat server gt protected void Page Load object sender EventArgs e Label1 Text DateTime Now ToLongDateString lt script gt lt html xmlns http www w3 org 1999 xhtml gt lt head runat server gt lt title gt Pagina de Ejemplo lt title gt lt head gt lt body gt lt form id form1 runat server gt lt div gt lt asp Label runat server id Label1 gt lt div gt lt form gt lt body gt lt html gt El modelo Code behind Editar Microsoft recomienda que para realizar programacion dinamica se use el modelo code behind o de respaldo que coloca el codigo en un archivo separado o en una etiqueta de script especialmente disenada Los nombres de los archivos code behind estan basados en el nombre del archivo ASPX tales como MiPagina aspx cs o MiPagina aspx vb esta practica se realiza automaticamente en Microsoft Visual Studio y otros entornos de desarrollo Cuando se usa este estilo de programacion el desarrollador escribe el codigo correspondiente a diferentes eventos como la carga de la pagina o el clic en un control en vez de un recorrido lineal a traves del documento El modelo code behind de ASP NET marca la separacion del ASP clasico y alienta a los desarrolladores a construir aplicaciones con la idea de presentacion y contenido separados en mente En teoria esto permite a un disenador web por ejemplo enfocarse en la creacion del diseno con menos posibilidades de alterar el codigo de programacion mientras lo hace Esto es similar a la separacion en el Modelo Vista Controlador Ejemplo Editar lt Page Language C CodeFile EjemploCodeBehind aspx cs Inherits SitioWeb EjemploCodeBehind AutoEventWireup true gt La etiqueta superior es colocada al inicio del archivo ASPX La propiedad CodeFile de la directiva Page especifica que archivo cs o vb contiene el codigo code behind mientras que la propiedad Inherits especifica la clase de la cual deriva la pagina En este ejemplo la directiva Page esta incluida en EjemploCodeBehind aspx y el archivo EjemploCodeBehind aspx cs contendra el codigo para esta pagina using System namespace SitioWeb public partial class EjemploCodeBehind System Web UI Page protected void Page Load object sender EventArgs e En este caso el metodo Page Load sera llamado cada vez que la pagina ASPX sea solicitada al servidor El programador puede implementar manejadores de eventos en varias etapas del proceso de ejecucion de la pagina Controles de usuario Editar ASP NET permite la creacion de componentes reutilizables a traves de la creacion de Controles de Usuario User Controls Un control de usuario sigue la misma estructura que un formulario web excepto que los controles derivan de la clase System Web UI UserControl y son almacenados en archivos ASCX Como los archivos ASPX un ASCX contiene etiquetas HTML o XHTML ademas de etiquetas para definir controles web y otros controles de usuario Tambien pueden usar el modelo code behind Los programadores pueden agregar sus propias propiedades y metodos 10 y manejadores de eventos 11 Un mecanismo de eventos en burbuja proporciona la capacidad de pasar un evento disparado por un control de usuario a la pagina que lo contiene Administracion del estado Editar Las aplicaciones ASP NET son alojadas en un servidor web y se tiene acceso a ellas mediante el protocolo sin estado HTTP que no guarda ninguna informacion sobre conexiones anteriores Por lo tanto si la aplicacion requiere interaccion entre conexiones tiene que implementar su propia administracion del estado ASP NET proporciona varias maneras de administrar el estado de las aplicaciones ASP NET Estado de la aplicacion Editar El estado de la aplicacion Application state es una coleccion de variables definidas por el usuario que son compartidas por todas las invocaciones de una aplicacion ASP NET Estas son establecidas e inicializadas cuando el evento Application OnStart se dispara en la carga de la primera instancia de las aplicaciones y estan disponible hasta que la ultima instancia termina Las variables de estado o variables de sesion de la aplicacion son identificadas por nombres 12 Estado de la sesion Editar El estado de la sesion Session state es una coleccion de variables definidas por el usuario las cuales persisten durante la sesion de un usuario Estas variables son unicas para diferentes instancias de una sesion de usuario y son accedidas usando la coleccion Session Las variables de sesion pueden ser preparadas para ser automaticamente destruidas despues de un determinado tiempo de inactividad incluso si la sesion no ha terminado Del lado del cliente una sesion de usuario es identificada por una cookie o codificando el ID de la sesion en la misma URL 12 ASP NET proporciona tres modos de persistencia para variables de sesion 12 InProc Las variables de sesion son mantenidas dentro del proceso Sin embargo en este modo las variables son destruidas cuando el proceso ASP NET es reciclado o terminado StateServer En este modo ASP NET ejecuta un servicio de Windows separado que mantiene las variables de estado Como esta administracion de estado ocurre fuera del proceso ASP NET tiene un impacto negativo en el rendimiento pero permite a multiples instancias de ASP NET compartir el mismo estado del servidor permitiendo que una aplicacion ASP NET pueda tener su carga balanceada y escalada en multiples servidores Tambien como el servicio de administracion del estado se ejecuta independiente de ASP NET las variables pueden persistir a traves de las finalizaciones del proceso ASP NET SqlServer En este modo las variables de estado son almacenadas en un servidor de base de datos accesible usando SQL Las variables de sesion pueden persistir a traves de finalizaciones de procesos tambien en este modo Estado de la vista Editar El estado de la vista View state se refiere al mecanismo de administracion de estado a nivel de pagina que es utilizado por las paginas HTML generadas por las aplicaciones ASP NET para mantener el estado de los controles de los formularios web y los widgets El estado de los controles es codificado y mandado al servidor en cada envio del formulario en un campo oculto conocido como VIEWSTATE El servidor envia de regreso las variables para que cuando la pagina sea renderizada de nuevo los controles volveran a su ultimo estado Del lado del servidor la aplicacion puede cambiar el estado de la vista si los resultados del procesamiento actualizan el estado de cualquier control El estado de los controles individuales son decodificados en el servidor y estan disponibles para su uso en ASP NET usando la coleccion ViewState 13 14 Motor de plantillas Editar Al ser liberado ASP NET carecia de un motor de plantillas Debido a que NET framework es orientado a objetos y permite herencia muchos desarrolladores podrian definir una nueva clase que herede desde System Web UI Page escribir metodos en ella que generen HTML y hacer que las paginas de su aplicacion hereden de esta clase Aunque esto permite que haya elementos comunes dentro de un sitio web anade complejidad y mezcla codigo fuente con lenguaje de etiquetas Ademas este metodo puede visualizarse unicamente al ejecutar la aplicacion no mientras se esta disenando Otros desarrolladores usan la inclusion de archivos y otros trucos para evitar la implementacion de enlaces de navegacion y otros elementos en cada pagina ASP NET 2 0 presento el concepto de pagina maestra Master Page que permite el desarrollo de paginas basado en plantillas web Una aplicacion web puede tener una o mas paginas maestras las cuales pueden ser anidadas 15 Las plantillas maestras contienen controles contenedores llamados ContentPlaceHolders para indicar donde ira el contenido dinamico ademas de HTML y JavaScript que sera compartido a traves de las paginas hijas Las paginas hijas tambien usan esos controles ContentPlaceHolder que deben ser relacionados con el ContentPlaceHolder de la pagina maestra que contiene a esta pagina hija El resto de la pagina esta definido por las partes compartidas de la pagina maestra Todo el lenguaje de marcado y controles de servidor en la pagina de contenido deben ser colocadas dentro del control ContentPlaceHolder Cuando una solicitud es hecha por una pagina de contenido ASP NET mezcla la salida de la pagina de contenido con la salida de la pagina maestra y envia el resultado al usuario La pagina maestra permanece completamente accesible a la pagina del contenido Esto significa que la pagina de contenidos puede manipular los encabezados cambiar el titulo configurar la cache etc Si la pagina maestra expone propiedades publicas o metodos el contenido de la pagina puede utilizar estos tambien Hoy en dia con el nuevo producto de Microsoft WebMatrix se dio a conocer el nuevo motor de plantillas conocido como Razor Ya antes el IDE de Visual Studio incluia otros motores Facilitando a las paginas ASP NET Modelo Vista Controlador Otros archivos Editar Otras extensiones de archivo asociadas con las diferentes versiones de ASP NET incluyen Extension Version requerida Descripcionasax 1 0 Global asax usada para la logica a nivel de aplicacion 16 ascx 1 0 Controles de usuario web Controles personalizados para ser colocados en paginas webashx 1 0 Manejadores HTTP personalizadosasmx 1 0 Paginas de servicios webaxd 1 0 Cuando esta habilitado en el web config la solicitud de trace axd genera trazas de salida a nivel de aplicacion Tambien es usado para el manejador especial webresource axd que permite a los desarrolladores de controles componentes empacar un control componente con imagenes script CSS etc para el desarrollo de un archivo unico un ensamblado browser 2 0 Archivos de capacidades del navegador almacenadas en formato XML introducido en la version 2 0 ASP NET incluye muchos de estos por defecto para admitir a los navegadores web comunes Estos especifican que navegadores tienen que capacidades asi que ASP NET 2 puede automaticamente personalizar y optimizar su salida de acuerdo al navegador Los archivos especiales browser estan disponibles en descarga libre para manejar por ejemplo el validador de la W3C Reemplaza la seccion BrowserCaps que se encontraba en el archivo machine config en ASP NET 1 xconfig 1 0 web config es el unico archivo en una aplicacion web especifica que usa esta extension por defecto machine config tiene efectos similares en un servidor web y todas las aplicaciones en el sin embargo ASP NET proporciona la facilidad de crear y utilizar otros archivos config Son almacenados en formato XMLcs vb 1 0 Archivos de codigo fuente cs indica C vb indica Visual Basic Los archivos code behind predominantemente tienen la extension aspx cs o aspx vb para los dos lenguajes mas comunes Otros archivos de codigo que frecuentemente contienen bibliotecas de clases pueden tambien existir en las carpetas web con las extensiones cs vb En ASP NET 2 estos deberian estar colocados dentro de la carpeta App Code donde son dinamicamente compilados y estan disponibles para toda la aplicaciondbml 3 5 Archivo de clases de datos LINQ a SQLmaster 2 0 Archivo de pagina maestraresx 1 0 Archivos de recursos para localizacion y globalizacion Los archivos de recursos pueden ser globales por ejemplo mensajes o locales que estan hechos especificamente para un solo archivo aspx o ascx sitemap 2 0 Archivos de configuracion sitemapskin 2 0 Archivos de temassvc 3 0 Archivos de servicio de Windows Communication FoundationEstructura de directorios Editar En general la estructura de directorios de ASP NET puede ser determinada por las preferencias del desarrollador Aparte de unos pocos nombres de directorios reservados el sitio puede expandirse a cualquier numero de directorios La estructura es tipicamente reflejada directamente en las urls Los nombres de directorios especiales a partir de ASP NET 2 0 son 17 App Browsers Contiene archivos de definicion especificos para navegadores App Code Es un directorio para codigos El servidor ASP NET automaticamente compilara los archivos y subdirectorios en esta carpeta en un ensamblado que es accesible desde cualquier pagina del sitio App Code es tipicamente usada para codigo de acceso a datos codigo de modelo o codigo de negocios Tambien cualquier manejador http especifico para el sitio e implementacion de modulos y servicios web van este directorio Como alternativa a utilizar App Code el desarrollador puede optar por proporcionar un ensamblado independiente con codigo precompilado App Data Directorio por defecto para las base de datos tales como archivos mdb de Microsoft Access y archivos mdf de Microsoft SQL Server Este directorio es usualmente el unico con permisos de escritura en la aplicacion App LocalResources Contiene archivos de recursos localizados para paginas individuales del sitio App GlobalResources Contiene archivos resx con recursos localizados disponibles para cada pagina del sitio Este es donde el desarrollador ASP NET tipicamente almacenara mensajes que seran usados en mas de una pagina App Themes usado para temas alternativos del sitio App WebReferences Usado para archivos de descubrimiento y archivos WSDL para referencias a servicios web para ser consumidos en el sitio Bin Contiene codigo compilado archivos dll para controles componentes y otro codigo que pueda ser referenciado por la aplicacion Cualquier clase representada por codigo en la carpeta Bin es automaticamente referenciada en la aplicacion Son archivos o librerias que tienen como principal accion ejecutar una funcion cuando estas son llamadas o se invocan Evolucion respecto al ASP clasico EditarEn el modelo de desarrollo web basado en paginas activas la programacion ASP actual tiene diversas limitaciones Para que todo ocurra en una pagina web es habitual escribir una gran cantidad de codigo para resolver necesidades sencillas ASP NET incorpora un modelo declarativo a la programacion web los controles de servidor funcionan en una pagina Web simplemente declarandolos Cuando se carga la pagina ASP NET se instancian los controles listados en la pagina ASP y es responsabilidad del control emitir codigo HTML que el navegador pueda entender ASP clasico es un tanto desorganizado En una pagina ASP podemos incluir casi todo HTML plano codigo script objetos COM y texto No hay una distincion formal entre el contenido de una pagina y su comportamiento simplemente insertamos codigo en la pagina y a ver que pasa ASP NET impone un cierto orden sobre el modelo de programacion estandar ASP En cierto modo esta desorganizacion puede evitarse facilmente usando el sentido comun y algunas de las nuevas tecnologias Por ejemplo podemos escribir en nuestras paginas ASP unicamente codigo VBScript Dicho codigo generaria un mensaje XML que luego seria interpretado por un archivo XSLT De esta forma conseguimos evitar el llamado codigo spaguetti aumentando la claridad del codigo y la velocidad de ejecucion de las paginas ASP Sin embargo en la medida en que el programador deba trabajar con codigo escrito por otros se enfrentara a menudo con las malas practicas que son en gran medida acentuadas por la permisividad del ASP clasico La tercera limitacion en el desarrollo con ASP es que con el tradicional utilizamos lenguajes de scripting no tipados como VBScript o JScript Podemos instalar otros motores de scripting que impongan verificacion de tipos sin embargo no son universalmente conocidos o utilizados como los anteriores ASP NET claramente separa la porcion basada en script de una pagina web de su contenido ASP Net puede decirse que es un nuevo nivel de abstraccion en la construccion de sitios web porque se pueden crear rapidamente aplicaciones web basandose en los controles incluidos en el frameWork o muchos gratuitos que hay en la red ocultando el codigo de mucho Ej Puedes crear facilmente un grid o tabla y esta se auto ordena pagina etc obteniendo sus datos desde cualquier base de datos Incluye una gran herramienta para la construccion de reportes y esto incluyen medios automaticos para exportarlos a XLS o PDF y de igual forma incluye CristalReport Ademas permite separar completamente la interfaz de la logica de negocio Excelente para desarrollo de aplicaciones multicapas Es muy sencilla la creacion de paginas con AJAX solo incluyendo unos controles asi como descargar gratuitamente el ToolKit de ASP Net Ajax Extensiones EditarASP NET AJAX Editar Articulo principal ASP NET AJAX ASP NET AJAX anteriormente llamado Atlas es un conjunto de extensiones para ASP NET desarrollado por Microsoft para implementar la funcionalidad de Ajax ASP NET AJAX fue liberado en enero de 2007 despues de un largo periodo de pruebas Fue subsecuentemente incluido con la version 3 5 del NET Framework que fue liberada junto con Visual Studio 2008 en noviembre de 2007 ASP NET MVC Framework Editar Articulo principal ASP NET MVC Framework Es una extension de paginas ASP NET utilizando la arquitectura MVC ASP NET Razor Editar Articulo principal ASP NET Razor Tambien conocido como ASP NET Web Pages es una alternativa a Web Forms disenada para ser utilizada con MVC ASP NET Dynamic Data Editar Articulo principal ASP NET Dynamic Data Es un Framework inspirado en Ruby on Rails para la plataforma de Microsoft que viene como una extension de ASP NET que se puede utilizar para construir aplicaciones web orientadas a los datos Expone las tablas de una base de datos mediante la codificacion en la URI del servicio web ASP NET y los datos de la tabla se representan automaticamente a HTML El proceso de renderizado se puede controlar con el uso de plantillas de diseno personalizadas Internamente se descubre el esquema de base de datos mediante el uso de los metadatos de la base de datos ASP NET Web API Editar Articulo principal ASP NET Web API Es un API HTTP para exposicion de servicios Web RESTful ASP NET SignaIR Editar Articulo principal ASP NET SignaIR Es una nueva biblioteca para desarrolladores ASP NET que hace el desarrollo Web en tiempo real funcionalmente facil Permite una comunicacion bidireccional entre el cliente y el servidor Los servidores ahora pueden insertar el contenido a los clientes conectados al instante cuando esten disponible Soporta Web Sockets Incluye APIs para la gestion de la conexion por ejemplo conectar y desconectar eventos agrupacion de conexiones y autorizacion Modelos de programacion en ASP NET EditarActualmente ASP NET soporta tres modelos de programacion ASP NET Web Forms ASP NET MVC y ASP NET Web Pages Aunque los tres modelos de programacion se ejecutan sobre la misma base de ASP NET cada uno de ellos estructura la aplicacion de maneras completamente distintas promueve metodologias de desarrollo diferentes y se adapta a perfiles de desarrolladores distintos Algunas caracteristicas que son virtudes en unos modelos de programacion pueden ser consideradas debilidades en el otro Que es mas importante desarrollar a un gran nivel de abstraccion o tener control total cada uno de los aspectos de la aplicacion Simplicidad vs Control Flexibilidad vs Eficiencia Estas son las compensaciones que hay que baremar a la hora de elegir En esta serie de articulos repasaremos las diferencias entre los tres modelos de programacion y los escenarios favorables a cada uno de ellos Es importante recalcar que el hecho de elegir uno de los modelos de programacion al comenzar un proyecto de ASP NET no excluye necesariamente a los otros sino que es posible tener aplicaciones hibridas y en muchos casos tendra todo el sentido desarrollar ciertas partes de la aplicacion con un modelo de programacion y otras partes con otro modelo distinto ASP NET Web Forms fue el primero de los tres modelos de programacion en existir y proporciona un gran nivel de abstraccion con un modelo de programacion familiar basado en eventos y controles que favorece la productividad mediante la programacion declarativa reduciendo la cantidad de codigo necesaria para implementar una determinada funcionalidad ASP NET MVC se concibio como alternativa a Web Forms y proporciona un modelo de programacion basado en el popular patron de arquitectura MVC Entre sus principales caracteristicas destacan su completa integracion con pruebas unitarias y su separacion mas clara entre la logica de presentacion la logica de negocio y la logica de acceso a datos Comunidad ASP NET MVC en espanol https groups google com d forum mundoaspnetmvcASP NET Web Pages es el mas reciente de los tres modelos de programacion y fue creado como respuesta a una creciente demanda de desarrolladores web sin experiencia previa con ASP NET cuya iniciacion en ASP NET Web Forms o MVC les suponia una inversion inicial de tiempo demasiado grande Web Pages proporciona un modelo de programacion mas simple y rapido de aprender sin renunciar a toda la funcionalidad y flexibilidad de ASP NET Uso actual del lenguaje EditarEn la actualidad una aplicacion NET puede ejecutarse de dos formas distintas Aplicaciones cliente servidor Estas aplicaciones estan tipicamente en formato de ejecutables compilados Estos pueden integrar toda la riqueza de una interfaz de usuario tal es el caso de las aplicaciones de desempeno y productividad pero no se reune la logica de negocio como un recurso que se pueda reutilizar Ademas acostumbran ser menos gestionables y escalables que las demas aplicaciones Aplicaciones que utilizan el navegador Dichas aplicaciones estan caracterizadas por contar con una interfaz de web rica y muy util La interfaz grafica integra varias tecnologias las cuales son el HTML XHTML scripting etc siempre y cuando el navegador que se este utilizando soporte estas tecnologias Vease tambien EditarPagina web Active Server Pages PHP Script Servidor webReferencias Editar Que es ASP NET IONOS Digitalguide Consultado el 11 de marzo de 2022 a b Microsoft ed Enero de 2007 Architecture Journal Profile Scott Guthrie The Architecture Journal en ingles Consultado el 20 de abril de 2008 Michiel van Otegem 24 de julio de 2007 Interview with Scott Guthrie creator of ASP NET en ingles Archivado desde el original el 9 de noviembre de 2007 Consultado el 20 de abril de 2008 Tim Anderson 30 de octubre de 2007 The Register ed How ASP NET began in Java en ingles Consultado el 20 de abril de 2008 a b Microsoft ed 20 de diciembre de 2000 Show 9 ASP NET The MSDN Show en ingles Archivado desde el original el 22 de octubre de 2005 Consultado el 20 de abril de 2008 Microsoft ed 11 de julio de 2000 Bill Gates speech transcript Professional Developers Conference 2000 Archivado desde el original el 10 de abril de 2008 Consultado el 20 de abril de 2008 Business Wire ed 11 de julio de 2000 ActiveState Supports Microsoft NET Framework Perl NET amp Python NET Cross Language Interoperability en ingles Archivado desde el original el 9 de julio de 2012 Consultado el 20 de abril de 2008 Microsoft ed 15 de noviembre de 2001 S from the PDC The MSDN Show Consultado el 20 de abril de 2008 enlace roto disponible en Internet Archive vease el historial la primera version y la ultima MacDonald y Szpuszta 2005 p 63 http msdn2 microsoft com en us library ms972975 aspx usercontrols topic6 Adding Properties and Methods to a User Control http msdn2 microsoft com en us library ms972975 aspx usercontrols topic9 Creating and Raising a Custom Event a b c INFO ASP NET State Management Overview en ingles Consultado el 23 de octubre de 2007 ViewState in ASP NET Archivado desde el original el 14 de octubre de 2007 Consultado el 23 de octubre de 2007 ASP Net ViewState Overview en ingles Archivado desde el original el 16 de septiembre de 2008 ASP NET Master Pages Overview Microsoft Developer Network Global asax Syntax http msdn2 microsoft com en us library ex526337 aspx ASP NET Web Site Layout from MSDNEnlaces externos EditarASP NET Tutorial Web en ingles y Espanol de tecnologia ASP NET Datos Q178817 Obtenido de https es wikipedia org w index php title ASP NET amp oldid 144840020, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos