Вы находитесь на странице: 1из 62

Introduccin a .

NET
Desarrollo Avanzado de Software Tema 13

Introduccin
Microsoft.NET es un 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
.NET es una plataforma Microsoft para Servicios Web XML Y tambin:
es una plataforma para el desarrollo y explotacin de aplicaciones gestionadas (managed) orientadas a objetos Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de programacin que se ajuste a .NET .NET soporta un extenso 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
.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 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), usando http.

La plataforma .NET
Internet Visual Studio .NET

.NET Framework

.NET Enterprise Servers

.NET Building Block Services

Clientes para la plataforma .NET


La plataforma .NET es compatible
con los siguientes dispositivos inteligentes:
PCs porttiles Estaciones de trabajo PCs de bolsillo PDAs Telfonos mviles inteligentes Consolas de juegos Tablet PCs

Componentes de .NET
Microsoft.NET est compuesto de:
Plataforma .NET .NET Framework SDK Visual Studio .NET

La plataforma Microsoft .NET


Visual Studio .NET Orquestacin .NET Framework Internet

Internet COM+

.NET Enterprise Servers

Servicios Building Block

Windows
Disponible en la actualidad Con mejoras .NET Nuevas capacidades

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 Servicios Web Windows Forms

.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 Compilador Cdigo intermedio

C#, Visual Basic...

MSIL(Microsoft Intermediate Language)

CLR
Cdigo nativo

Intel 8086, Windows, Solaris...

Runtime de lenguaje comn (Common Language Runtime)


Soporte de biblioteca de clases de .NET Framework
Soporte de subprocesos Corrector de tipos Motor de seguridad MSIL para compiladores nativos COM Marshaler Administrador de excepciones Motor de depuracin Recolector de elementos no utilizados

Gestor de cdigo

Cargador de clases

Componentes del .NET Framework


ASP .NET Formularios y Servicios Web Interfaz de usuario

ADO.NET: Datos y XML

Biblioteca de clases del .NET Framework


Common Language Runtime

Descripcin del .NET Framework

Visual Basic

C++

C#

J#

Visual Studio .NET

Common Language Specification

.NET Framework

.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 autodescribibles y se permite la interaccin entre componentes escritos en diferentes lenguajes.

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.

El modelo de ejecucin CLR


Cdigo fuente
VB VB C# C# C++ C++ Unmanaged Componente component no gestionado

Compilador
Compiler

Compilador
Compiler

Compilador
Compiler

Cdigo de code gestionado ensamblado IL


Assembly IL

Cdigo

Cdigo de code ensamblado IL


Assembly IL

Cdigo de code ensamblado IL


Assembly IL

Common Language Runtime Runtime de lenguaje comn

JIT compiler Compilador JIT

Native code Cdigo nativo

Operating system services Servicios del sistema operativo

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 frecuentes. Adems el programador puede crear nuevas clases que extiendan su funcionalidad y se integren con el resto de las clases de la FCL.

La biblioteca de clases de .NET Framework


System

Collections

IO

Security

Runtime
InteropServices

Configuration

Net

ServiceProcess

Diagnostics

Reflection

Text

Remoting

Globalization

Resources

Threading

Serialization

Clases de la plataforma .NET


Esta librera de clases est escrita en
MSIL, por tanto, 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 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.

Biblioteca de clases .NET Framework

System System.Net System.Reflection System.IO

System.Security System.Text System.Threading System.Diagnostics

System.Runtime. InteropServices System.Globalization System.Configuration System.Collections

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.

Interfaz de usuario

System.Windows.Forms System.Drawing

.NET Framework SDK


Microsoft distribuye este kit de desarrollo como
parte del paquete .NET.
Disponible en: http://msdn.microsoft.com/netframework/technologyi nfo/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 05/2006, es el Visual Studio 2005. 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 Visual Visual Visual Basic.NET: Versin .NET de Visual Basic 6.0. C++.net: Evolucin de Visual C++. J#.NET: Adaptacin de Visual J++. C#.NET: Un nuevo lenguaje de programacin OO.

Empresas ajenas han creado compiladores de sus


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

Desarrollando para la plataforma .NET


.NET es independiente del lenguaje de programacin, no
Existen compiladores para C#, Visual Basic.NET, Jscript.NET, COBOL, Python, Perl, etc. .NET soporta estos lenguajes no soportando realmente ninguno de ellos

estamos restringidos a desarrollar en Visual C++ y Basic:

.NET slo entiende Microsoft Intermediate Language (MSIL)

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

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 C#
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 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

Enlaces de inters
GotDotNet: The Microsoft .NET Framework Community: .NET home page:
http://www.gotdotnet.com/
http://www.microsoft.com/net/ http://msdn.microsoft.com/netframework/ http://www.c-sharpcorner.com/ http://www.csharphelp.com/ http://www.csharp-station.com/ http://www.go-mono.com/

MSDN .NET Framework site:

Website con ejemplos y ayuda en programacin C#:

Implementacin Open Source .NET (Proyecto mono):


Fundamental: Class Library en la seccin Reference de
.NET Framework SDK Documentation

Introduccin a Visual Studio .NET


tomado de

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

Descripcin

Crear Interfaz

Escribir cdigo

Use Visual

Conceptos bsicos de .NET Explorar el entorno de desarrollo

Uso de Visual Studio .NET Studio .NET

Acceso a datos

Depurar e implantar

Leccin: Conceptos bsicos de .NET


Visual Studio .NET?

Plataforma .NET?

AYUDA!

.NET

.NET
Framework?

Visual Basic .NET?

Qu es la plataforma .NET?

Herramientas de desarrollo Clientes

Servicios Web XML

Servidores

Experiencias de usuario

Cmo funciona el .NET Framework


Servicios de programacin

.NET Framework
Aplicaciones Visual Basic Aplicaciones Visual C#

Biblioteca de clases
ADO.NET Servicios Web XML Windows Tipos de datos Cdigo de la plataforma .NET
El compilador JIT produce lenguaje mquina

Common Language Runtime El cdigo fuente se compila como MSIL

Aplicaciones Visual C++

Qu es Visual Studio .NET?


Herramientas de Formularios Web Herramientas de Formularios Windows

Mltiples Lenguajes

Visual Studio .NET


Gestor de errores

Herramientas de Servicios Web XML

Acceso a datos

Diseo

Desarrollo

Depuracin

Implantacin

Cmo utilizar la pgina de inicio


Get Started Whats New

Online Community
Headlines Search Online Downloads

XML Web Services


Web Hosting My Profile

Open Project

New Project

Qu es una plantilla de aplicacin?


Proporciona archivos de inicio, estructura de proyecto y configuracin del entorno

Cmo utilizar el Explorador de soluciones

Leccin: Explorar el entorno de desarrollo


Men principal Nuevo proyecto Cuadro de herramientas Diseador de Windows Forms

Ventana Propiedades

Mens y barras de herramientas


Men principal Barra de herramientas estndar

Nuevo proyecto

Guardar Form1.vb

Deshacer

Cuadro de herramientas

Controles para crear el interfaz de usuario

Diseador de Windows Forms

Editor de cdigo
Lista de nombres de clases Lista de nombres de mtodos

Ventana Propiedades

Establecer propiedades como tamao, ttulo y color

Otras ventanas de programacin


Ventana de programacin
Lista de tareas Resultados Vista de clases Comandos Examinador de objetos

Objetivo
Ayuda a organizar y gestionar el trabajo de generar la aplicacin Muestra mensajes de estado para varias caractersticas en el entorno de desarrollo Permite examinar el cdigo tras las clases y navegar por los smbolos de la solucin Permite emitir comandos o evaluar expresiones en el entorno de desarrollo Permite visualizar objetos y sus miembros

Sistema de ayuda en lnea


Men de la Ayuda Ayuda dinmica

El proceso de desarrollo
1 Crear una especificacin de diseo 2 Crear el interfaz de usuario 3 Establecer las propiedades de los objetos del

interfaz de usuario

4 Escribir cdigo para aadir funcionalidad 5 Probar y depurar la aplicacin 6 Generar un archivo ejecutable 7 Crear una aplicacin de instalacin

Cmo crear el interfaz de usuario

Ubicar controles en el formulario desde el Cuadro de herramientas

Cmo establecer las propiedades de los controles


Propiedades
(Name) BackColor Blue

Configuracin
Textbox1

Autosize
Visible

True
True

Border
Font Text

Fixed 3D
Microsoft SanSerif, 8.2 pt Textbox1

Cmo aadir cdigo a los controles


En la lista Nombre de clase, hacer clic en el control En la lista Nombre de mtodo, hacer clic en el evento Aadir cdigo entre Private Sub y End Sub

Private Sub Button1_Click(. . .)Handles Button1.Click


'Your code goes here End Sub

Como guardar, ejecutar y generar la aplicacin

Guardar la aplicacin

Ejecutar la solucin en el entorno de desarrollo Generar un archivo ejecutable