La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación de Aplicaciones Visuales II Introducción a la plataforma.NET.

Presentaciones similares


Presentación del tema: "Programación de Aplicaciones Visuales II Introducción a la plataforma.NET."— Transcripción de la presentación:

1 Programación de Aplicaciones Visuales II Introducción a la plataforma.NET.

2 Objetivo Presentar una introducción a la plataforma de desarrollo Microsoft.NET, describiendo sus características elementales de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables.

3 Temario Introducción a Microsoft.NET. Componentes Fundamentales. Funcionamiento Interno del CLR. Bibliotecas Principales. Ventajas de.NET. Herramientas de Desarrollo.NET.

4 Temario Introducción a Microsoft.NET. ¿Qué no es.NET?. ¿Qué no es.NET?. ¿Qué es.NET?. ¿Qué es.NET?. Características de.NET. Características de.NET.

5 ¿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.

6 ¿Qué es el framework.net? Plataforma de Desarrollo y ejecución de aplicaciones compuesta de: Entorno de Ejecución (Runtime) Entorno de Ejecución (Runtime) Bibliotecas de Funcionalidad (Class Library) Bibliotecas de Funcionalidad (Class Library) Lenguajes de Programación Lenguajes de Programación Compiladores Compiladores Herramientas de Desarrollo (IDE & Tools) Herramientas de Desarrollo (IDE & Tools) Basada en el paradigma de orientación a objetos. Basada en el paradigma de orientación a objetos. Permite el desarrollo de aplicaciones de nivel empresarial a gran escala Permite el desarrollo de aplicaciones de nivel empresarial a gran escala Se integra con tecnología COM. Se integra con tecnología COM.

7 Características de.NET Plataforma de ejecución intermedia. 100% Orientada a Objetos. Multilenguaje. Modelo de Programación único para todo tipo de aplicaciones y dispositivos de hardware.

8 Plataforma de Ejecución Intermedia Entorno de Desarrollo Microsoft.NET Librerías de Funcionalidad Lenguajes de ProgramaciónEntorno de Ejecución Sistema Operativo (Familia Windows) Aplicación.NET

9 ¿Qué es el.NET Framework? Paquete de software fundamental de la plataforma.NET. Incluye: Entorno de Ejecución (Runtime). Entorno de Ejecución (Runtime). Bibliotecas de Funcionalidad (Class Library). Bibliotecas de Funcionalidad (Class Library). Se distribuye en forma libre y gratuita. Existen tres variantes principales:.NET Framework Redistributable Package..NET Framework Redistributable Package..NET Framework SDK..NET Framework SDK..NET Compact Framework..NET Compact Framework.

10 .NET Compact Framework * * Aplicación Móvil Aplicación de Consola Aplicación Web Aplicación de Escritorio ¿Dónde instalar el.NET Framework? ServidorCliente * Sólo si la aplicación es distribuída.

11 ¿Qué problemas soluciona.NET? Con Internet, la mayoría de aplicaciones y dispositivos tienen problemas comunicándose entre sí. Los programadores terminan por escribir infraestructura en lugar de aplicaciones (ej para enviar correo) Los programadores han tenido que limitar su alcance o aprender continuamente nuevos lenguajes para superar las limitaciones de los lenguajes

12 Versiones del framework Version 1.0 (año en 2002 para VS2002) Version 1.1 (liberada en 2003 para VS2003) Version 2.0 (liberada a fines 2006 para VS2005) Version 3.0 Version 3.5

13 Versiones del framework.NET Framework Redistributable Package Compuesto por: Compuesto por: CLR CLR BCL BCL.NET Framework SDK Herramientas desde línea de comandos tales como compiladores, depuradores ademas de CLR y BCL Herramientas desde línea de comandos tales como compiladores, depuradores ademas de CLR y BCL.NET Compact Framework Versión reducida para dispositivos móviles Versión reducida para dispositivos móviles

14 Temas a Tratar Introducción a Microsoft.NET. Componentes Fundamentales. Arquitectura. Arquitectura. Common Language Runtime (CLR). Common Language Runtime (CLR). Microsoft Intermediate Language. Microsoft Intermediate Language. Assemblies. Assemblies..NET Class Library..NET Class Library. Common Language Specification (CLS). Common Language Specification (CLS).

15 WindowsCOM+ Services Common Language Runtime Base Class Library ADO.NET y XML ASP.NETWindows Forms Common Language Specification VBC++C#J#… Arquitectura del.NET Framework.NET Framework Redistributable.NET Framework SDK.NET Framework Class Library

16 Common Language Specification (CLS) Especificación que estandariza una serie de características soportadas por el CLR. Contrato entre diseñadores de lenguajes de programación y autores de bibliotecas. Permite la interoperabilidad entre lenguajes. Microsoft provee implementaciones de 4 lenguajes, todos compatibles con CLS. Microsoft Visual Basic.NET Microsoft Visual Basic.NET Microsoft Visual C#.NET Microsoft Visual C#.NET Microsoft Visual J#.NET Microsoft Visual J#.NET Microsoft Visual C++.NET Microsoft Visual C++.NET

17 Common Language Specification (CLS) El resto de la industria y el sector académico han desarrollado más de 20 lenguajes compatibles con la especificación CLS. Cobol Eiffel Fortran Pascal Perl C++.NET C# Haskell JavaJavaScript Visual Basic.NET Mercury ML PHP Objective Caml OberonSmalltalkScheme J# RPG Mondrian APL DelphiPython LISPProlog

18 Temas a Tratar Introducción a Microsoft.NET. Componentes Fundamentales. Funcionamiento Interno del CLR. Modelo de Ejecución. Modelo de Ejecución. Common Type System. Common Type System.

19 CLR – Common Language Runtime El CLR es el motor de ejecución (runtime) de.NET. Características. Compilación Just-In-Time (JIT). Compilación Just-In-Time (JIT). Gestión automática de memoria (Garbage Collector). Gestión automática de memoria (Garbage Collector). Gestión de errores consistente (Excepciones). Gestión de errores consistente (Excepciones). Ejecución basada en componentes (Assemblies). Ejecución basada en componentes (Assemblies). Gestión de Seguridad. Gestión de Seguridad. Multithreading. Multithreading.

20 CLR – Componentes Internos

21 ¿Qué es un Assembly? Un Assembly es la unidad mínima de ejecución, distribución, instalación y versionado de aplicaciones.NET, Metadata Código Compilado MSIL Recursos MiBiblioteca.DLL Descripción de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Métodos de las Clases NombreVersiónCultura Manifiesto del Assembly Otros Assemblies Permisos de Seguridad Tipos Externos

22 Assemblies - Aplicaciones.NET Uno o más Assemblies. Al ejecutar una aplicación, ¿cómo ubico los assemblies necesarios? El Class Loader busca en el directorio local (preferido). El Class Loader busca en el directorio local (preferido). Global Assembly Cache (GAC). Global Assembly Cache (GAC). Diferentes aplicaciones pueden usar diferentes versiones Actualizaciones más simples. Actualizaciones más simples. Desinstalación más simple. Desinstalación más simple.

23 .NET Framework Class Library Conjunto de Tipos básicos (clases, interfaces, etc.) que vienen incluídos en el.NET Framework. Los tipos están organizados en jerarquías lógicas de nombres, denominados NAMESPACES. Los tipos son INDEPENDIENTES del lenguaje de desarrollo. Es extensible y totalmente orientada a objetos.

24 .NET Framework Class Library El namespace raíz es SYSTEM System System.DataSystem.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SqlClient Odbc XPath XSLT Runtime InteropServices Remoting Serialization Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel

25 CLS - Elección del lenguaje.NET posee un único runtime (el CLR) y un único conjunto de bibliotecas para todos los lenguajes. No hay diferencias notorias de performance entre los lenguajes provistos por Microsoft. El lenguaje a utilizar, en gral., dependerá de la experiencia previa con otros lenguajes o de gustos personales. Los tipos de aplicaciones.NET son INDEPENDIENTES del lenguaje que elija.

26 Temas a Tratar Introducción a Microsoft.NET. Componentes Fundamentales. Funcionamiento Interno del CLR. Modelo de Ejecución. Modelo de Ejecución. Common Type System. Common Type System.

27 Código nativo Compilador JIT Código MSIL (Assembly).EXE/.DLL Compilador.NET Código Fuente Código MSIL – Ejecución de una aplicación en.NET

28 VB.NET CódigoFuente CompiladorVB.NET C++.NETC# Assembly Código MSIL Sistema Operativo (Windows) Common Language Runtime Compilador JIT Código Nativo CódigoManejado Componente No Manejado Modelo de Ejecución del CLR CompiladorC#Compilador C++.NET Assembly Código MSIL Assembly

29 CTS (Common Type System) Define un conjunto común de tipos de datos orientados a objetos. Todo lenguaje de programación.NET debe implementar los tipos definidos por el CTS. Todo tipo hereda directa o indirectamente del tipo System.Object. Define Tipos de VALOR y de REFERENCIA. Todo tipo hereda directa o indirectamente del tipo System.Object. Define Tipos de VALOR y de REFERENCIA.

30 La Memoria y los Tipos de Datos El CLR administra dos segmentos de memoria: Stack (Pila) y Heap (Montón). El Stack es liberado automáticamente y el Heap es administrado por el GC (Garbage Collector). Los tipos VALOR se almacenan en el Stack. Los tipos REFERENCIA se almacenan en el Heap. Los tipos VALOR se almacenan en el Stack. Los tipos REFERENCIA se almacenan en el Heap.

31 Temas a Tratar Introducción a Microsoft.NET. Componentes Fundamentales. Funcionamiento Interno del CLR. Bibliotecas Principales. Base Class Library (BCL). Base Class Library (BCL). ADO.NET. ADO.NET. Windows Forms. Windows Forms. ASP.NET. ASP.NET.

32 Base Class Library System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security InteropServices Remoting Serialization

33 Acceso a Datos: ADO.NET System.Data OleDb SqlClient OracleClient Common Odbc SqlTypes System.Xml Serialization XPath XSLT Schema

34 Windows Forms System.Drawing Drawing2D Imaging Printing Text System.WinForms DesignComponentModel

35 Aplicaciones Web: ASP.NET System.Web Caching Configuration ServicesUI SessionState HtmlControls WebControls Description Discovery Security Protocols

36 Temas a Tratar Introducción a Microsoft.NET. Componentes Fundamentales. Funcionamiento Interno del CLR. Bibliotecas Principales. Ventajas de.NET.

37 Ventajas de.NET 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.

38 Unificando los Modelos Windows API.NET Framework API consistente mas allá del lenguaje o del modelo de programación ASP Basado en Servidor, UI Embebido en el código MFC/ATL (C++) OOP,Potencia, Acceso a bajo nivel Visual Basic Desarrollo Rapido, Componentes, Event Driven

39 Desarrollo Simplificado Alto nivel de abstracción. No mas accesos COM a bajo nivel. No mas accesos COM a bajo nivel. Orientado a Objetos desde el Núcleo. Orientado a Objetos desde el Núcleo. Sistema de tipos unificado (CTS). Todo es un objeto, no mas variants. Todo es un objeto, no mas variants. Componentes de Software. Propiedades, métodos, eventos, y atributos incluidos en la construcción de clases. Propiedades, métodos, eventos, y atributos incluidos en la construcción de clases. API organizada en forma Jerárquica.

40 Entorno de Ejecución Robusto y Seguro Gestión automática de la memoria. Todos los objetos son administrados por el Garbage Collector. Todos los objetos son administrados por el Garbage Collector. Manejo de Excepciones. Fuertemente tipado. Solo casteos seguros. Solo casteos seguros. Inicialización de variables obligatoria. Inicialización de variables obligatoria. Instalación con Cero Impacto. No requiere registración en la Registry. No requiere registración en la Registry.

41 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. 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. 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. Debuggers, profilers, analizadores de código, y otras trabajan para todos los lenguajes.

42 Instalación y Administración más simples Unidades de Ensamblado (Assemblies). Mínima unidad de distribución, versionado y administración de seguridad de aplicaciones.NET. Mínima unidad de distribución, versionado y administración de seguridad de aplicaciones.NET. Auto-descriptas a través de un manifiesto (manifest). Auto-descriptas a través de un manifiesto (manifest). Instalaciones Cero-impacto. Aplicaciones y componentes pueden ser compartidas o privadas. Aplicaciones y componentes pueden ser compartidas o privadas.Versioning. Múltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso. Múltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso.

43 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. A diferencia de COM, usamos y extendemos las clases en si mismas, no un wrapper. Herencia entre distintos lenguajes.

44 Interoperabilidad.NET Framework Servicios Web XML C# C++VB Otros....NET COM COM INTEROP

45 Temas a Tratar Introducción a Microsoft.NET. Componentes fundamentales. Funcionamiento interno. Bibliotecas Principales. Ventajas de.NET. Herramientas de Desarrollo.NET.

46 Visual Studio 2005


Descargar ppt "Programación de Aplicaciones Visuales II Introducción a la plataforma.NET."

Presentaciones similares


Anuncios Google