Las Ventajas de progrmar con .NET

Unificando Modelos:

18ventajas

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

  • Componentes de Software

–          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

  • Herramientas compartidas

–          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

  • Versioning

–          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. 

19interop

 

 

fuente:  http://wiki.elhacker.net/programacion/dotnet/generalidades/ventajas-net