Date post: | 09-Jan-2015 |
Category: |
Documents |
Upload: | gael-valentin |
View: | 8 times |
Download: | 2 times |
Programación IProgramación IProgramación IProgramación I
Introducir a la plataforma de desarrollo Microsoft .NETDescribir sus características elementales de funcionamiento,Describir su arquitectura de componentes y sus principales bibliotecas reutilizables
Introducción a Microsoft .NET.Componentes Fundamentales.Funcionamiento Interno del CLR.Bibliotecas Principales.Ventajas de .NET.Herramientas de Desarrollo .NET.
Introducción a Microsoft .NET.◦ ¿Qué no es .NET?.◦ ¿Qué es .NET?.◦ Características de .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.
Plataforma de Desarrollo y ejecución de aplicaciones compuesta de:
◦ Entorno de Ejecución (Runtime)◦ Bibliotecas de Funcionalidad (Class Library)◦ Lenguajes de Programación◦ Compiladores◦ Herramientas de Desarrollo (IDE & Tools)◦ Basada en el paradigma de orientación a
objetos.◦ Permite el desarrollo de aplicaciones de nivel
empresarial a gran escala
Plataforma de ejecución intermedia. 100% Orientada a Objetos. Multilenguaje. 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
Entorno de
Desarrollo
Mic
rosoft
.N
ET
Librerías de Funcionalidad
Lenguajes de Programación
Entorno de Ejecución
Sistema Operativo (Familia Windows)
Aplicación .NET
Paquete de software fundamental de la plataforma .NET. Incluye:◦ Entorno de Ejecución (Runtime).
◦ Bibliotecas de Funcionalidad (Class Library).
Existen tres variantes principales:◦ .NET Framework Redistributable Package
◦ .NET Framework SDK
◦ .NET Compact Framework.
.NET Framework Redistributable Package◦ Compuesto por:
CLR BCL
.NET Framework SDK◦ 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
.NET Compact Framework
*
*
AplicaciónMóvil
Aplicación de Consola
Aplicación Web
Aplicación de Escritorio
ServidorCliente
* Sólo si la aplicación es distribuída.* Sólo si la aplicación es distribuída.
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
Los programadores han tenido que limitar su alcance o aprender continuamente nuevos lenguajes para superar las limitaciones de los lenguajes
Versión 1.0 (año en 2002 para VS2002) Versión 1.1 (liberada en 2003 para VS2003) Versión 2.0 (liberada en 2006 para VS2005) Versión 3.0 (liberada en 2007 para WinVista) Versión 3.5 (liberada en 2008) Versión 4.0 (liberada en 2010 para VS 2010) Versión 4.5 (liberada en 2012 para VS 2012)
Introducción a Microsoft .NET. Componentes Fundamentales.
◦ Arquitectura.◦ Common Language Runtime (CLR).◦ Microsoft Intermediate Language.◦ Assemblies.◦ .NET Class Library.◦ Common Language Specification (CLS).
Windows COM+ Services
Common Language Runtime
Base Class Library
ADO.NET y XML
ASP.NET Windows Forms
Common Language Specification
VB C++ C# J# …
.NE
T F
ram
ewor
k R
edis
trib
utab
le
.NE
T F
ram
ewo
rk S
DK
.NE
T F
ramew
ork
Class Library
Introducción a Microsoft .NET.Componentes Fundamentales.Funcionamiento Interno del CLR.◦ Modelo de Ejecución.◦ Common Type System.
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.
Class Loader
IL to NativeCompilers
CodeManager
GarbageCollector
Security Engine Debug Engine
Type Checker Exception Manager
Thread Support COM Marshaler
Base Class Library Support
Un Assembly es la unidad mínima de ejecución, distribución, instalación y versionado de aplicaciones .NET,
MetadataMetadata
Código CompiladoCódigo CompiladoMSILMSIL
RecursosRecursos
MiBiblioteca.DLLMiBiblioteca.DLL
Descripción de TiposDescripción de Tipos
ClasesClasesClases BaseClases BaseInterfaces ImplementadasInterfaces ImplementadasAtributos de las ClasesAtributos de las ClasesMétodos de las ClasesMétodos de las Clases
NombreNombreVersiónVersiónCulturaCultura
Manifiesto del AssemblyManifiesto del Assembly
Otros AssembliesOtros AssembliesPermisos de SeguridadPermisos de SeguridadTipos ExternosTipos Externos
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.
System
System.Data System.Xml
System.Web
GlobalizationGlobalization
DiagnosticsDiagnostics
ConfigurationConfiguration
CollectionsCollections
ResourcesResources
ReflectionReflection
NetNet
IOIO
ThreadingThreading
TextText
ServiceProcessServiceProcess
SecuritySecurity
CommonCommon
OleDbOleDb
SqlClientSqlClient
OdbcOdbc
XPathXPath
XSLTXSLT
RuntimeRuntime
InteropServicesInteropServices
RemotingRemoting
SerializationSerialization
SerializationSerialization
ConfigurationConfiguration SessionStateSessionState
CachingCaching SecuritySecurity
ServicesServices
DescriptionDescription
DiscoveryDiscovery
ProtocolsProtocols
UIUI
HtmlControlsHtmlControls
WebControlsWebControls
System.Drawing
ImagingImaging
Drawing2DDrawing2D
TextText
PrintingPrinting
System.Windows.FormsDesignDesign ComponentModelComponentModel
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 C# .NET◦ Microsoft Visual J#.NET◦ Microsoft Visual C++.NET
.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.
Introducción a Microsoft .NET.Componentes Fundamentales.Funcionamiento Interno del CLR.◦ Modelo de Ejecución.◦ Common Type System.
VB.NETVB.NETCódigoCódigoFuenteFuente
Compilador Compilador VB.NETVB.NET
C++.NETC++.NETC#C#
AssemblyAssemblyCódigo MSILCódigo MSIL
Sistema Operativo (Windows)Sistema Operativo (Windows)
Common Language RuntimeCommon Language Runtime
Compilador JITCompilador JIT
Código NativoCódigo Nativo
Código Código ManejadoManejado
ComponenteComponenteNo ManejadoNo Manejado
CompiladorCompiladorC#C#
CompiladorCompiladorC++ .NETC++ .NET
AssemblyAssemblyCódigo MSILCódigo MSIL
AssemblyAssemblyCódigo MSILCódigo MSIL
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 Todo tipo hereda directa o directa o indirectamente del indirectamente del tipo System.Object.tipo System.Object.
Define Tipos de Define Tipos de VALOR y de VALOR y de REFERENCIA.REFERENCIA.
Todo tipo hereda Todo tipo hereda directa o directa o indirectamente del indirectamente del tipo System.Object.tipo System.Object.
Define Tipos de Define Tipos de VALOR y de VALOR y de REFERENCIA.REFERENCIA.
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 tiposLos tipos VALOR VALOR se se almacenan en el almacenan en el Stack.Stack.
Los tipos Los tipos REFERENCIAREFERENCIA se se almacenan en el almacenan en el Heap.Heap.
Los tiposLos tipos VALOR VALOR se se almacenan en el almacenan en el Stack.Stack.
Los tipos Los tipos REFERENCIAREFERENCIA se se almacenan en el almacenan en el Heap.Heap.
Introducción a Microsoft .NET.Componentes Fundamentales.Funcionamiento Interno del CLR.Bibliotecas Principales.◦ Base Class Library (BCL).◦ ADO.NET.◦ Windows Forms.◦ ASP.NET.
System
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security InteropServices
Remoting
Serialization
System.Data
OleDb
SqlClient
OracleClient
Common
Odbc SqlTypes
System.Xml
Serialization
XPath
XSLT
Schema
System.Drawing
Drawing2D
Imaging
Printing
Text
System.WinForms
Design ComponentModel
System.Web
Caching
Configuration
Services UI
SessionState
HtmlControls
WebControls
Description
Discovery
Security
Protocols
Introducción a Microsoft .NET.Componentes Fundamentales.Funcionamiento Interno del CLR.Bibliotecas Principales.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.
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.
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.
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.
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.
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.
.NET Framework.NET FrameworkServicios Web XMLServicios Web XML
C#C#
C++C++ VBVB
Otros...Otros... .NET.NET
COMCOMCOM INTEROP
Introducción a Microsoft .NET.Componentes fundamentales.Funcionamiento interno.Bibliotecas Principales.Ventajas de .NET.Herramientas de Desarrollo .NET.