Sei sulla pagina 1di 28

POO3501

PROGRAMACIÓN ORIENTADA A OBJETOS II (.NET)

Experiencia de aprendizaje 1
.NET Visual Studio
Unidad de Aprendizaje N°1
Introducción al Framework .NET y Lenguaje C#

Aprendizaje esperado
Reconocer la estructura de un programa escrito en
.NET, para el desarrollo de aplicaciones
Paradigmas de Programación
Funcionalidad

Windows
3.0

COM
Win16 Win32 MFC

1980 1990 2000 2010 Hoy


Definiendo .NET

Una buena forma de introducirse a .NET es


aclarando que NO es .NET
Qué NO ES .Net?

• .NET no es un Sistema Operativo


• .NET no es un Lenguaje de Programación
• .NET no es un Entorno de Desarrollo
• .NET no es un Servidor de Aplicaciones
• .NET no es un producto empaquetado que se
pueda comprar como tal
Qué ES .Net?
• Plataforma de Desarrollo compuesta de
– Entorno de Ejecución (Runtime)
– Bibliotecas de Funcionalidad (Class Library)
– Lenguajes de Programación
– Compiladores
– Herramientas de Desarrollo (IDE & Tools)
– Guías de Arquitectura
• La evolución de la plataforma COM
Características de .Net
• Plataforma de ejecución intermedia
• 100% Orientada a Objetos
• Multilenguaje
• Plataforma Empresarial de Misión Crítica
• Modelo de Programación único para todo tipo de
aplicaciones y dispositivos de hardware
• Se integra fácilmente con aplicaciones existentes
desarrolladas en plataformas Microsoft
• Se integra fácilmente con aplicaciones desarrolladas
en otras plataformas
¿Qué es FRAMEWORK?

Herramientas Clientes
de Desarrollo

Aplicaciones
Bases de Datos Web ASP.NET

Servicios Aplicaciones
.NET Web XML de Usuario
Framework
Línea de tiempo del .Net Framework
Visual Studio
6.0 .NET Framework 3.0
Visual Basic .NET Compact Framework
VBA 3.0
Visual FoxPro WCF-WPF-WF (WWF)
VBScript Visual Studio 2013
C++ Visual Studio .NET .NET Framework 4.5.1
J++ 2003
JScript .NET Framework 1.1 Visual Studio 2010
ASP .NET Compact .NET Framework 4
Framework
J#

2000 2002 2003 2005 2006 2008 2010 2012 2013

Visual Studio .NET 2002


.NET Framework 1.0 Visual Studio 2005 Visual Studio 2008 Visual Studio 2012
Visual Basic .NET .NET Framework 2.0 .NET Framework 3.5 .NET Framework 4.5
C# .NET Compact Framework .NET Compact Framework
2.0 3.5
¿Qué es el .NET Framework?
• Paquete de software fundamental de la plataforma
.NET. Incluye:
– Entorno de Ejecución (Runtime)
– Bibliotecas de Funcionalidad (Class Library)

• Se distribuye en forma libre y gratuita

• Necesario tanto para poder desarrollar aplicaciones


como para poder ejecutarlas luego en entornos de
prueba o producción.
¿Qué es el .NET Framework?

• Existen tres variantes principales:

– .NET Framework Redistributable Package


– .NET Framework SDK
– .NET Compact Framework

• Está instalado por defecto en Windows 2003 Server o


superior.
.NET Framework Redistributable Package

• Mínimo componente de la plataforma .NET que se


necesita para ejecutar aplicaciones.
• Normalmente es la variante que se instala en los
entornos productivos, una vez que el desarrollo y las
pruebas de la aplicación han finalizado.
• Compuesto por:
– El entorno de ejecución de la plataforma .NET
– Las bibliotecas de funcionalidad reutilizable
.NET Framework SDK
• Contiene herramientas de desarrollo de línea de
comandos (compiladores, depuradores, etc.),
documentación de referencia, ejemplos y manuales
para desarrolladores de aplicaciones.
• Normalmente se instala en los entornos de
desarrollo de aplicaciones, y es más útil a los
programadores que a los usuarios finales.
• Para poder instalar la versión SDK (Software
Development Kit) es necesario instalar previamente
el Redistributable Package.
.NET Compact Framework

Versión reducida del .NET Framework


Redistributable

Especialmente pensada para ser instalada en


dispositivos móviles como Pocket PC’s y
SmartPhones.
¿Dónde instalar el .NET Framework?

Cliente Servidor
Aplicación de
Escritorio  *
Aplicación de
Consola  *
Aplicación web 
Aplicación
.NET Compact Framework
Móvil

* Sólo si la aplicación es distribuida


Plataforma de Ejecución Intermedia

Aplicación final .NET (usuarios)


Microsoft .NET

Lenguajes de Programación
Entorno de
Bibliotecas de Funcionalidad Desarrollo

Entorno de Ejecución

Sistema Operativo (Familia Windows)


Plataforma de Ejecución Intermedia
Arquitectura del .NET Framework
VB C++ C# J# …
.NET Framework SDK

Common Language Specification

.NET Framework
ASP.NET Windows Forms

Class Library
.NET Framework
Redistributable

ADO.NET y XML
Base Class Library
Common Language Runtime

S.O. Windows COM+ Services


Componentes de CLR
.NET Framework Class Library Support

Thread Support COM Marshaler

Type Checker Exception Manager

Security Engine Debug Engine

MSIL to Native Code Garbage


Compilers Manager Collector

Class Loader
CLR – Common Language Runtime

• El CLR es el motor de ejecución (runtime) de .NET

• Características
– Compilación Just-In-Time (JIT)
– Gestión automática de memoria (Garbage Collector)
– Gestión de errores consistente (Excepciones)
– Ejecución basada en componentes (Assemblies)
– Gestión de Seguridad
– Multithreading
CLR – Proceso de Compilación

Código Assembly
Fuente (MSIL)
Compilador

Cualquier lenguaje Biblioteca (dll)


.NET o
(de alto nivel) Ejecutable (.exe)
¿Qué es un “Assembly”?

Descripción de Tipos
Clases
MiBiblioteca.DLL Clases Base
Interfaces Implementadas
Metadata Atributos de las Clases
Métodos de las Clases
Recursos
Manifiesto del Assembly
Nombre
Código Compilado Versión
MSIL Cultura
Otros Assemblies
Permisos de Seguridad
Tipos Externos
Modelo de Ejecución del CLR
Código
VB.NET C# C++.NET
Fuente
Compilador Compilador Compilador Componente
VB.NET C# C++ .NET No Manejado

Código Assembly Assembly Assembly


Manejado Código MSIL Código MSIL Código MSIL

Common Language Runtime

Compilador JIT

Código Nativo

Sistema Operativo (Windows)


Ejemplo: Compilación JIT
Tres clases X, Y, Z. El método 1 de Y ha sido compilado y este
llama al método 1 de Z que esta en MSIL.
El método 1 de Y llama al método 4 dentro de Y. Como el método
4 esta en MSIL, el CLR invoca al JIT para compilarlo a código
nativo.
Ahora método 1 de Y llama NUEVAMENTE al método 1 de Z.
Como el método 1 de Z ya ha sido compilado a código nativo, el
JIT NO interviene.
.NET Framework Class Library
System.Web System.Windows.Forms
Services UI Design ComponentModel
Description HtmlControls
Discovery WebControls
Protocols System.Drawing
Caching Security Drawing2D Printing
Configuration SessionState Imaging Text

System.Data System.Xml
OleDb Odbc XSLT Serialization
Common SqlClient XPath

System
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices

Diagnostics Reflection Text Remoting

Globalization Resources Threading Serialization


Common Language Specification (CLS)

Microsoft provee la
implementación de 4 lenguajes,
todos compatibles con CLS
C++.NET Visual Basic.NET C# J#
El resto de la industria y el sector académico han desarrollado
más de 20 lenguajes compatibles con la especificación CLS.
Delphi Java PHP Perl Python JavaScript
Pascal Haskell LISP Prolog RPG
Oberon Mondrian Smalltalk Eiffel ML Scheme
Cobol Fortran APL Objective Caml Mercury
Ejemplo
Revisar .EXE de aplicaciones escritas en diferente
lenguajes por medio de ILDASM

Potrebbero piacerti anche