Sei sulla pagina 1di 13

ASP.

NET
es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es
usado por programadores y diseadores para construir sitios web dinmicos, aplicaciones
web y servicios web XML. Apareci en enero de 2002 con la versin 1.0 del .NET
Framework, y es la tecnologa sucesora de la tecnologa Active Server Pages (ASP).
ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los
programadores escribir cdigo ASP.NET usando cualquier lenguaje admitido por el .NET
Framework.

Historia[editar]
Microsoft introdujo la tecnologa llamada Active Server Pages en diciembre de 1996. Es
parte del Internet Information Server (IIS) desde la versin 3.0 y es una tecnologa de
pginas activas que permite el uso de diferentes scripts y componentes en conjunto con el
tradicional HTML para mostrar pginas generadas dinmicamente. La definicin contextual
de Microsoft es que "Las Active Server Pages son un ambiente de aplicacin abierto y
gratuito en el que se puede combinar cdigo HTML, scripts y componentes ActiveX del
servidor para crear soluciones dinmicas y poderosas para el web".
Despus 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
separacin de la presentacin y el contenido y ser capaz de escribir cdigo "limpio".1 A
Mark Anders, un administrador del equipo de IIS y Scott Guthrie, quien se haba unido a
Microsoft en 1997 despus de graduarse de la Universidad Duke, se les dio la tarea de
determinar como debera ser ese modelo. El diseo inicial fue desarrollado en el curso de
dos meses por Anders y Guthrie, y Guthrie codific los prototipos inciales durante las
celebraciones navideas de 1997.2

Scott Guthrie en 2007.

El prototipo inicial fue llamado "XSP"; Guthrie explic en una entrevista en el ao 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".1

"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
pareca 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,3 pero pronto se decidi construir una
nueva plataforma sobre el Common Language Runtime(CLR), pues ofreca un ambiente
orientado a objetos, recoleccin de basura y otras caractersticas que fueron vistas como
caractersticas deseables. Guthrie describi esta decisin como un "alto riesgo", pues el
xito de su nueva plataforma de desarrollo web estara atado al xito del CLR, que, como
XSP, an 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 pblico), y fue
renombrado a ASP+, en este punto la nueva plataforma fue vista como el sucesor de
Active Server Pages, y la intencin fue proporcionar un medio fcil de migracin para los
desarrolladores ASP.4
La primera demostracin publica y la liberacin 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, Florida. Durante la presentacin de Bill
Gates, Fujitsu demostr ASP+ usado en conjuncin con COBOL,5 y el soporte para una
variedad de otros lenguajes fue anunciada, incluyendo los nuevos lenguajes de

Microsoft, Visual Basic .NET y C#, as como tambin el soporte por medio de herramientas
de interoperabilidad para Python y Perl creadas por la empresa canadiense ActiveState.6
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 aparicin en The MSDN
Show en ese ao,
"The .NET initiative is really about a number of
factors, its 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."4

"La iniciativa .NET comprende un nmero de


factores, trata sobre la entrega de software como
servicio, sobre XML y servicios web y la mejora
real del Internet en trminos 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"

Despus de cuatro aos de desarrollo, y una serie de versiones de evaluacin en los aos
2000 y 2001, ASP.NET 1.0 fue liberado el 5 de enero de 2002 como parte de la versin 1.0
del.NET Framework. Incluso antes de su liberacin, docenas de libros haban sido escritos
sobre ASP.NET7

Caractersticas[editar]
Pginas[editar]
Las pginas de ASP.NET, conocidas oficialmente como "web forms" (formularios web),
son el principal medio de construccin para el desarrollo de aplicaciones web.8 Los
formularios web estn contenidos en archivos con una extensin ASPX; en jerga de
programacin, estos archivos tpicamente contienen etiquetas HTML o XHTML esttico, y
tambin etiquetas definiendoControles Web que se procesan del lado del servidor
y Controles de Usuario donde los desarrolladores colocan todo el cdigo esttico y
dinmico requerido por la pgina web. Adicionalmente, el cdigo dinmico que se ejecuta
en el servidor puede ser colocado en una pgina dentro de un bloque <% -- cdigo
dinmico -- %> que es muy similar a otras tecnologas de desarrollo

como PHP, JSP y ASP, pero esta prctica es, generalmente, desaconsejada excepto para
propsitos de enlace de datos pues requiere ms llamadas cuando se genera la pgina.
ASP.NET slo funciona sobre el servidor de Microsoft IIS, lo que supone una desventaja
respecto a otros lenguajes del lado de servidor, ejecutables sobre otros servidores ms
populares como Apache. Ejemplos de esto son PHP, Perl o Python.
Formulario web de ejemplo[editar]
Este es un ejemplo que utiliza cdigo "en lnea", opuesto al cdigo independiente (codebehind).
<%@ 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>Pgina 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[editar]
Microsoft recomienda que para realizar programacin dinmica se use el modelo codebehind, o de respaldo, que coloca el cdigo en un archivo separado o en una etiqueta
de scriptespecialmente diseada. Los nombres de los archivos code-behind estn basados
en el nombre del archivo ASPX tales como MiPagina.aspx.cs o MiPagina.aspx.vb (esta
prctica se realiza automticamente en Microsoft Visual Studio y otros entornos de
desarrollo). Cuando se usa este estilo de programacin, el desarrollador escribe el cdigo
correspondiente a diferentes eventos, como la carga de la pgina, o el clic en un control,
en vez de un recorrido lineal a travs del documento.
El modelo code-behind de ASP.NET marca la separacin del ASP clsico y alienta a los
desarrolladores a construir aplicaciones con la idea de presentacin y contenido separados
en mente. En teora, esto permite a un diseador web, por ejemplo, enfocarse en la
creacin del diseo con menos posibilidades de alterar el cdigo de programacin
mientras lo hace. Esto es similar a la separacin en el Modelo Vista Controlador
Ejemplo[editar]
<%@ 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 cdigo code-behind

mientras que la propiedad Inherits especifica la clase de la cual deriva la pgina. En este
ejemplo, la directiva @ Page est incluida en EjemploCodeBehind.aspx y el archivo
EjemploCodeBehind.aspx.cs contendr el cdigo para esta pgina:
using System;
namespace SitioWeb
{
public partial class EjemploCodeBehind: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
En este caso, el mtodo Page_Load() ser llamado cada vez que la pgina ASPX sea
solicitada al servidor. El programador puede implementar manejadores de eventos en
varias etapas del proceso de ejecucin de la pgina..

Controles de usuario[editar]
ASP.NET permite la creacin de componentes reutilizables a travs de la creacin 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, adems de etiquetas para
definir controles web y otros controles de usuario. Tambin pueden usar el modelo codebehind.
Los programadores pueden agregar sus propias propiedades y mtodos,9 y manejadores
de eventos.10 Un mecanismo de eventos en burbuja proporciona la capacidad de pasar un
evento disparado por un control de usuario a la pgina que lo contiene .

Administracin 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 informacin sobre
conexiones anteriores. Por lo tanto, si la aplicacin requiere interaccin entre conexiones,
tiene que implementar su propia administracin del estado. ASP.NET proporciona varias
maneras de administrar el estado de las aplicaciones ASP.NET.
Estado de la aplicacin[editar]
El estado de la aplicacin (Application state) es una coleccin de variables definidas por el
usuario que son compartidas por todas las invocaciones de una aplicacin 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 estn disponible hasta

que la ltima instancia termina. Las variables de estado o variables de sesin de la


aplicacin son identificadas por nombres.11
Estado de la sesin[editar]
El estado de la sesin (Session state) es una coleccin de variables definidas por el
usuario, las cuales persisten durante la sesin de un usuario. Estas variables son nicas
para diferentes instancias de una sesin de usuario, y son accedidas usando la
coleccin Session . Las variables de sesin pueden ser preparadas para ser
automticamente destruidas despus de un determinado tiempo de inactividad, incluso si
la sesin no ha terminado. Del lado del cliente, una sesin de usuario es identificada por
una cookie o codificando el ID de la sesin en la misma URL.11
ASP.NET proporciona tres modos de persistencia para variables de sesin:11
InProc
Las variables de sesin 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 administracin de estado ocurre fuera del proceso
ASP.NET, tiene un impacto negativo en el rendimiento, pero permite a mltiples instancias
de ASP.NET compartir el mismo estado del servidor, permitiendo que una aplicacin
ASP.NET pueda tener su carga balanceada y escalada en mltiples servidores. Tambin,
como el servicio de administracin del estado se ejecuta independiente de ASP.NET, las
variables pueden persistir a travs 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 sesin pueden persistir a travs de finalizaciones
de procesos tambin en este modo.
Estado de la vista[editar]
El estado de la vista (View state) se refiere al mecanismo de administracin de estado a
nivel de pgina, que es utilizado por las pginas 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 envo del formulario
en un campo oculto conocido como __VIEWSTATE . El servidor enva de regreso las
variables para que cuando la pgina sea renderizada de nuevo, los controles volvern a su
ltimo estado. Del lado del servidor, la aplicacin 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 estn disponibles para su uso en
ASP.NET usando la coleccin ViewState .12 13

Motor de plantillas[editar]

Al ser liberado, ASP.NET careca de un motor de plantillas. Debido a que el .NET


framework es orientado a objetos y permite la herencia, muchos desarrolladores podran
definir una nueva clase que herede desde "System.Web. UI.Page", escribir mtodos en
ella que renderizen HTML, y entonces hacer las pginas en su aplicacin que hereden de
esta nueva clase. Mientras esto permite que los elementos comunes sean dentro de un
sitio, agrega complejidad y mezcla cdigo fuente con lenguaje de marcado. Adems, este
mtodo puede ser visto solamente al ejecutar la aplicacin, no mientras se est diseando.
Otros desarrolladores han usado archivos incluidos y otros trucos para evitar la
implementacin de enlaces de navegacin y otros elementos en cada pgina.
ASP.NET 2.0 present el concepto de pgina maestra (Master Page), que permite el
desarrollo de pginas basado en plantillas web. Una aplicacin web puede tener una o
ms pginas maestras, las cuales pueden ser anidadas.14 Las plantillas maestras
contienen controles contenedores, llamados ContentPlaceHolders para indicar donde ir el
contenido dinmico, adems de HTML y JavaScript que ser compartido a travs de las
pginas hijas.
Las pginas hijas tambin usan esos controles ContentPlaceHolder, que deben ser
relacionados con el ContentPlaceHolder de la pgina maestra que contiene a esta pgina
hija. El resto de la pgina est definido por las partes compartidas de la pgina maestra.
Todo el lenguaje de marcado y controles de servidor en la pgina de contenido deben ser
colocadas dentro del control ContentPlaceHolder.
Cuando una solicitud es hecha por una pgina de contenido, ASP.NET mezcla la salida de
la pgina de contenido con la salida de la pgina maestra, y enva el resultado al usuario.
La pgina maestra permanece completamente accesible a la pgina del contenido. Esto
significa que la pgina de contenidos puede manipular los encabezados, cambiar el ttulo,
configurar la cache, etc. Si la pgina maestra expone propiedades pblicas o mtodos, el
contenido de la pgina puede utilizar estos tambin.
Hoy en da 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 MVC.

Otros archivos[editar]
Otras extensiones de archivo asociadas con las diferentes versiones de ASP.NET
incluyen:

Extensin

asax

Versin
requerida

1.0

Descripcin

Global.asax, usada para la logica a nivel de

aplicacin15

Controles de usuario web: Controles personalizados

ascx

1.0

ashx

1.0

Manejadores HTTP personalizados

asmx

1.0

Pginas de servicios web

para ser colocados en pginas web

Cuando est habilitado en el web.config la solicitud de


trace.axd genera trazas de salida a nivel de aplicacin.
Tambin es usado para el manejador especial
axd

1.0

webresource.axd que permite a los desarrolladores de


controles/componentes empacar un
control/componente con imgenes, script, CSS, etc.
para el desarrollo de un archivo nico (un
'ensamblado')

Archivos de capacidades del navegador almacenadas


en formato XML; introducido en la versin 2.0.
ASP.NET incluye muchos de estos por defecto, para
admitir a los navegadores web comunes. Estos
especifican que navegadores tienen que capacidades,
browser

2.0

as que ASP.NET 2 puede automticamente


personalizar y optimizar su salida de acuerdo al
navegador. Los archivos especiales .browser estn
disponibles en descarga libre para manejar, por
ejemplo, el validador de la W3C. Reemplaza la seccin
BrowserCaps que se encontraba en el
archivo machine.config en ASP.NET 1.x

web.config es el nico archivo en una aplicacin web


especifica que usa esta extensin por defecto
config

1.0

(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

Archivos de cdigo fuente (cs indica C#, vb


indica Visual Basic). Los archivos code-behind
predominantemente tienen la extensin ".aspx.cs" o
".aspx.vb" para los dos lenguajes ms comunes. Otros
cs/vb

1.0

archivos de cdigo (que frecuentemente contienen


bibliotecas de clases) pueden tambin existir en las
carpetas web con las extensiones cs/vb. En ASP.NET
2 estos deberan estar colocados dentro de la carpeta
App_Code donde son dinmicamente compilados y
estn disponibles para toda la aplicacin

dbml

3.5

Archivo de clases de datos LINQ a SQL

master

2.0

Archivo de pgina maestra

Archivos de recursos para localizacin y globalizacin.


resx

1.0

Los archivos de recursos pueden ser globales (por


ejemplo, mensajes) o locales, que estn hechos
especficamente para un solo archivo aspx o ascx.

sitemap

2.0

Archivos de configuracin sitemap

skin

2.0

Archivos de temas

svc

3.0

Archivos de servicio de Windows Communication


Foundation

Estructura 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 nmero de directorios. La estructura es tpicamente
reflejada directamente en las urls.
Los nombres de directorios especiales (a partir de ASP.NET 2.0 son):16
App_Browsers
Contiene archivos de definicin especficos para navegadores.
App_Code
Es un directorio para cdigos. El servidor ASP.NET automticamente compilar los
archivos (y subdirectorios) en esta carpeta en un ensamblado que es accesible desde
cualquier pgina del sitio. App_Code es tpicamente usada para cdigo de acceso a datos,
cdigo de modelo o cdigo de negocios. Tambin cualquier manejador http especfico para
el sitio e implementacin de mdulos y servicios web van este directorio. Como alternativa
a utilizar App_Code el desarrollador puede optar por proporcionar un ensamblado
independiente con cdigo 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 aplicacin.
App_LocalResources
Contiene archivos de recursos localizados para pginas individuales del sitio.
App_GlobalResources
Contiene archivos resx con recursos localizados disponibles para cada pgina del sitio.
Este es donde el desarrollador ASP.NET tpicamente almacenara mensajes que sern
usados en ms de una pgina.
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 cdigo compilado (archivos .dll) para controles, componentes, y otro cdigo que
pueda ser referenciado por la aplicacin. Cualquier clase representada por cdigo en la
carpeta Bin es automticamente referenciada en la aplicacin. Son archivos o libreras que
tienen como principal accin ejecutar una funcin cuando estas son llamadas o se invocan.

Evolucin respecto al ASP clsico[editar]


En el modelo de desarrollo web basado en pginas activas, la programacin ASP actual
tiene diversas limitaciones:

Para que todo ocurra en una pgina web, es habitual escribir una gran cantidad de

cdigo para resolver necesidades sencillas. ASP.NET incorpora un modelo declarativo a la


programacin web: los controles de servidor funcionan en una pgina Web simplemente
declarndolos. Cuando se carga la pgina ASP.NET, se instancian los controles listados
en la pgina ASP y es responsabilidad del control emitir cdigo HTML que el navegador
pueda entender.

ASP clsico es un tanto desorganizado. En una pgina ASP podemos incluir casi

todo: HTML plano, cdigo script, objetos COM y texto. No hay una distincin formal entre
el contenido de una pgina y su comportamiento: simplemente, insertamos cdigo en la
pgina, y a ver qu pasa. ASP.NET impone un cierto orden sobre el modelo de
programacin estndar ASP. En cierto modo, esta "desorganizacin" puede evitarse
fcilmente usando el sentido comn y algunas de las nuevas tecnologas. Por ejemplo,
podemos escribir en nuestras pginas ASP nicamente cdigo VBScript. Dicho cdigo
generara un mensaje XML, que luego seria interpretado por un archivo XSLT. De esta
forma conseguimos evitar el llamado "cdigo spaguetti", aumentando la claridad del cdigo
y la velocidad de ejecucin de las pginas ASP. Sin embargo, en la medida en que el
programador deba trabajar con cdigo escrito por otros, se enfrentar a menudo con las
malas prcticas que son en gran medida acentuadas por la permisividad del ASP clsico.

La tercera limitacin 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 verificacin de tipos; sin embargo, no son universalmente
conocidos o utilizados como los anteriores. ASP.NET claramente separa la porcin basada
en script de una pgina web de su contenido.

ASP.Net, puede decirse que es un nuevo nivel de abstraccin en la construccin

de sitios web, por que se pueden crear rpidamente aplicaciones web, basndose en los
controles incluidos en el frameWork o muchos gratuitos que hay en la red, ocultando el
cdigo de mucho Ej: Puedes crear fcilmente un grid o tabla, y sta se auto-ordena,
pgina, etc, obteniendo sus datos desde cualquier base de datos. Incluye una gran
herramienta para la construccin de reportes, y esto incluyen medios automticos para
exportarlos a XLS o PDF, y de igual forma incluye CristalReport. Adems permite separar
completamente la interfaz de la lgica de negocio. Excelente para desarrollo de
aplicaciones multicapas.

Es muy sencilla la creacin de pginas con AJAX, slo incluyendo unos controles,

as como descargar gratuitamente el ToolKit de ASP.Net Ajax.

Extensiones[editar]
ASP.NET AJAX[editar]
Artculo 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 despus de un largo periodo de pruebas.
Fue subsecuentemente incluido con la versin 3.5 del .NET Framework, que fue liberada
junto con Visual Studio 2008 en noviembre de 2007.

ASP.NET MVC Framework[editar]


Artculo principal: ASP.NET MVC Framework

Es una extensin de pginas ASP.NET utilizando la arquitectura MVC.

ASP.NET Dynamic Data[editar]


Artculo principal: ASP.NET Dynamic Data

Es un Framework inspirado en Ruby on Rails para la plataforma de Microsoft, que viene


como una extensin 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 codificacin en
la URI del servicio web ASP.NET, y los datos de la tabla se representan automticamente
a HTML. El proceso de renderizado se puede controlar con el uso de plantillas de diseo
personalizadas. Internamente, se descubre el esquema de base de datos mediante el uso
de los metadatos de la base de datos.

Modelos de programacin en ASP.NET[editar]


Actualmente, ASP.NET soporta tres modelos de programacin: ASP.NET Web Forms,
ASP.NET MVC y ASP.NET Web Pages. Aunque los tres modelos de programacin se
ejecutan sobre la misma base de ASP.NET, cada uno de ellos estructura la aplicacin de
maneras completamente distintas, promueve metodologas de desarrollo diferentes y se
adapta a perfiles de desarrolladores distintos. Algunas caractersticas que son virtudes en
unos modelos de programacin, pueden ser consideradas debilidades en el otro. Qu es
ms importante, desarrollar a un gran nivel de abstraccin o tener control total cada uno de
los aspectos de la aplicacin? Simplicidad vs. Control. Flexibilidad vs. Eficiencia. Estas son
las compensaciones que hay que baremar a la hora de elegir. En esta serie de artculos
repasaremos las diferencias entre los tres modelos de programacin, y los escenarios
favorables a cada uno de ellos.

Es importante recalcar que el hecho de elegir uno de los modelos de programacin al


comenzar un proyecto de ASP.NET no excluye necesariamente a los otros, sino que es
posible tener aplicaciones hbridas y en muchos casos tendr todo el sentido desarrollar
ciertas partes de la aplicacin con un modelo de programacin y otras partes con otro
modelo distinto.
ASP.NET Web Forms fue el primero de los tres modelos de programacin en existir, y
proporciona un gran nivel de abstraccin con un modelo de programacin familiar basado
en eventos y controles que favorece la productividad mediante la programacin declarativa
reduciendo la cantidad de cdigo necesaria para implementar una determinada
funcionalidad.
ASP.NET MVC se concibi como alternativa a Web Forms y proporciona un modelo de
programacin basado en el popular patrn de arquitectura MVC. Entre sus principales
caractersticas destacan su completa integracin con pruebas unitarias y su separacin
ms clara entre la lgica de presentacin, la lgica de negocio y la lgica de acceso a
datos.
Comunidad ASP.NET MVC en
espaol: https://groups.google.com/d/forum/mundoaspnetmvc
ASP.NET Web Pages es el ms reciente de los tres modelos de programacin, y fue
creado como respuesta a una creciente demanda de desarrolladores web sin experiencia
previa con ASP.NET, cuya iniciacin en ASP.NET Web Forms o MVC les supona una
inversin inicial de tiempo demasiado grande. Web Pages proporciona un modelo de
programacin ms simple y rpido de aprender, sin renunciar a toda la funcionalidad y
flexibilidad de ASP.NET.

Uso actual del lenguaje[editar]


En la actualidad una aplicacin .NET puede ejecutarse de dos formas distintas:
Aplicaciones cliente/servidor: Estas aplicaciones estn tpicamente en formato
de ejecutables compilados. Estos pueden integrar toda la riqueza de una interfaz de
usuario, tal es el caso de las aplicaciones de desempeo y productividad, pero no se rene
la lgica de negocio como un recurso que se pueda reutilizar. Adems acostumbran ser
menos gestionables y escalables que las dems aplicaciones.
Aplicaciones que utilizan el navegador: Dichas aplicaciones estn caracterizadas por
contar con una interfaz de web rica y muy til. La interfaz grfica integra varias
tecnologas, las cuales son el HTML, XHTML, scripting, etc; siempre y cuando el
navegador que se est utilizando soporte estas tecnologas.

Potrebbero piacerti anche