Introduccion.net
Upcoming SlideShare
Loading in...5
×
 

Introduccion.net

on

  • 869 views

 

Statistics

Views

Total Views
869
Views on SlideShare
868
Embed Views
1

Actions

Likes
0
Downloads
46
Comments
0

1 Embed 1

https://www.galileo.edu 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduccion.net Introduccion.net Presentation Transcript

  • Introducción a .NET Dr. Diego Lz. de Ipiña Gz. de Artaza http://paginaspersonales.deusto.es/dipina
  • Introducción
    • Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años 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 programación y modelo de componentes con los que hayan sido desarrollados .
    • Según Microsoft “.NET es una plataforma Microsoft para Servicios Web XML”.
    • Sin embargo es mucho más:
      • .NET es una nueva plataforma para el desarrollo y explotación de aplicaciones “gestionadas” (managed) modernas y orientadas a objetos
      • Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de programación que se ajusta a .NET
      • .NET soporta una extensa framework de librerías de clases independientes del lenguaje de programación
      • .NET soporta la creación de componentes auto-describibles
      • .NET ofrece integración multi-lenguaje, reutilización de componentes, y herencia entre componentes desarrollados en diferentes lenguajes
    Características 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 través de ASP.NET
      • Las clases ADO.NET proveen una arquitectura desconectada para acceso a datos a través de Internet
      • .NET soporta la creación de Servicios Web XML independientes de la plataforma, a través de SOAP (Simple Object Access Protocol) y WSDL (Web Services Description Language)
      • .NET ofrece una nueva arquitectura para el desarrollo y explotación de objetos remotos
      • .NET convierte a varias tecnologías y técnicas Windows en obsoletas
    Características de .NET II
  • 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 ejecución (JVM) ya utilizan el concepto de encapsulamiento del sistema operativo para permitir la interoperabilidad entre diferentes sistemas operativos.
  • Plataforma .NET Common Language Runtime .NET Framework Base Classes ASP.NET Servicios Web Windows Forms
  • Plataforma .NET
    • Componentes:
      • Common Language Runtime(CLR): Entorno de ejecución de la plataforma.
      • .NET Framework Base Classes o FCL (Framework Class Library): Añaden funcionalidad.
      • ASP.NET: Versión .Net de ASP. Incluye los servicios Web.
      • Windows Forms
  • Common Language Runtime
    • Un Runtime no es más que un entorno en el que se ejecutan los programas.
    • De esta forma, el CLR es el entorno donde se ejecutarán las aplicaciones .NET que han sido compiladas a un lenguaje común llamado Microsoft Intermediate Language(MSIL).
      • El proceso de compilación produce un fichero ejecutable en Windows al que se denomina portable executable (PE)
      • CLR sólo ve IL, por lo que se puede reemplazar el compilador JIT para usar un nuevo lenguaje
    Common Language Runtime CLR Código fuente Código intermedio Código nativo Compilador C#, Visual Basic... MSIL(Microsoft Intermediate Language) Intel 8086, Windows, Solaris...
  • .NET y código 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 código gestionado
    • Metadata describe los campos, propiedades, firmas de métodos y operaciones soportadas
    • De esta manera, los componentes en .NET son auto-describibles y se permite la interacción entre componentes escritos en diferentes lenguajes.
  • Common Language Runtime
    • Caracteríticas y servicios que ofrece:
      • Ejecución multiplataforma
      • Integración de lenguajes
      • Gestión de memoria(Recolector de basura)
      • Tratamiento de excepciones
      • Soporte multi-hilo
      • Distribución transparente
      • Interoperabilidad con código antiguo
  • Common Language Runtime
    • El CLR se encarga de gestionar la ejecución de las aplicaciones .NET.
    • Al código escrito para ejecutarse en la plataforma .NET se le llama código gestionado .
    • Al código no escrito para ejecutarse directamente bajo la plataforma se le llama código no gestionado .
  • Clases de la plataforma .NET
    • La librería de clases (FCL) es una librería formada por cientos de tipos que permiten acceder a los servicios ofrecidos por el CLR y a sus funcionalidades más frecuentemente usadas.
    • Además 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 librería de clases está escrita en MSIL luego cualquier lenguaje cuyo compilador genere MSIL podrá usarla.
    • Con esta librería 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 raíz del que cuelgan todos los demás.
  • Clases de la plataforma .NET
    • Espacios de nombres más usados:
      • System : Contiene tipos de datos muy usados, datos básicos, tablas, excepciones... Es el raíz.
      • System.Object : Soporta toda la jerarquía de las clases de .NET.
      • System.Collections : Colecciones de datos de uso común como pilas, colas, listas...
      • System.Data : Manipulación de base de datos. Forma la denominada arquitectura ADO.NET.
  • Clases de la plataforma .NET
      • System.IO : Manipulación de ficheros.
      • System.Reflection : Acceso a los metadatos que acompañan a los módulos de código.
      • System.Math : Funciones logarítmicas, trigonométricas...
      • System.XML : Acceso a datos en formato XML.
      • Sytem.Web : Aplicaciones Web.
  • ASP.NET
    • ASP.NET es la versión para la plataforma .NET de la tecnología 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 estándar.
    • 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 documentación sobre la plataforma, ejemplos y código fuente, y una serie de utilidades que sirven para desarrollo y prueba de aplicaciones .NET.
  • Visual Studio.NET
    • Es un entorno gráfico 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 evolución del Visual Studio 6.0.
    • La última versión 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 programación:
      • Visual Basic.NET: Versión .NET de Visual Basic 6.0.
      • Visual C++.net: Evolución de Visual C++.
      • Visual J#.NET: Adaptación de Visual J++.
      • Visual C#.NET: Un nuevo lenguaje de programación 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 información confidencial (contactos, agenda, documentos...).
      • http://msdn.microsoft.com/myservices
  • Servidores para empresas
    • La evolución 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 solución comprensible.
    • Algunos de estos servidores son: Application Center, BizTalk, Commerce Server, Exchange...
    • .NET es independiente del lenguaje de programación, 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 sólo entiende Microsoft Intermediate Language (IL)
    Desarrollando para la plataforma .NET
    • .NET traduce código fuente a IL (Intermediate Language).
      • El resultado de la compilación 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á diseñado 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 aplicación .NET
        • Usa compilación JIT (Just-In-Time) para traducir IL a código nativo
        • IL es siempre compilado y nunca interpretado no como con JVM
        • El código IL por cada método sólo es compilado cuando es indicado
    Una plataforma independiente del lenguaje
    • Recordemos la figura anterior que ilustra el proceso de compilación de un programa en .NET
    Common Language Runtime CLR Código fuente Código intermedio Código nativo Compilador C#, Visual Basic... MSIL(Microsoft Intermediate Language) 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 método 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 máquina:
    • C:WINDOWSMicrosoft.NETFrameworkv1.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 FilesMicrosoft.NETSDKv1.1Bin ildasm.exe "
  • Bibliografía 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 interés
    • 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 programación C#:
      • http://www.c-sharpcorner.com/
      • http://www.csharphelp.com/
      • http://www.csharp-station.com/
    • Implementación Open Source .NET (Proyecto mono):
      • http://www.go-mono.com/
    • Fundamental: Class Library en la sección Reference de .NET Framework SDK Documentation