Professional Documents
Culture Documents
Objetivo
Presentar una introduccin a la plataforma de desarrollo Microsoft .NET, describiendo sus principios bsicos de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables, mostrando adems las novedades introducidas en la ltima versin de la misma.
Prerrequisitos
Poseer los conocimientos proporcionados por la Estrella 0 del programa Haber aprobado el examen correspondiente a la Estrella 0 del programa Conocimientos fundamentales de bases de datos relacionales, incluyendo
Temas a Tratar
Introduccin a Microsoft .NET Componentes Fundamentales Funcionamiento Interno del CLR Bibliotecas Principales Ventajas de .NET Herramientas de Desarrollo .NET Novedades en .NET 2.0
Temas a Tratar
Introduccin a Microsoft .NET
Paradigmas de Programacin
Funcionalidad
Windows 3.0
MFC
Win16
1980 1990
COM Win32
2000
Qu NO es .NET?
.NET no es un Sistema Operativo
.NET no es un Lenguaje de Programacin .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 Ejecucin (Runtime) Bibliotecas de Funcionalidad (Class Library) Lenguajes de Programacin Compiladores Herramientas de Desarrollo (IDE & Tools) Guas de Arquitectura
Aplicacin .NET
Microsoft .NET
Lenguajes de Programacin
Libreras de Funcionalidad
Entorno de Ejecucin
Entorno de Desarrollo
COM: Windows .NET: Common Language Runtime COM: Algunas (ADO, FSO, etc.) .NET: Muy extensa (.NET Framework Class Library) COM: VB, C++, VFP, ASP, J++ .NET: Common Language Specification COM: Uno para cada lenguaje .NET: Uno independiente del lenguaje (VS.NET)
Libreras de Funcionalidad
Lenguajes de Programacin
Qu es el .NET Framework?
Paquete de software fundamental de la plataforma .NET. Incluye:
.NET Framework Redistributable Package .NET Framework SDK .NET Compact Framework
Servidor
2000
2001
2002
2003
2004
2005
2006 y ms
Visual Studio .NET 2002 .NET Framework 1.0 Visual Basic .NET C#
Visual Studio 2005 (Whidbey) .NET Framework 2.0 (Whidbey) .NET Compact Framework 2.0 (Whidbey)
Temas a Tratar
Introduccin a Microsoft .NET Componentes Fundamentales
Arquitectura Common Language Runtime (CLR) Microsoft Intermediate Language Assemblies .NET Class Library Common Language Specification (CLS)
VB
C++
C#
J#
ASP.NET
.NET Framework Redistributable
Windows Forms
Compilacin Just-In-Time (JIT) Gestin automtica de memoria (Garbage Collector) Gestin de errores consistente (Excepciones) Ejecucin basada en componentes (Assemblies) Gestin de Seguridad Multithreading
Cdigo Fuente
Assembly (MSIL)
Compilador
Cualquier lenguaje .NET Biblioteca o Ejecutable
CLR - MSIL
.method private hidebysig static void Main(string[] args) cil managed { .entrypoint maxstack 8 L_0000: ldstr "Hola Mundo" L_0005: call void [mscorlib]System.Console::WriteLine(string) L_000a: ret }
Qu es un Assembly?
Un Assembly es la unidad mnima de ejecucin, distribucin, instalacin y versionado de aplicaciones .NET
Descripcin de Tipos MiBiblioteca.DLL Metadata Recursos Cdigo Compilado MSIL
Clases Clases Base Interfaces Implementadas Atributos de las Clases Mtodos de las Clases
System.Windows.Forms
Design ComponentModel
System.Drawing
Drawing2D Imaging Printing Text
System.Data
OleDb Common Odbc SqlClient
System.Xml
XSLT XPath Serialization
System
Collections
Configuration Diagnostics Globalization
IO
Net Reflection Resources
Security
ServiceProcess Text Threading
Runtime InteropServices
Remoting Serialization
Microsoft Visual Basic .NET Microsoft Visual C# .NET Microsoft Visual J#.NET Microsoft Visual C++.NET
C++.NET Delphi
Visual Basic.NET
PHP Perl
C# Prolog
Eiffel
J#
JavaScript
Java
Python
Pascal
Cobol
Haskell
Fortran
LISP
APL
RPG
ML Scheme Mercury
Objective Caml
Si conoce Java, Delphi, C++, etc. C# Si conoce Visual Basic o VBScript VB.NET
Los tipos de aplicaciones .NET son INDEPENDIENTES del lenguaje que elija
Temas a Tratar
Introduccin a Microsoft .NET Componentes Fundamentales Funcionamiento Interno del CLR
Sub-Especificaciones de CLI
Lenguajes de Alto Nivel
se ajustan a las reglas de la
Sistema Operativo
Instalacin
Assembly en la mquina destino
Policy
<?xml version="1.0" encoding="utf-8" ?> <configuration> <mscorlib> <security> <policy> <PolicyLevel version="1"> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Nothing" Name="All_Code" Description="Code group grants no permissio ns and forms the root of the code group tree."> <IMembershipCondition clas s="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"
Ejecucin
Compilador JIT
Class Loader
Seguridad
Assembly Loader
Garbage Collector
Code Manager
Debug Engine
COM Interop
Application Domains
Procesos virtuales dentro del CLR
Se ejecutan dentro de un proceso del Sistema Operativo Un proceso del sistema operativo puede contener varios AppDomains Ms eficiente que mltiples procesos del sistema operativo Ms eficiente en el intercambio de contexto de ejecucin
Un Assembly y sus tipos son siempre cargados dentro de un AppDomain Provee una frontera para: Fallos, Tipos, Seguridad