You are on page 1of 14

IS-UPNC / CSharp de Cero

Sesin 01

(1) Introduccin a Microsoft .NET

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Objetivo

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

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.

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Paradigmas de Programacin
Funcionalidad

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

Windows 3.0

MFC Win16
1980 1990

COM Win32
2000 2009

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Qu es .NET?

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

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

La evolucin de la plataforma COM

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Caractersticas de .NET
1. 2. 3. 4. 5.

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

Plataforma de ejecucin intermedia 100% Orientada a Objetos Multilenguaje Plataforma Empresarial de Misin Crtica Modelo de Programacin nico para todo tipo de aplicaciones y dispositivos de hardware 6. Se integra fcilmente con aplicaciones existentes desarrolladas en plataformas Microsoft 7. Se integra fcilmente con aplicaciones desarrolladas en otras plataformas
CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Plataforma de Ejecucin Intermedia


Aplicacin .NET
Microsoft .NET

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

Lenguajes de Programacin Libreras de Funcionalidad Entorno de Ejecucin Entorno de Desarrollo

Sistema Operativo (Familia Windows)

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero

Qu es el .NET Framework?
Paquete de software fundamental de la plataforma .NET. Incluye:
Entorno de Ejecucin (Runtime) Bibliotecas de Funcionalidad (Class Library) Se distribuye en forma libre y gratuita

Existen tres variantes principales:


.NET Framework Redistributable Package .NET Framework SDK .NET Compact Framework

Est instalado por defecto en Windows 2003 Server o superior


CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Dnde instalar el .NET Framework?


Cliente
Aplicacin de Escritorio Aplicacin Web Aplicacin de Consola Aplicacin Mvil

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

Servidor

.NET Compact Framework

* Slo si la aplicacin es distribuda


CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

Evolucin de .NET
Visual Studio 6.0 Visual Basic VBA Visual FoxPro VBScript C++ J++ JScript ASP

Visual Studio .NET 2003 .NET Framework 1.1 .NET Compact Framework J#

Visual Studio 2008 (Orcas) .NET Framework 3.5 (Orcas) .NET Compact Framework 3.5(Orcas)

2000

2001

2002

2003

2004

2005

2006

2008

2010

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)

Visual Studio 2010 .NET Framework 4.0 .NET Compact Framework 4.0
CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Releases y tecnologas
.NET se lleva a los dispositivos Rendimiento Caracteristicas Herramientas

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

Aplicaciones distribuidas Aplicaciones de datos

2002
1.0

2003
1.0 SP1 1.0 SP2

2004
1.0 SP3

2005
2.0

2006
XNA 2.0 SP1

2007
2.0 SP2 3.5

2010
4.0

Smartphone

Landscape Autoscroll

Performance Generics COM Interop Direct3D

Windows CE 4.2 Remote Performance Monitor

Entity Framework Windows Communication Foundation Language Integrated Query CLR Profiler
CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Arquitectura del .NET Framework


VB
.NET Framework SDK

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

C++

C#

J#

Common Language Specification


Class Library .NET Framework

ASP.NET
.NET Framework Redistributable

Windows Forms

ADO.NET y XML Base Class Library Common Language Runtime Windows COM+ Services

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

The .NET Framework


WPF Win Forms ASP.NET DLR WCF LINQ And more!

Base Class Libraries

The CLR
JIT & NGEN Garbage Collector Security Model Exception Handling Loader & Binder

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

.NET Dynamic Programming


IronPython IronRuby C# VB.NET

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

Others

Dynamic Language Runtime


Expression Trees
Python Binder Ruby Binder

Dynamic Dispatch
Object Binder

Call Site Caching


JScript Binder COM Binder

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero

CLR Common Language Runtime


El CLR es el motor de ejecucin (runtime) de .NET, Caractersticas
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

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

Modelo de Ejecucin del CLR


Cdigo Fuente
VB.NET
Compilador VB.NET

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

C#
Compilador C#
Assembly Cdigo MSIL

C++.NET
Compilador C++ .NET
Assembly Cdigo MSIL

Componente No Manejado

Cdigo Manejado

Assembly Cdigo MSIL

Common Language Runtime


Compilador JIT
Cdigo Nativo

Sistema Operativo (Windows)


CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

CLR Proceso de Compilacin

IS-UPNC / CSharp de Cero IS-UPNC / MOANSO

Cdigo Fuente

Assembly (MSIL)

Compilador
Cualquier lenguaje .NET Biblioteca o Ejecutable

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero

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

Manifiesto del Assembly


Nombre Versin Cultura
Otros Assemblies Permisos de Seguridad Tipos Externos

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero

.NET Framework Class Library


Conjunto de Tipos bsicos (clases, interfaces, etc.) que vienen includos en el .NET Framework Los tipos estn organizados en jerarquas lgicas de nombres, denominados NAMESPACES Los tipos son INDEPENDIENTES del lenguaje de desarrollo Es extensible y totalmente orientada a objetos
CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero

El namespace raz es SYSTEM


System.Web
Services Description Discovery Protocols Caching Configuration Security SessionState UI HtmlControls WebControls

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 IO Net Security ServiceProcess Runtime InteropServices Remoting Serialization

Diagnostics
Globalization

Reflection
Resources

Text
Threading

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero

Base Class Library


System
Collections Configuration Diagnostics Globalization IO Net Reflection Resources Security ServiceProcess Text Threading InteropServices Remoting

Serialization

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

10

IS-UPNC / CSharp de Cero

Common Language Specification (CLS)


Especificacin que estandariza una serie de caractersticas soportadas por el CLR Contrato entre diseadores de lenguajes de programacin y autores de bibliotecas Permite la interoperabilidad entre lenguajes Microsoft provee implementaciones de 4 lenguajes, todos compatibles con CLS
Microsoft Microsoft Microsoft Microsoft Visual Visual Visual Visual Basic .NET C# .NET J#.NET C++.NET
2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

CSharp Ing. Sistemas UPN Cajamarca

IS-UPNC / CSharp de Cero

Common Language Specification (CLS)


El resto de la industria y el sector acadmico han desarrollado ms de 20 lenguajes compatibles con la especificacin CLS

C++.NET Delphi Pascal Cobol

Visual Basic.NET PHP LISP Smalltalk APL Perl Haskell

C# Prolog Eiffel

J# JavaScript RPG ML Scheme Mercury

Java

Python

Oberon Mondrian Fortran

Objective Caml

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

11

IS-UPNC / CSharp de Cero

CLS - Eleccin 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 su experiencia previa con otros lenguajes o de gustos personales
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
CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero

CTS (Common Type System)


Define un conjunto comn de tipos de datos orientados a objetos Todo lenguaje de programacin .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
CSharp Ing. Sistemas UPN Cajamarca 2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

12

IS-UPNC / CSharp de Cero

La Memoria y los Tipos de Datos


El CLR administra dos segmentos de memoria: Stack (Pila) y Heap (Montn) El Stack es liberado automticamente 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

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

IS-UPNC / CSharp de Cero

Preguntas?

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

13

IS-UPNC / CSharp de Cero

Muchas gracias

CSharp Ing. Sistemas UPN Cajamarca

2012-1 Ing. Samuel Mestanza Alcntara sma@upnorte.edu.pe

14

You might also like