SlideShare uma empresa Scribd logo
1 de 33
Introducción a
                 .NET

LOGO
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.
Características de .NET I
    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 ofrece integración multi-lenguaje, reutilización de
     componentes, y herencia entre componentes desarrollados en
     diferentes lenguajes
Características 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 través de ASP.NET
   Las clases ADO.NET proveen una arquitectura desconectada para
    acceso a datos a través de Internet
   .NET ofrece una nueva arquitectura para el desarrollo y
    explotación de objetos remotos
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

         ASP.NET
                       Windows Forms
       Servicios Web


        .NET Framework Base Classes



        Common Language Runtime
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).
Common Language Runtime
   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

                Código fuente      C#, Visual Basic...

                 Compilador


              Código intermedio    MSIL(Microsoft
                                   Intermediate Language)
                    CLR

                Código nativo      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/technologyi
       nfo/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.
   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...
Desarrollando para la plataforma
.NET
 .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)
Una plataforma independiente del
lenguaje
 .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
Common Language Runtime
 Recordemos la figura anterior que ilustra el proceso de
  compilación de un programa en .NET


                Código fuente     C#, Visual Basic...

                 Compilador


              Código intermedio   MSIL(Microsoft
                                  Intermediate Language)
                    CLR

                Código 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 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (19)

Plataforma net
Plataforma netPlataforma net
Plataforma net
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Preserntacion programacion.net
Preserntacion programacion.netPreserntacion programacion.net
Preserntacion programacion.net
 
Programación .NET
Programación .NETProgramación .NET
Programación .NET
 
Microsoft .NET Propuesta
Microsoft .NET PropuestaMicrosoft .NET Propuesta
Microsoft .NET Propuesta
 
Presentación1
Presentación1Presentación1
Presentación1
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Introducción a la Plataforma .NET
Introducción a la Plataforma .NETIntroducción a la Plataforma .NET
Introducción a la Plataforma .NET
 
1 Plataforma .Net
1 Plataforma .Net1 Plataforma .Net
1 Plataforma .Net
 
.Net framework
.Net framework.Net framework
.Net framework
 
Framework .NET 3.5 01 Conceptos básicos y entorno
Framework .NET 3.5 01 Conceptos básicos y entornoFramework .NET 3.5 01 Conceptos básicos y entorno
Framework .NET 3.5 01 Conceptos básicos y entorno
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Programación.NET
Programación.NETProgramación.NET
Programación.NET
 
Visual basic
Visual basicVisual basic
Visual basic
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Introduccion microsoft.net
Introduccion microsoft.netIntroduccion microsoft.net
Introduccion microsoft.net
 
Introduccion Microsoft.net
Introduccion Microsoft.netIntroduccion Microsoft.net
Introduccion Microsoft.net
 
Plataforma .Net
Plataforma .NetPlataforma .Net
Plataforma .Net
 

Destaque (20)

Studie Intranettrends 2010
Studie Intranettrends 2010Studie Intranettrends 2010
Studie Intranettrends 2010
 
Husein
HuseinHusein
Husein
 
Diapositivas tecnologia
Diapositivas tecnologiaDiapositivas tecnologia
Diapositivas tecnologia
 
Display lcd
Display lcdDisplay lcd
Display lcd
 
Las tablas dinámicas
Las tablas dinámicasLas tablas dinámicas
Las tablas dinámicas
 
Graficos2
Graficos2Graficos2
Graficos2
 
Funciones
FuncionesFunciones
Funciones
 
Teclado
TecladoTeclado
Teclado
 
Rodante Entrevistas 2009 BCN
Rodante Entrevistas 2009 BCNRodante Entrevistas 2009 BCN
Rodante Entrevistas 2009 BCN
 
Pantall as de las redes sociales
Pantall as de las redes socialesPantall as de las redes sociales
Pantall as de las redes sociales
 
Mosca peluda
Mosca peludaMosca peluda
Mosca peluda
 
4a10ffc06419e fxrmacos parasimpaticolxticos2
4a10ffc06419e fxrmacos parasimpaticolxticos24a10ffc06419e fxrmacos parasimpaticolxticos2
4a10ffc06419e fxrmacos parasimpaticolxticos2
 
Windows
WindowsWindows
Windows
 
Shopping and clothing vocab
Shopping and clothing vocabShopping and clothing vocab
Shopping and clothing vocab
 
Tipos de conectores[1]
Tipos de conectores[1]Tipos de conectores[1]
Tipos de conectores[1]
 
Juniorstudium der Universität Rostock
Juniorstudium der Universität RostockJuniorstudium der Universität Rostock
Juniorstudium der Universität Rostock
 
Productos y demostraciones mx
Productos y demostraciones mxProductos y demostraciones mx
Productos y demostraciones mx
 
Las 7 maravillas del mundo
Las 7 maravillas del mundoLas 7 maravillas del mundo
Las 7 maravillas del mundo
 
Wissenspark Moorburg
Wissenspark MoorburgWissenspark Moorburg
Wissenspark Moorburg
 
Tecnicas de impresion
Tecnicas de impresionTecnicas de impresion
Tecnicas de impresion
 

Semelhante a Introducción a net

Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .netlilymejia1979
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoftbrobelo
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .netlilymejia1979
 
Andre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerAndre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerpaolatublog
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Alex Barrios
 
Programacion
ProgramacionProgramacion
Programaciondanielrsd
 
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotpaolatublog
 
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]Antonio Torres
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Oliver Benitez
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Flor Santana Mota
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Flor Santana Mota
 
Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visualmiguelangelvillelli
 

Semelhante a Introducción a net (20)

Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 
Andre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerAndre.paola9 blos blospot blogger
Andre.paola9 blos blospot blogger
 
Andre.paola9
Andre.paola9Andre.paola9
Andre.paola9
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Programacion
ProgramacionProgramacion
Programacion
 
Manual visual basic .net
Manual visual basic .net Manual visual basic .net
Manual visual basic .net
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspot
 
Paola
PaolaPaola
Paola
 
Paola 1001 jt
Paola 1001 jtPaola 1001 jt
Paola 1001 jt
 
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
 
Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visual
 
Introduccion net
Introduccion netIntroduccion net
Introduccion net
 

Mais de Colegio Agropecuario de San Carlos (20)

Desarrollo sitios web
Desarrollo sitios webDesarrollo sitios web
Desarrollo sitios web
 
Lenguajes de programacion web
Lenguajes de programacion webLenguajes de programacion web
Lenguajes de programacion web
 
C sharp intro1
C sharp intro1C sharp intro1
C sharp intro1
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
Examensinrespuesta
ExamensinrespuestaExamensinrespuesta
Examensinrespuesta
 
Tipos de certificaciones profesionales en informática
Tipos de certificaciones profesionales en informáticaTipos de certificaciones profesionales en informática
Tipos de certificaciones profesionales en informática
 
Visual basic 2
Visual basic 2Visual basic 2
Visual basic 2
 
Presentación1
Presentación1Presentación1
Presentación1
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
C sharp intro1
C sharp intro1C sharp intro1
C sharp intro1
 
Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1
 
Servicios de sistemas
Servicios de sistemasServicios de sistemas
Servicios de sistemas
 
Planificador del procesador
Planificador del procesadorPlanificador del procesador
Planificador del procesador
 
Tipos sitemas operativos
Tipos sitemas operativosTipos sitemas operativos
Tipos sitemas operativos
 
Ms
MsMs
Ms
 
Practica ms dos 2
Practica ms dos 2Practica ms dos 2
Practica ms dos 2
 
Drop database bd
Drop database bdDrop database bd
Drop database bd
 
Igu
IguIgu
Igu
 
Intrefaz gráfica de usuario
Intrefaz gráfica de usuarioIntrefaz gráfica de usuario
Intrefaz gráfica de usuario
 
Igu
IguIgu
Igu
 

Introducción a net

  • 1. Introducción a .NET LOGO
  • 2. 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.
  • 3. Características de .NET I  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 ofrece integración multi-lenguaje, reutilización de componentes, y herencia entre componentes desarrollados en diferentes lenguajes
  • 4. Características 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 través de ASP.NET  Las clases ADO.NET proveen una arquitectura desconectada para acceso a datos a través de Internet  .NET ofrece una nueva arquitectura para el desarrollo y explotación de objetos remotos
  • 5. 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...)
  • 6. 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.
  • 7. Plataforma .NET ASP.NET Windows Forms Servicios Web .NET Framework Base Classes Common Language Runtime
  • 8. 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
  • 9. 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).
  • 10. Common Language Runtime  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 Código fuente C#, Visual Basic... Compilador Código intermedio MSIL(Microsoft Intermediate Language) CLR Código nativo Intel 8086, Windows, Solaris...
  • 11. .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
  • 12. .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.
  • 13. 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
  • 14. 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.
  • 15. 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.
  • 16. 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...
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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
  • 21. 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.
  • 22. .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 documentación sobre la plataforma, ejemplos y código fuente, y una serie de utilidades que sirven para desarrollo y prueba de aplicaciones .NET.
  • 23. 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.  SharpDevelop es un IDE open source para .NET que representa una buena alternativa a Visual Studio.NET:  http://www.icsharpcode.net/opensource/sd/
  • 24. 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...
  • 25. .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
  • 26. 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...
  • 27. Desarrollando para la plataforma .NET  .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)
  • 28. Una plataforma independiente del lenguaje  .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
  • 29. Common Language Runtime  Recordemos la figura anterior que ilustra el proceso de compilación de un programa en .NET Código fuente C#, Visual Basic... Compilador Código intermedio MSIL(Microsoft Intermediate Language) CLR Código nativo Intel 8086, Windows, Solaris...
  • 30. Hola Mundo en .NET // fichero: hola.cs // compilar: csc hola.cs using System; class Hola { public static void Main() { Console.WriteLine(“Hola desde C#”); } }
  • 31. 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
  • 32. Hola Mundo en .NET III  Path para csc.exe en mi máquina: C:WINDOWSMicrosoft.NETFrameworkv1.1.4322
  • 33. 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