1 introduccion .net

36
Introducción a .NET Dr. Diego Lz. de Ipiña Gz. de Artaza http://paginaspersonales.deusto.e s/dipina

Upload: jesus-chamorro

Post on 09-Sep-2015

223 views

Category:

Documents


0 download

DESCRIPTION

Introduction a .Net Visual Basic

TRANSCRIPT

  • Introduccin a .NETDr. Diego Lz. de Ipia Gz. de Artazahttp://paginaspersonales.deusto.es/dipina

  • IntroduccinMicrosoft.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.

  • 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 objetosLas 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 I

  • .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.NETLas 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

    Caractersticas de .NET II

  • Componentes de .NETMicrosoft.NET est compuesto de:Plataforma .NET.NET Framework SDKVisual Studio .NETServicios Web (Microsoft .NET myServices)Servidores para empresas(SQL Server.NET...)

  • Plataforma .NETEl 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

  • Plataforma .NETComponentes: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 RuntimeUn 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).

  • 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 lenguajeCommon Language Runtime

  • .NET y cdigo gestionadoLas aplicaciones que siguen el modelo de la figura anterior son managed applications (aplicaciones gestionadas)En contrapartida, las aplicaciones Windows no gestionadas se denominan unmanaged applicationsManaged applications y unmanaged applications pueden convivir

  • .NET y cdigo gestionadoMetadata describe los campos, propiedades, firmas de mtodos y operaciones soportadasDe 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 RuntimeCaracterticas y servicios que ofrece:Ejecucin multiplataformaIntegracin de lenguajesGestin de memoria(Recolector de basura)Tratamiento de excepcionesSoporte multi-hiloDistribucin transparenteInteroperabilidad con cdigo antiguo

  • Common Language RuntimeEl 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 .NETLa 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 .NETEsta 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 .NETDada 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 .NETEspacios 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 .NETSystem.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.NETASP.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 FormsServer ControlsWeb Services

  • Windows FormsLos 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 SDKMicrosoft distribuye este kit de desarrollo como parte del paquete .NET.Disponible en: http://msdn.microsoft.com/netframework/technologyinfo/howtoget/default.aspxEn 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.NETEs 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.NETMicrosoft 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 ServicesMicrosoft 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 empresasLa 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...

  • .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)

    Desarrollando para la plataforma .NET

  • .NET traduce cdigo fuente a IL (Intermediate Language).El resultado de la compilacin es IL + MetadataIL 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 JavaLas 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 .NETUsa compilacin JIT (Just-In-Time) para traducir IL a cdigo nativoIL es siempre compilado y nunca interpretado no como con JVMEl cdigo IL por cada mtodo slo es compilado cuando es indicadoUna plataforma independiente del lenguaje

  • Recordemos la figura anterior que ilustra el proceso de compilacin de un programa en .NETCommon Language Runtime

  • Hola Mundo en .NET// fichero: hola.cs// compilar: csc hola.csusing System;

    class Hola {public static void Main() {Console.WriteLine(Hola desde C#);}}

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

  • Hola Mundo en .NET IIIPath 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.vbImports System

    module Hellosub main()Console.WriteLine(Hola desde VB.NET)end subend module

  • Desemsamblando Hola Mundo"c:\Program Files\Microsoft.NET\SDK\v1.1\Bin\ildasm.exe"

  • Bibliografa usada para preparar el cursoMicrosoft.NET for Programmers, Fergal Grimes, Manning, ISBN 1-930110-19-7, 2002:http://www.manning.com/grimesProgramming Microsoft.NET, Jeff Prosise, Wintellect, Microsoft Press, ISBN 0-7356-1376-1, 2002http://www.microsoft.com/mspress/books/5200.aspMicrosoft .NET SDK Framework Documentationhttp://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 intersGotDotNet: 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