·
Unifica
los modelos de programación
·
Simplifica
aún más el desarrollo
·
Provee
un Entorno de Ejecución robusto y seguro
·
Es
independiente del lenguaje de programación
·
Interoperabilidad
con código existente
·
Simplifica
la instalación y administración de las aplicaciones
·
Es
Extensible
Unificando Modelos
Una de las principales ventajas de .NET es que
unifica los modelos de programación, bibliotecas de funcionalidad y entornos de
ejecución que existían anteriormente para distintos tipos de aplicaciones y
distintos dispositivos.
Anteriormente a .NET existían lenguajes,
bibliotecas, entornos de ejecución y herramientas de desarrollo distintas y
específicas para cada tipo de aplicación y dispositivo (Visual Basic, Visual
C++, ASP/VBScript, Embedded Visual C++, etc.).
.NET unifica todos esos modelos de programación
ofreciendo una única API, un único entorno de ejecución, un único conjunto de
bibliotecas y una única herramienta de desarrollo para cualquier tipo de
aplicación.
5.1- Desarrollo Simplificado
- Alto
nivel de abstracción
-
No
mas accesos COM a bajo nivel
-
Orientado
a Objetos desde el Núcleo
- Sistema
de tipos unificado (CTS)
-
Todo
es un objeto, no mas variants
-
Propiedades,
métodos, eventos, y atributos incluidos en la construcción de clases
- API
organizada en forma Jerárquica
Una de las principales ventajas de la
plataforma .NET es que ofrece un modelo de desarrollo simplificado, basado en
objetos que utilizan un sistema unificado de tipos de datos y se empaquetan en
componentes reutilizables y auto descriptivos (los assemblies).
5.2.- Entorno de Desarrollo Robusto y Seguro
- Gestión
automática de la memoria
-
Todos
los objetos son administrados por el Garbage Collector
·
Manejo
de Excepciones
·
Fuertemente
tipado
-
Solo
casteos seguros
-
Inicialización
de variables obligatoria
- Instalación
con Cero Impacto
-
No
requiere registración en la Registry
Otra de las principales ventajas con las que
cuenta la plataforma .NET es su robusto entorno de ejecución (el CLR), que
provee servicios a las aplicaciones en ejecución y maneja su ciclo de vida
reforzando la seguridad y abstrayendo a los programadores de optimizaciones y
manejos de memoria de bajo nivel.
5.3.- Independencia del Lenguaje
- Libertad
en la elección del lenguaje
-
Todas
las facilidades de la plataforma .NET están disponibles a todos los lenguajes
de programación .NET
-
Los
componentes de una aplicación .NET pueden ser escritos en distintos lenguajes
de alto nivel compatibles con la plataforma
-
Debuggers,
profilers, analizadores de código, y otras trabajan para todos los lenguajes
Otra de los grandes beneficios de .NET es su
soporte a múltiples lenguajes de programación, lo cual acelera la curva de
aprendizaje de los desarrolladores permitiendo que cada uno elija en base a sus
gustos personales. Además, la posibilidad de utilizar las mismas herramientas
de programación y tener las mismas capacidades de acceso a la plataforma
independientemente del lenguaje le proporcionan una flexibilidad sin precedentes.
5.4.- Instalación y Administración más simple
- Unidades
de Ensamblado (“Assemblies”)
-
Mínima
unidad de distribución, versionado y administración de seguridad de
aplicaciones .NET
-
Auto-descriptas
a través de un manifiesto (“manifest”)
- Instalaciones
Cero-impacto
-
Aplicaciones
y componentes pueden ser compartidas o privadas
-
Múltiples
versiones del mismo componente pueden co-existir, aún en el mismo proceso
.NET también simplifica, gracias al uso de
assemblies auto-descriptivos, la instalación y administración de aplicaciones
resolviendo gran parte de los problemas existentes en COM en lo que respecta la
registración de componentes, manejo de múltiples versiones en paralelo y
compatibilidad de aplicaciones.
5.5.- Extensibilidad
·
El
Framework no es una “caja negra”
·
Sus
clases pueden ser extendidas a través del mecanismo de herencia
-
A
diferencia de COM, usamos y extendemos las clases en si mismas, no un “wrapper”
·
Herencia
entre distintos lenguajes
Todas las clases incluidas en el .NET Framework
son extensibles mediante los mecanismos de herencia propios de la orientación a
objetos. Esto posibilita que funcionalidades o controles gráficos que no
cumplan exactamente con una determinada necesidad pueden ser extendidos para
agregarle o modificarle comportamiento sin tener que escribir todo el código
nuevamente.
5.6.- Interoperatibilidad

La plataforma .NET provee un altísimo grado de
interoperabilidad con otras aplicaciones:
•
Interoperabilidad
entre aplicaciones .NET escritas en distintos lenguajes
•
Interoperabilidad
entre aplicaciones .NET y aplicaciones COM, mediante un módulo del CLR llamado
COM-Interop. Esto permite reutilizar y aprovechar aplicaciones o componentes
existentes desarrollados sobre la plataforma COM (por ejemplo Visual Basic 6).
Interoperabilidad entre aplicaciones .NET y
múltiples tipos de aplicaciones desarrolladas sobre otras plataformas de
software o hardware, incluso plataformas no Microsoft, mediante la tecnología
de Servicios Web XML.