SlideShare una empresa de Scribd logo
El framework .net
¿QUE ES EL FRAMEWORK .NET? 
Microsoft .NET es el conjunto de nuevas 
tecnologías en las que Microsoft ha estado 
trabajando durante los últimos años con el 
objetivo de obtener una plataforma sencilla y 
potente para distribuir el software en forma de 
servicios que puedan ser suministrados 
remotamente y que puedan comunicarse y 
combinarse unos con otros de manera 
totalmente independiente de la plataforma, 
lenguaje de programación y modelo de 
componentes con los que hayan sido 
desarrollados.
El framework .NET es una plataforma de Microsoft 
para el desarrollo de aplicaciones de ventanas 
(Windows) y en la nube. 
Esto incluye soporte para aplicaciones de 
escritorio, aplicaciones para dispositivos 
inteligentes, aplicaciones de servidores y bases 
de datos, aplicaciones y servicios web y 
aplicaciones en la nube desplegadas en 
Windows Azure.
¿QUE INCLUYE?
COMMON LANGUAGE RUNTIME (CLR) 
El Common Language Runtime (CLR) es el núcleo de la plataforma .NET. Es 
el motor encargado de gestionar la ejecución de las aplicaciones para 
ella desarrolladas y a las que ofrece numerosos servicios que 
simplifican su desarrollo y favorecen su fiabilidad y seguridad. 
Sus principales características son: 
• Modelo de programación 
consistente 
• Modelo de programación 
sencillo 
• Eliminación del «infierno de 
las DLL» 
• Ejecución multiplataforma 
• Integración de lenguajes 
• Gestion de memoria 
• Seguridad de tipos 
• Aislamiento de procesos 
• Tratamiento de Excepciones 
• Soporte multihilo 
• Distribución trasparente 
• Seguridad avanzada 
• Interoperabilidad con código 
antiguo
MODELO DE PROGRAMACIÓN CONSISTENTE 
A todos los servicios y facilidades ofrecidos por el 
CLR se accede de la misma forma: a través de 
un modelo de programación orientado a 
objetos. 
Esto es una diferencia importante respecto al 
modo de acceso a los servicios ofrecidos por 
los algunos sistemas operativos actuales (por 
ejemplo, los de la familia Windows), en los que 
a algunos servicios se les accede a través de 
llamadas a funciones globales definidas en 
DLLs y a otros a través de objetos (objetos 
COM en el caso de la familia Windows)
MODELO DE PROGRAMACIÓN SENCILLA 
Con el CLR desaparecen muchos elementos 
complejos incluidos en los sistemas operativos 
antiguos (registro de Windows, GUIDs, 
HRESULTS, IUnknown, etc.). 
El CLR no es que abstraiga al programador de 
estos conceptos, sino que son conceptos que 
no existen en la plataforma .NET
ELIMINACION DEL «INFIERNO DE LAS DLL» 
En la plataforma .NET desaparece el problema 
conocido como "infierno de las DLLs" que se 
da en los sistemas operativos actuales de la 
familia Windows, problema que consiste en que 
al sustituirse versiones viejas de DLLs 
compartidas por versiones nuevas puede que 
aplicaciones que fueron diseñadas para ser 
ejecutadas usando las viejas dejen de funcionar 
si las nuevas no son 100% compatibles con las 
anteriores. 
En la plataforma .NET las versiones nuevas de las 
DLLs pueden coexistir con las viejas, de modo 
que las aplicaciones diseñadas para ejecutarse 
usando las viejas podrán seguir usándolas tras 
instalación de las nuevas.
El framework .net
EJECUCION MULTIPLATAFORMA 
El CLR actúa como una máquina virtual, 
encargándose de ejecutar las aplicaciones 
diseñadas para la plataforma .NET. Es decir, 
cualquier plataforma para la que exista una 
versión del CLR podrá ejecutar cualquier 
aplicación .NET. Microsoft ha desarrollado 
versiones del CLR para la mayoría de las 
versiones de Windows
INTEGRACION DE LENGUAJES 
Desde cualquier lenguaje para el que exista un 
compilador que genere código para la 
plataforma .NET es posible utilizar código 
generado para la misma usando cualquier otro 
lenguaje tal y como si de código escrito usando 
el primero se tratase. 
La integración de lenguajes esta que es posible 
escribir una clase en C# que herede de otra 
escrita en Visual Basic.NET que, a su vez, 
herede de otra escrita en C++ con extensiones 
gestionadas.
GESTION DE MEMORIA 
El CLR incluye un recolector de basura que evita 
que el programador tenga que tener en cuenta 
cuándo ha de destruir los objetos que dejen de 
serle útiles. 
Este recolector es una aplicación que se activa 
cuando se quiere crear algún objeto nuevo y se 
detecta que no queda memoria libre para 
hacerlo, caso en que el recolector recorre la 
memoria dinámica asociada a la aplicación, 
detecta qué objetos hay en ella que no puedan 
ser accedidos por el código de la aplicación, y 
los elimina para limpiar la memoria de "objetos 
basura" y permitir la creación de otros nuevos.
SEGURIDAD DE TIPOS 
El CLR facilita la detección de errores de 
programación difíciles de localizar 
comprobando que toda conversión de 
tipos que se realice durante la ejecución 
de una aplicación .NET se haga de modo 
que los tipos origen y destino sean 
compatibles.
AISLAMIENTO DE PROCESOS 
El CLR asegura que desde código perteneciente a 
un determinado proceso no se pueda acceder a 
código o datos pertenecientes a otro, lo que 
evita errores de programación muy frecuentes e 
impide que unos procesos puedan atacar a 
otros. 
Esto se consigue gracias al sistema de seguridad 
de tipos antes comentado, pues evita que se 
pueda convertir un objeto a un tipo de mayor 
tamaño que el suyo propio.
TRATAMIENTO DE EXCEPCIONES 
En el CLR todo los errores que se puedan 
producir durante la ejecución de una aplicación 
se propagan de igual manera: mediante 
excepciones. 
Esto es muy diferente a como se venía haciendo 
en los sistemas Windows hasta la aparición de 
la plataforma .NET, donde ciertos errores se 
transmitían mediante códigos de error en 
formato Win32, otros mediante HRESULTs y 
otros mediante excepciones.
SOPORTE MULTIHILO 
El CLR es capaz de trabajar con aplicaciones 
divididas en múltiples hilos de ejecución que 
pueden ir evolucionando por separado en 
paralelo o intercalándose, según el número de 
procesadores de la máquina sobre la que se 
ejecuten.
DISTRIBUCION TRANSPARENTE 
El CLR ofrece la infraestructura necesaria 
para crear objetos remotos y acceder a 
ellos de manera completamente 
transparente a su localización real, tal y 
como si se encontrasen en la máquina 
que los utiliza.
SEGURIDAD AVANZADA 
El CLR proporciona mecanismos para restringir la 
ejecución de ciertos códigos o los permisos 
asignados a los mismos según su procedencia 
o el usuario que los ejecute. 
Es decir, puede no darse el mismo nivel de 
confianza a código procedente de Internet que 
a código instalado localmente o procedente de 
una red local; puede no darse los mismos 
permisos a código procedente de un 
determinado fabricante que a código de otro; y 
puede no darse los mismos permisos a un 
mismo códigos según el usuario que lo esté 
ejecutando o según el rol que éste desempeñe.
INTEROPERABILIDAD CON CODIGO ANTIGUO 
El CLR incorpora los mecanismos 
necesarios para poder acceder desde 
código escrito para la plataforma .NET a 
código escrito previamente a la 
aparición de la misma y, por tanto, no 
preparado para ser ejecutando dentro de 
ella. Estos mecanismos permiten tanto el 
acceso a objetos COM como el acceso a 
funciones sueltas de DLLs preexistentes 
(como la API Win32)
El framework .net
MICROSOFT INTERMEDIATE LANGUAGE (MSIL) 
Todos los compiladores que generan código para 
la plataforma .NET no generan código máquina 
para CPUs x86 ni para ningún otro tipo de CPU 
concreta, sino que generan código escrito en el 
lenguaje intermedio conocido como Microsoft 
Intermediate Lenguage (MSIL) 
El CLR da a las aplicaciones las sensación de que 
se están ejecutando sobre una máquina virtual, 
y precisamente MSIL es el código máquina de 
esa máquina virtual.
JUST IN TIME COMPILER (JITTER) 
La principal ventaja del MSIL es que facilita la 
ejecución multiplataforma y la integración entre 
lenguajes al ser independiente de la CPU y 
proporcionar un formato común para el código 
máquina generado por todos los compiladores 
que generen código para .NET. 
Sin embargo, dado que las CPUs no pueden 
ejecutar directamente MSIL, antes de ejecutarlo 
habrá que convertirlo al código nativo de la 
CPU sobre la que se vaya a ejecutar. De esto se 
encarga un componente del CLR conocido 
como compilador JIT (Just-In-Time) o jitter que 
va convirtiendo dinámicamente el código MSIL 
a ejecutar en código nativo según sea
El framework .net
El framework .net

Más contenido relacionado

DOC
Organización de una aplicación proyectos
PPTX
Framework .NET 3.5 04 El common language runtime
DOC
Introducción a la programación visual
PPT
1 introduccion.net
PPT
1 introduccion.net
PPT
1 introduccion.net
PDF
Microsoft .NET Propuesta
PPTX
Organización de una aplicación proyectos
Framework .NET 3.5 04 El common language runtime
Introducción a la programación visual
1 introduccion.net
1 introduccion.net
1 introduccion.net
Microsoft .NET Propuesta

La actualidad más candente (14)

PPTX
Paola 1001 jt
PPTX
Descubrimiento de entorno
DOCX
michael ascanio
PPT
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
PDF
Curso.de.introducción.net.con.visual.basic.2010
DOCX
Republica bolivariana de venezuela 2
PDF
00463531f7b1b6cf3f000000
PPTX
Andre.paola9 blos blospot blogger
PPTX
Ug rloor
PPTX
UG-RLOOR
PPSX
Ug rloor
PPT
Net Framework
PDF
Resumen semana2
PPT
1 Plataforma .Net
Paola 1001 jt
Descubrimiento de entorno
michael ascanio
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Curso.de.introducción.net.con.visual.basic.2010
Republica bolivariana de venezuela 2
00463531f7b1b6cf3f000000
Andre.paola9 blos blospot blogger
Ug rloor
UG-RLOOR
Ug rloor
Net Framework
Resumen semana2
1 Plataforma .Net
Publicidad

Similar a El framework .net (20)

PPTX
PLATAFORMA. NET..pptx
PPTX
framework.net -Jennifer Suarez
PDF
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
PDF
Curso.de.introducción.net.con.visual.basic.2010
PDF
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
PPTX
Unidad 1
PDF
Curso.de.introducción.net.con.visual.basic.2010
PPTX
Conceptos de Plataforma.Net
PPTX
Presentación1
PDF
Plataforma net
PPTX
Plataforma .net
PPTX
PPTX
Introducción a net
PDF
Curso.de.introducción.net.con.visual.basic.2010
PDF
Curso.de.introducción.net.con.visual.basic.2010
PPT
Introduccion.net
PPTX
Programación
PPTX
.Net Framework Introduction
PPTX
Programacion .net
PLATAFORMA. NET..pptx
framework.net -Jennifer Suarez
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso.de.introducción.net.con.visual.basic.2010
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Unidad 1
Curso.de.introducción.net.con.visual.basic.2010
Conceptos de Plataforma.Net
Presentación1
Plataforma net
Plataforma .net
Introducción a net
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
Introduccion.net
Programación
.Net Framework Introduction
Programacion .net
Publicidad

El framework .net

  • 2. ¿QUE ES EL FRAMEWORK .NET? Microsoft .NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados.
  • 3. El framework .NET es una plataforma de Microsoft para el desarrollo de aplicaciones de ventanas (Windows) y en la nube. Esto incluye soporte para aplicaciones de escritorio, aplicaciones para dispositivos inteligentes, aplicaciones de servidores y bases de datos, aplicaciones y servicios web y aplicaciones en la nube desplegadas en Windows Azure.
  • 5. COMMON LANGUAGE RUNTIME (CLR) El Common Language Runtime (CLR) es el núcleo de la plataforma .NET. Es el motor encargado de gestionar la ejecución de las aplicaciones para ella desarrolladas y a las que ofrece numerosos servicios que simplifican su desarrollo y favorecen su fiabilidad y seguridad. Sus principales características son: • Modelo de programación consistente • Modelo de programación sencillo • Eliminación del «infierno de las DLL» • Ejecución multiplataforma • Integración de lenguajes • Gestion de memoria • Seguridad de tipos • Aislamiento de procesos • Tratamiento de Excepciones • Soporte multihilo • Distribución trasparente • Seguridad avanzada • Interoperabilidad con código antiguo
  • 6. MODELO DE PROGRAMACIÓN CONSISTENTE A todos los servicios y facilidades ofrecidos por el CLR se accede de la misma forma: a través de un modelo de programación orientado a objetos. Esto es una diferencia importante respecto al modo de acceso a los servicios ofrecidos por los algunos sistemas operativos actuales (por ejemplo, los de la familia Windows), en los que a algunos servicios se les accede a través de llamadas a funciones globales definidas en DLLs y a otros a través de objetos (objetos COM en el caso de la familia Windows)
  • 7. MODELO DE PROGRAMACIÓN SENCILLA Con el CLR desaparecen muchos elementos complejos incluidos en los sistemas operativos antiguos (registro de Windows, GUIDs, HRESULTS, IUnknown, etc.). El CLR no es que abstraiga al programador de estos conceptos, sino que son conceptos que no existen en la plataforma .NET
  • 8. ELIMINACION DEL «INFIERNO DE LAS DLL» En la plataforma .NET desaparece el problema conocido como "infierno de las DLLs" que se da en los sistemas operativos actuales de la familia Windows, problema que consiste en que al sustituirse versiones viejas de DLLs compartidas por versiones nuevas puede que aplicaciones que fueron diseñadas para ser ejecutadas usando las viejas dejen de funcionar si las nuevas no son 100% compatibles con las anteriores. En la plataforma .NET las versiones nuevas de las DLLs pueden coexistir con las viejas, de modo que las aplicaciones diseñadas para ejecutarse usando las viejas podrán seguir usándolas tras instalación de las nuevas.
  • 10. EJECUCION MULTIPLATAFORMA El CLR actúa como una máquina virtual, encargándose de ejecutar las aplicaciones diseñadas para la plataforma .NET. Es decir, cualquier plataforma para la que exista una versión del CLR podrá ejecutar cualquier aplicación .NET. Microsoft ha desarrollado versiones del CLR para la mayoría de las versiones de Windows
  • 11. INTEGRACION DE LENGUAJES Desde cualquier lenguaje para el que exista un compilador que genere código para la plataforma .NET es posible utilizar código generado para la misma usando cualquier otro lenguaje tal y como si de código escrito usando el primero se tratase. La integración de lenguajes esta que es posible escribir una clase en C# que herede de otra escrita en Visual Basic.NET que, a su vez, herede de otra escrita en C++ con extensiones gestionadas.
  • 12. GESTION DE MEMORIA El CLR incluye un recolector de basura que evita que el programador tenga que tener en cuenta cuándo ha de destruir los objetos que dejen de serle útiles. Este recolector es una aplicación que se activa cuando se quiere crear algún objeto nuevo y se detecta que no queda memoria libre para hacerlo, caso en que el recolector recorre la memoria dinámica asociada a la aplicación, detecta qué objetos hay en ella que no puedan ser accedidos por el código de la aplicación, y los elimina para limpiar la memoria de "objetos basura" y permitir la creación de otros nuevos.
  • 13. SEGURIDAD DE TIPOS El CLR facilita la detección de errores de programación difíciles de localizar comprobando que toda conversión de tipos que se realice durante la ejecución de una aplicación .NET se haga de modo que los tipos origen y destino sean compatibles.
  • 14. AISLAMIENTO DE PROCESOS El CLR asegura que desde código perteneciente a un determinado proceso no se pueda acceder a código o datos pertenecientes a otro, lo que evita errores de programación muy frecuentes e impide que unos procesos puedan atacar a otros. Esto se consigue gracias al sistema de seguridad de tipos antes comentado, pues evita que se pueda convertir un objeto a un tipo de mayor tamaño que el suyo propio.
  • 15. TRATAMIENTO DE EXCEPCIONES En el CLR todo los errores que se puedan producir durante la ejecución de una aplicación se propagan de igual manera: mediante excepciones. Esto es muy diferente a como se venía haciendo en los sistemas Windows hasta la aparición de la plataforma .NET, donde ciertos errores se transmitían mediante códigos de error en formato Win32, otros mediante HRESULTs y otros mediante excepciones.
  • 16. SOPORTE MULTIHILO El CLR es capaz de trabajar con aplicaciones divididas en múltiples hilos de ejecución que pueden ir evolucionando por separado en paralelo o intercalándose, según el número de procesadores de la máquina sobre la que se ejecuten.
  • 17. DISTRIBUCION TRANSPARENTE El CLR ofrece la infraestructura necesaria para crear objetos remotos y acceder a ellos de manera completamente transparente a su localización real, tal y como si se encontrasen en la máquina que los utiliza.
  • 18. SEGURIDAD AVANZADA El CLR proporciona mecanismos para restringir la ejecución de ciertos códigos o los permisos asignados a los mismos según su procedencia o el usuario que los ejecute. Es decir, puede no darse el mismo nivel de confianza a código procedente de Internet que a código instalado localmente o procedente de una red local; puede no darse los mismos permisos a código procedente de un determinado fabricante que a código de otro; y puede no darse los mismos permisos a un mismo códigos según el usuario que lo esté ejecutando o según el rol que éste desempeñe.
  • 19. INTEROPERABILIDAD CON CODIGO ANTIGUO El CLR incorpora los mecanismos necesarios para poder acceder desde código escrito para la plataforma .NET a código escrito previamente a la aparición de la misma y, por tanto, no preparado para ser ejecutando dentro de ella. Estos mecanismos permiten tanto el acceso a objetos COM como el acceso a funciones sueltas de DLLs preexistentes (como la API Win32)
  • 21. MICROSOFT INTERMEDIATE LANGUAGE (MSIL) Todos los compiladores que generan código para la plataforma .NET no generan código máquina para CPUs x86 ni para ningún otro tipo de CPU concreta, sino que generan código escrito en el lenguaje intermedio conocido como Microsoft Intermediate Lenguage (MSIL) El CLR da a las aplicaciones las sensación de que se están ejecutando sobre una máquina virtual, y precisamente MSIL es el código máquina de esa máquina virtual.
  • 22. JUST IN TIME COMPILER (JITTER) La principal ventaja del MSIL es que facilita la ejecución multiplataforma y la integración entre lenguajes al ser independiente de la CPU y proporcionar un formato común para el código máquina generado por todos los compiladores que generen código para .NET. Sin embargo, dado que las CPUs no pueden ejecutar directamente MSIL, antes de ejecutarlo habrá que convertirlo al código nativo de la CPU sobre la que se vaya a ejecutar. De esto se encarga un componente del CLR conocido como compilador JIT (Just-In-Time) o jitter que va convirtiendo dinámicamente el código MSIL a ejecutar en código nativo según sea