Vous êtes sur la page 1sur 36

Introduccin a .

NET
Dr. Diego Lz. de Ipia Gz. de Artaza
http://paginaspersonales.deusto.es/dip
ina

Introduccin
Microsoft.NET es el conjunto de nuevas tecnologas
en las que Microsoft ha estado trabajando durante los
ltimos aos con el objetivo de obtener una
plataforma sencilla y potente para distribuir el
software en forma de servicios que puedan ser
suministrados remotamente y que puedan
comunicarse y combinarse unos con otros de manera
totalmente independiente de la plataforma, lenguaje
de programacin y modelo de componentes con los
que hayan sido desarrollados.

Caractersticas de .NET I
Segn Microsoft .NET es una plataforma Microsoft para
Servicios Web XML.
Sin embargo es mucho ms:
.NET es una nueva plataforma para el desarrollo y explotacin de
aplicaciones gestionadas (managed) modernas y orientadas a
objetos
Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de
programacin que se ajusta a .NET
.NET soporta una extensa framework de libreras de clases
independientes del lenguaje de programacin
.NET soporta la creacin de componentes auto-describibles
.NET ofrece integracin multi-lenguaje, reutilizacin de componentes,
y herencia entre componentes desarrollados en diferentes lenguajes

Caractersticas de .NET II
.NET ofrece un nueva manera de desarrollar aplicaciones de
sobremesa usando las clases Windows Forms
.NET ofrece una nueva manera de desarrollar aplicaciones
basadas en navegador Web a travs de ASP.NET
Las clases ADO.NET proveen una arquitectura desconectada
para acceso a datos a travs de Internet
.NET soporta la creacin de Servicios Web XML independientes
de la plataforma, a travs de SOAP (Simple Object Access
Protocol) y WSDL (Web Services Description Language)
.NET ofrece una nueva arquitectura para el desarrollo y
explotacin de objetos remotos
.NET convierte a varias tecnologas y tcnicas Windows en
obsoletas

Componentes de .NET
Microsoft.NET est compuesto de:
Plataforma .NET
.NET Framework SDK
Visual Studio .NET
Servicios Web (Microsoft .NET
myServices)
Servidores para empresas(SQL
Server.NET...)

Plataforma .NET
El concepto en el que se basa .NET
no es nuevo.
Java y su entorno de ejecucin
(JVM) ya utilizan el concepto de
encapsulamiento del sistema
operativo para permitir la
interoperabilidad entre diferentes
sistemas operativos.

Plataforma .NET
ASP.NET
Windows Forms
Servicios Web
.NET Framework Base Classes

Common Language Runtime

Plataforma .NET
Componentes:
Common Language Runtime(CLR):
Entorno de ejecucin de la plataforma.
.NET Framework Base Classes o FCL
(Framework Class Library): Aaden
funcionalidad.
ASP.NET: Versin .Net de ASP. Incluye los
servicios Web.
Windows Forms

Common Language Runtime


Un Runtime no es ms que un
entorno en el que se ejecutan los
programas.
De esta forma, el CLR es el entorno
donde se ejecutarn las aplicaciones
.NET que han sido compiladas a un
lenguaje comn llamado Microsoft
Intermediate Language(MSIL).

Common Language Runtime


El proceso de compilacin produce un fichero ejecutable
en Windows al que se denomina portable executable (PE)
CLR slo ve IL, por lo que se puede reemplazar el
compilador JIT para usar un nuevo lenguaje
Cdigo fuente

C#, Visual Basic...

Compilador
Cdigo intermedio

MSIL(Microsoft
Intermediate Language)

CLR
Cdigo nativo

Intel 8086, Windows,


Solaris...

.NET y cdigo gestionado


Las aplicaciones que siguen el modelo de la figura
anterior son managed applications (aplicaciones
gestionadas)
En contrapartida, las aplicaciones Windows no
gestionadas se denominan unmanaged applications
Managed applications y unmanaged applications pueden
convivir

.NET y cdigo gestionado


Metadata describe los campos, propiedades,
firmas de mtodos y operaciones soportadas
De esta manera, los componentes en .NET son
auto-describibles y se permite la interaccin entre
componentes escritos en diferentes lenguajes.

Sistema Operativo

Plataforma .NET

Common Language Runtime


Caracterticas y servicios que ofrece:
Ejecucin multiplataforma
Integracin de lenguajes
Gestin de memoria(Recolector de
basura)
Tratamiento de excepciones
Soporte multi-hilo
Distribucin transparente
Interoperabilidad con cdigo antiguo

Common Language Runtime


El CLR se encarga de gestionar la
ejecucin de las aplicaciones .NET.
Al cdigo escrito para ejecutarse en
la plataforma .NET se le llama
cdigo gestionado.
Al cdigo no escrito para ejecutarse
directamente bajo la plataforma se
le llama cdigo no gestionado.

Clases de la plataforma .NET


La librera de clases (FCL) es una librera
formada por cientos de tipos que permiten
acceder a los servicios ofrecidos por el CLR
y a sus funcionalidades ms
frecuentemente usadas.
Adems el programador puede crear
nuevas clases que extiendan su
funcionalidad y se integren perfectamente
con el resto de las clases de la FCL.

Clases de la plataforma .NET


Esta librera de clases est escrita
en MSIL luego cualquier lenguaje
cuyo compilador genere MSIL
podr usarla.
Con esta librera podemos crear
todo tipo de aplicaciones:
aplicaciones de consola, de
ventanas, servicios Web, ASP.NET...

Clases de la plataforma .NET


Dada la amplitud de la FCL, ha sido
necesario organizar las clases en ella
incluida en espacios de nombres
que agrupen clases con
funcionalidades similares.
El espacio de nombres System es el
espacio raz del que cuelgan todos
los dems.

Clases de la plataforma .NET


Espacios de nombres ms usados:
System: Contiene tipos de datos muy usados,
datos bsicos, tablas, excepciones... Es el raz.
System.Object: Soporta toda la jerarqua de las
clases de .NET.
System.Collections: Colecciones de datos de
uso comn como pilas, colas, listas...
System.Data: Manipulacin de base de datos.
Forma la denominada arquitectura ADO.NET.

Clases de la plataforma .NET


System.IO: Manipulacin de ficheros.
System.Reflection: Acceso a los
metadatos que acompaan a los
mdulos de cdigo.
System.Math: Funciones logartmicas,
trigonomtricas...
System.XML: Acceso a datos en
formato XML.
Sytem.Web: Aplicaciones Web.

ASP.NET
ASP.NET es la versin para la
plataforma .NET de la tecnologa ASP
(Active Server Pages).
Dentro de esta capa podemos
distinguir tres partes muy
diferenciadas:
Web Forms
Server Controls
Web Services

Windows Forms
Los Windows Forms son una forma avanzada
e integrada de crear aplicaciones de
escritorio Win32 estndar.
Los WinForms descienden de las Windows
Foundation Classes (WFC) de Microsoft.
Cualquier lenguaje de la plataforma .Net
puede utilizar WinForms.
De hecho, actualmente, las WinForms forman
parte de las clases de la plataforma .NET en
el espacio de nombres System.Windows.Forms.

.NET Framework SDK


Microsoft distribuye este kit de desarrollo
como parte del paquete .NET.
Disponible en: http://msdn.microsoft.com/
netframework/technologyinfo/howtoget/
default.aspx

En este kit podemos encontrar


documentacin sobre la plataforma, ejemplos
y cdigo fuente, y una serie de utilidades que
sirven para desarrollo y prueba de
aplicaciones .NET.

Visual Studio.NET
Es un entorno grfico que permite a los
desarrolladores crear, probar y depurar aplicaciones
desarrolladas o no para la plataforma .NET.
Inicialmente se llam Visual Studio 7.0 ya que es la
evolucin del Visual Studio 6.0.
La ltima versin a 02/2004, es el Visual Studio 2003.
SharpDevelop es un IDE open source para .NET que
representa una buena alternativa a Visual Studio.NET:
http://www.icsharpcode.net/opensource/sd/

Visual Studio.NET
Microsoft incorpora en este entorno los
siguientes lenguajes de programacin:
Visual Basic.NET: Versin .NET de Visual Basic 6.0.
Visual C++.net: Evolucin de Visual C++.
Visual J#.NET: Adaptacin de Visual J++.
Visual C#.NET: Un nuevo lenguaje de
programacin OO.

Empresas ajenas han creado compiladores de


sus lenguajes para la plataforma .NET:
Eiffel, Perl, Python, Haskell, Pascal, Oberon...

.NET My Services
Microsoft ha creado una serie de servicios
Web a los que llama .NET My Services o
HailStorm.
.Net My Services son un conjunto de
servicios Web XML que permiten al usuario
almacenar y recuperar informacin
confidencial (contactos, agenda,
documentos...).
http://msdn.microsoft.com/myservices

Servidores para empresas


La evolucin de.NET ha obligado a Microsoft a
realizar cambios en los servidores para
empresas (Enterprise Servers) que distribuye.
Los nuevos servidores, .NET Enterprise
Servers tratan de ayudar a las empresas a
integrar y orquestar servicios y aplicaciones en
una sola solucin comprensible.
Algunos de estos servidores son: Application
Center, BizTalk, Commerce Server, Exchange...

Desarrollando para la
plataforma .NET
.NET es independiente del lenguaje de
programacin, no estamos restringidos a
desarrollar en Visual C++ y Basic:
Existen compiladores para C#, Visual Basic.NET,
Jscript.NET, COBOL, Python, Perl, etc.
.NET soporta estos lenguajes no soportando realmente
ninguno de ellos
.NET slo entiende Microsoft Intermediate Language
(IL)

Una plataforma independiente


del
lenguaje
.NET
traduce cdigo fuente a IL (Intermediate Language).
El resultado de la compilacin es IL + Metadata
IL es como un lenguaje ensamblador para una CPU virtual, basada en
un pila (similar a Java bytecode)
IL es compilado antes de ser ejecutado y no est diseado para un
lenguaje en particular como en Java
Las sentencias IL manipulan tipos comunes compartidos por todos los
lenguajes .NET (Common Type System CTS)
El Common Language Runtime (CLR) es responsable de cargar y
ejecutar una aplicacin .NET
Usa compilacin JIT (Just-In-Time) para traducir IL a cdigo nativo
IL es siempre compilado y nunca interpretado no como con JVM
El cdigo IL por cada mtodo slo es compilado cuando es indicado

Common Language Runtime


Recordemos la figura anterior que ilustra el
proceso de compilacin de un programa en .NET

Cdigo fuente

C#, Visual Basic...

Compilador
Cdigo intermedio

MSIL(Microsoft
Intermediate Language)

CLR
Cdigo nativo

Intel 8086, Windows,


Solaris...

Hola Mundo en .NET


// fichero: hola.cs
// compilar: csc hola.cs
using System;
class Hola {
public static void Main() {
Console.WriteLine(Hola desde C#);
}
}

Hola Mundo en .NET


Todo programa en C# contiene al menos una clase
Main es el punto de entrada del programa
Console.WriteLine(Hola desde C#), visualiza un
mensaje, invocando mtodo WriteLine de la clase
Console
El espacio de nombres System pertenece a .NET FCL
(Framework Class Library)
FCL contiene muchas clases tiles, que pueden usarse
desde nuestras aplicaciones .NET
Para compilar el programa necesitamos una copia de
.NET SDK, y usar el compilador de C#, csc

Hola Mundo en .NET III

Path para csc.exe en mi mquina:


C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

Hola Mundo en Visual


Basic.NET
' fichero: hola.vb
' compilar: vbc hola.vb
Imports System
module Hello
sub main()
Console.WriteLine(Hola desde VB.NET)
end sub
end module

Desemsamblando Hola Mundo


"c:\Program
Files\Microsoft.NET\SDK\v1.1\Bin\ildasm.exe"

Bibliografa usada para preparar el


curso
Microsoft.NET for Programmers, Fergal Grimes,
Manning, ISBN 1-930110-19-7, 2002:
http://www.manning.com/grimes

Programming Microsoft.NET, Jeff Prosise,


Wintellect, Microsoft Press, ISBN 0-7356-1376-1,
2002
http://www.microsoft.com/mspress/books/5200.asp

Microsoft .NET SDK Framework Documentation


http://msdn.microsoft.com/netframework/
http://www.microsoft.com/net/

Seminario.NET y C#, Ander Barbier y Unai


Extremo, Universidad de Deusto, 2003:
http://asignaturas.deusto.es/Seminario.NET

Enlaces de inters
GotDotNet: The Microsoft .NET Framework
Community:
http://www.gotdotnet.com/

.NET home page:


http://www.microsoft.com/net/

MSDN .NET Framework site:


http://msdn.microsoft.com/netframework/

Website con ejemplos y ayuda en programacin C#:


http://www.c-sharpcorner.com/
http://www.csharphelp.com/
http://www.csharp-station.com/

Implementacin Open Source .NET (Proyecto mono):


http://www.go-mono.com/

Fundamental: Class Library en la seccin Reference


de .NET Framework SDK Documentation

Vous aimerez peut-être aussi