0
Introducción a .NET Dr. Diego Lz. de Ipiña Gz. de Artaza http://paginaspersonales.deusto.es/dipina
Introducción <ul><li>Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante ...
<ul><li>Según Microsoft “.NET es una plataforma Microsoft para Servicios Web XML”.  </li></ul><ul><li>Sin embargo es mucho...
<ul><ul><li>.NET ofrece un nueva manera de desarrollar aplicaciones de sobremesa usando las clases Windows Forms </li></ul...
Componentes de .NET <ul><li>Microsoft.NET está compuesto de: </li></ul><ul><ul><li>Plataforma .NET </li></ul></ul><ul><ul>...
Plataforma .NET <ul><li>El concepto en el que se basa .NET no es nuevo. </li></ul><ul><li>Java y su entorno de ejecución (...
Plataforma .NET Common Language Runtime .NET Framework Base Classes ASP.NET Servicios Web Windows Forms
Plataforma .NET <ul><li>Componentes: </li></ul><ul><ul><li>Common Language Runtime(CLR): Entorno de ejecución de la plataf...
Common Language Runtime <ul><li>Un Runtime no es más que un entorno en el que se ejecutan los programas. </li></ul><ul><li...
<ul><ul><li>El proceso de compilación produce un fichero ejecutable en Windows al que se denomina portable executable (PE)...
.NET y código gestionado <ul><li>Las aplicaciones que siguen el modelo de la figura anterior son  managed applications (ap...
.NET y código gestionado <ul><li>Metadata describe los campos, propiedades, firmas de métodos y operaciones soportadas </l...
Common Language Runtime <ul><li>Caracteríticas y servicios que ofrece: </li></ul><ul><ul><li>Ejecución multiplataforma </l...
Common Language Runtime <ul><li>El CLR se encarga de  gestionar  la ejecución de las aplicaciones .NET. </li></ul><ul><li>...
Clases de la plataforma .NET <ul><li>La librería de clases (FCL) es una librería formada por cientos de tipos que permiten...
Clases de la plataforma .NET <ul><li>Esta librería de clases está escrita en MSIL luego cualquier lenguaje cuyo compilador...
Clases de la plataforma .NET <ul><li>Dada la amplitud de la FCL, ha sido necesario organizar las clases en ella incluida e...
Clases de la plataforma .NET <ul><li>Espacios de nombres más usados: </li></ul><ul><ul><li>System :  Contiene tipos de dat...
Clases de la plataforma .NET <ul><ul><li>System.IO :  Manipulación de ficheros. </li></ul></ul><ul><ul><li>System.Reflecti...
ASP.NET <ul><li>ASP.NET es la versión para la plataforma .NET de la tecnología ASP (Active Server Pages). </li></ul><ul><l...
Windows Forms <ul><li>Los Windows Forms son una forma avanzada e integrada de crear aplicaciones de escritorio Win32 están...
.NET Framework SDK <ul><li>Microsoft distribuye este kit de desarrollo como parte del paquete .NET. </li></ul><ul><ul><li>...
Visual Studio.NET <ul><li>Es un entorno gráfico que permite a los desarrolladores crear, probar y depurar aplicaciones des...
Visual Studio.NET <ul><li>Microsoft incorpora en este entorno los siguientes lenguajes de programación: </li></ul><ul><ul>...
.NET My Services <ul><li>Microsoft ha creado una serie de servicios Web a los que llama “.NET My Services” o “HailStorm”. ...
Servidores para empresas <ul><li>La evolución de.NET ha obligado a Microsoft a realizar cambios en los servidores para emp...
<ul><li>.NET es independiente del lenguaje de programación, no estamos restringidos a desarrollar en Visual C++ y Basic: <...
<ul><li>.NET traduce código fuente a IL (Intermediate Language). </li></ul><ul><ul><li>El resultado de la compilación es I...
<ul><li>Recordemos la figura anterior que ilustra el proceso de compilación de un programa en .NET </li></ul>Common Langua...
Hola Mundo en .NET // fichero: hola.cs // compilar: csc hola.cs using System; class Hola { public static void Main() { Con...
Hola Mundo en .NET <ul><li>Todo programa en C# contiene al menos una clase </li></ul><ul><li>Main  es el punto de entrada ...
Hola Mundo en .NET III <ul><li>Path para  csc.exe  en mi máquina: </li></ul><ul><li>C:WINDOWSMicrosoft.NETFrameworkv1.1.43...
Hola Mundo en Visual Basic.NET '  fichero: hola.vb '  compilar: vbc hola.vb Imports System module Hello sub main() Console...
Desemsamblando Hola Mundo <ul><li>&quot;c:Program FilesMicrosoft.NETSDKv1.1Bin ildasm.exe &quot; </li></ul>
Bibliografía usada para preparar el curso <ul><li>Microsoft.NET for Programmers, Fergal Grimes, Manning, ISBN 1-930110-19-...
Enlaces de interés <ul><li>GotDotNet: The Microsoft .NET Framework Community: </li></ul><ul><ul><li>http://www.gotdotnet.c...
Upcoming SlideShare
Loading in...5
×

Introduccion.net

651

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
651
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Introduccion.net "

  1. 1. Introducción a .NET Dr. Diego Lz. de Ipiña Gz. de Artaza http://paginaspersonales.deusto.es/dipina
  2. 2. Introducción <ul><li>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 . </li></ul>
  3. 3. <ul><li>Según Microsoft “.NET es una plataforma Microsoft para Servicios Web XML”. </li></ul><ul><li>Sin embargo es mucho más: </li></ul><ul><ul><li>.NET es una nueva plataforma para el desarrollo y explotación de aplicaciones “gestionadas” (managed) modernas y orientadas a objetos </li></ul></ul><ul><ul><li>Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de programación que se ajusta a .NET </li></ul></ul><ul><ul><li>.NET soporta una extensa framework de librerías de clases independientes del lenguaje de programación </li></ul></ul><ul><ul><li>.NET soporta la creación de componentes auto-describibles </li></ul></ul><ul><ul><li>.NET ofrece integración multi-lenguaje, reutilización de componentes, y herencia entre componentes desarrollados en diferentes lenguajes </li></ul></ul>Características de .NET I
  4. 4. <ul><ul><li>.NET ofrece un nueva manera de desarrollar aplicaciones de sobremesa usando las clases Windows Forms </li></ul></ul><ul><ul><li>.NET ofrece una nueva manera de desarrollar aplicaciones basadas en navegador Web a través de ASP.NET </li></ul></ul><ul><ul><li>Las clases ADO.NET proveen una arquitectura desconectada para acceso a datos a través de Internet </li></ul></ul><ul><ul><li>.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) </li></ul></ul><ul><ul><li>.NET ofrece una nueva arquitectura para el desarrollo y explotación de objetos remotos </li></ul></ul><ul><ul><li>.NET convierte a varias tecnologías y técnicas Windows en obsoletas </li></ul></ul>Características de .NET II
  5. 5. Componentes de .NET <ul><li>Microsoft.NET está compuesto de: </li></ul><ul><ul><li>Plataforma .NET </li></ul></ul><ul><ul><li>.NET Framework SDK </li></ul></ul><ul><ul><li>Visual Studio .NET </li></ul></ul><ul><ul><li>Servicios Web (Microsoft .NET myServices) </li></ul></ul><ul><ul><li>Servidores para empresas(SQL Server.NET...) </li></ul></ul>
  6. 6. Plataforma .NET <ul><li>El concepto en el que se basa .NET no es nuevo. </li></ul><ul><li>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. </li></ul>
  7. 7. Plataforma .NET Common Language Runtime .NET Framework Base Classes ASP.NET Servicios Web Windows Forms
  8. 8. Plataforma .NET <ul><li>Componentes: </li></ul><ul><ul><li>Common Language Runtime(CLR): Entorno de ejecución de la plataforma. </li></ul></ul><ul><ul><li>.NET Framework Base Classes o FCL (Framework Class Library): Añaden funcionalidad. </li></ul></ul><ul><ul><li>ASP.NET: Versión .Net de ASP. Incluye los servicios Web. </li></ul></ul><ul><ul><li>Windows Forms </li></ul></ul>
  9. 9. Common Language Runtime <ul><li>Un Runtime no es más que un entorno en el que se ejecutan los programas. </li></ul><ul><li>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). </li></ul>
  10. 10. <ul><ul><li>El proceso de compilación produce un fichero ejecutable en Windows al que se denomina portable executable (PE) </li></ul></ul><ul><ul><li>CLR sólo ve IL, por lo que se puede reemplazar el compilador JIT para usar un nuevo lenguaje </li></ul></ul>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...
  11. 11. .NET y código gestionado <ul><li>Las aplicaciones que siguen el modelo de la figura anterior son managed applications (aplicaciones gestionadas) </li></ul><ul><ul><li>En contrapartida, las aplicaciones Windows no gestionadas se denominan unmanaged applications </li></ul></ul><ul><ul><li>Managed applications y unmanaged applications pueden convivir </li></ul></ul>
  12. 12. .NET y código gestionado <ul><li>Metadata describe los campos, propiedades, firmas de métodos y operaciones soportadas </li></ul><ul><li>De esta manera, los componentes en .NET son auto-describibles y se permite la interacción entre componentes escritos en diferentes lenguajes. </li></ul>
  13. 13. Common Language Runtime <ul><li>Caracteríticas y servicios que ofrece: </li></ul><ul><ul><li>Ejecución multiplataforma </li></ul></ul><ul><ul><li>Integración de lenguajes </li></ul></ul><ul><ul><li>Gestión de memoria(Recolector de basura) </li></ul></ul><ul><ul><li>Tratamiento de excepciones </li></ul></ul><ul><ul><li>Soporte multi-hilo </li></ul></ul><ul><ul><li>Distribución transparente </li></ul></ul><ul><ul><li>Interoperabilidad con código antiguo </li></ul></ul>
  14. 14. Common Language Runtime <ul><li>El CLR se encarga de gestionar la ejecución de las aplicaciones .NET. </li></ul><ul><li>Al código escrito para ejecutarse en la plataforma .NET se le llama código gestionado . </li></ul><ul><li>Al código no escrito para ejecutarse directamente bajo la plataforma se le llama código no gestionado . </li></ul>
  15. 15. Clases de la plataforma .NET <ul><li>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. </li></ul><ul><li>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. </li></ul>
  16. 16. Clases de la plataforma .NET <ul><li>Esta librería de clases está escrita en MSIL luego cualquier lenguaje cuyo compilador genere MSIL podrá usarla. </li></ul><ul><li>Con esta librería podemos crear todo tipo de aplicaciones: aplicaciones de consola, de ventanas, servicios Web, ASP.NET... </li></ul>
  17. 17. Clases de la plataforma .NET <ul><li>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. </li></ul><ul><li>El espacio de nombres System es el espacio raíz del que cuelgan todos los demás. </li></ul>
  18. 18. Clases de la plataforma .NET <ul><li>Espacios de nombres más usados: </li></ul><ul><ul><li>System : Contiene tipos de datos muy usados, datos básicos, tablas, excepciones... Es el raíz. </li></ul></ul><ul><ul><li>System.Object : Soporta toda la jerarquía de las clases de .NET. </li></ul></ul><ul><ul><li>System.Collections : Colecciones de datos de uso común como pilas, colas, listas... </li></ul></ul><ul><ul><li>System.Data : Manipulación de base de datos. Forma la denominada arquitectura ADO.NET. </li></ul></ul>
  19. 19. Clases de la plataforma .NET <ul><ul><li>System.IO : Manipulación de ficheros. </li></ul></ul><ul><ul><li>System.Reflection : Acceso a los metadatos que acompañan a los módulos de código. </li></ul></ul><ul><ul><li>System.Math : Funciones logarítmicas, trigonométricas... </li></ul></ul><ul><ul><li>System.XML : Acceso a datos en formato XML. </li></ul></ul><ul><ul><li>Sytem.Web : Aplicaciones Web. </li></ul></ul>
  20. 20. ASP.NET <ul><li>ASP.NET es la versión para la plataforma .NET de la tecnología ASP (Active Server Pages). </li></ul><ul><li>Dentro de esta capa podemos distinguir tres partes muy diferenciadas: </li></ul><ul><ul><li>Web Forms </li></ul></ul><ul><ul><li>Server Controls </li></ul></ul><ul><ul><li>Web Services </li></ul></ul>
  21. 21. Windows Forms <ul><li>Los Windows Forms son una forma avanzada e integrada de crear aplicaciones de escritorio Win32 estándar. </li></ul><ul><li>Los WinForms descienden de las Windows Foundation Classes (WFC) de Microsoft. </li></ul><ul><li>Cualquier lenguaje de la plataforma .Net puede utilizar WinForms. </li></ul><ul><li>De hecho, actualmente, las WinForms forman parte de las clases de la plataforma .NET en el espacio de nombres System.Windows.Forms . </li></ul>
  22. 22. .NET Framework SDK <ul><li>Microsoft distribuye este kit de desarrollo como parte del paquete .NET. </li></ul><ul><ul><li>Disponible en: http://msdn.microsoft.com/netframework/technologyinfo/howtoget/default.aspx </li></ul></ul><ul><li>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. </li></ul>
  23. 23. Visual Studio.NET <ul><li>Es un entorno gráfico que permite a los desarrolladores crear, probar y depurar aplicaciones desarrolladas o no para la plataforma .NET. </li></ul><ul><li>Inicialmente se llamó Visual Studio 7.0 ya que es la evolución del Visual Studio 6.0. </li></ul><ul><li>La última versión a 02/2004, es el Visual Studio 2003. </li></ul><ul><li>SharpDevelop es un IDE open source para .NET que representa una buena alternativa a Visual Studio.NET: </li></ul><ul><ul><li>http://www.icsharpcode.net/opensource/sd/ </li></ul></ul>
  24. 24. Visual Studio.NET <ul><li>Microsoft incorpora en este entorno los siguientes lenguajes de programación: </li></ul><ul><ul><li>Visual Basic.NET: Versión .NET de Visual Basic 6.0. </li></ul></ul><ul><ul><li>Visual C++.net: Evolución de Visual C++. </li></ul></ul><ul><ul><li>Visual J#.NET: Adaptación de Visual J++. </li></ul></ul><ul><ul><li>Visual C#.NET: Un nuevo lenguaje de programación OO. </li></ul></ul><ul><li>Empresas ajenas han creado compiladores de sus lenguajes para la plataforma .NET: </li></ul><ul><ul><li>Eiffel, Perl, Python, Haskell, Pascal, Oberon... </li></ul></ul>
  25. 25. .NET My Services <ul><li>Microsoft ha creado una serie de servicios Web a los que llama “.NET My Services” o “HailStorm”. </li></ul><ul><li>.Net My Services son un conjunto de servicios Web XML que permiten al usuario almacenar y recuperar información confidencial (contactos, agenda, documentos...). </li></ul><ul><ul><li>http://msdn.microsoft.com/myservices </li></ul></ul>
  26. 26. Servidores para empresas <ul><li>La evolución de.NET ha obligado a Microsoft a realizar cambios en los servidores para empresas (Enterprise Servers) que distribuye. </li></ul><ul><li>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. </li></ul><ul><li>Algunos de estos servidores son: Application Center, BizTalk, Commerce Server, Exchange... </li></ul>
  27. 27. <ul><li>.NET es independiente del lenguaje de programación, no estamos restringidos a desarrollar en Visual C++ y Basic: </li></ul><ul><ul><li>Existen compiladores para C#, Visual Basic.NET, Jscript.NET, COBOL, Python, Perl, etc. </li></ul></ul><ul><ul><li>.NET soporta estos lenguajes no soportando realmente ninguno de ellos </li></ul></ul><ul><ul><ul><li>.NET sólo entiende Microsoft Intermediate Language (IL) </li></ul></ul></ul>Desarrollando para la plataforma .NET
  28. 28. <ul><li>.NET traduce código fuente a IL (Intermediate Language). </li></ul><ul><ul><li>El resultado de la compilación es IL + Metadata </li></ul></ul><ul><ul><li>IL es como un lenguaje ensamblador para una CPU virtual, basada en un pila (similar a Java bytecode) </li></ul></ul><ul><ul><li>IL es compilado antes de ser ejecutado y no está diseñado para un lenguaje en particular como en Java </li></ul></ul><ul><ul><li>Las sentencias IL manipulan tipos comunes compartidos por todos los lenguajes .NET (Common Type System – CTS) </li></ul></ul><ul><ul><li>El Common Language Runtime (CLR) es responsable de cargar y ejecutar una aplicación .NET </li></ul></ul><ul><ul><ul><li>Usa compilación JIT (Just-In-Time) para traducir IL a código nativo </li></ul></ul></ul><ul><ul><ul><li>IL es siempre compilado y nunca interpretado no como con JVM </li></ul></ul></ul><ul><ul><ul><li>El código IL por cada método sólo es compilado cuando es indicado </li></ul></ul></ul>Una plataforma independiente del lenguaje
  29. 29. <ul><li>Recordemos la figura anterior que ilustra el proceso de compilación de un programa en .NET </li></ul>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...
  30. 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. 31. Hola Mundo en .NET <ul><li>Todo programa en C# contiene al menos una clase </li></ul><ul><li>Main es el punto de entrada del programa </li></ul><ul><li>Console.WriteLine(“Hola desde C#”) , visualiza un mensaje, invocando método WriteLine de la clase Console </li></ul><ul><li>El espacio de nombres System pertenece a .NET FCL ( Framework Class Library ) </li></ul><ul><li>FCL contiene muchas clases útiles, que pueden usarse desde nuestras aplicaciones .NET </li></ul><ul><li>Para compilar el programa necesitamos una copia de .NET SDK, y usar el compilador de C#, csc </li></ul>
  32. 32. Hola Mundo en .NET III <ul><li>Path para csc.exe en mi máquina: </li></ul><ul><li>C:WINDOWSMicrosoft.NETFrameworkv1.1.4322 </li></ul>
  33. 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
  34. 34. Desemsamblando Hola Mundo <ul><li>&quot;c:Program FilesMicrosoft.NETSDKv1.1Bin ildasm.exe &quot; </li></ul>
  35. 35. Bibliografía usada para preparar el curso <ul><li>Microsoft.NET for Programmers, Fergal Grimes, Manning, ISBN 1-930110-19-7, 2002: </li></ul><ul><ul><li>http://www.manning.com/grimes </li></ul></ul><ul><li>Programming Microsoft.NET, Jeff Prosise, Wintellect, Microsoft Press, ISBN 0-7356-1376-1, 2002 </li></ul><ul><ul><li>http://www.microsoft.com/mspress/books/5200.asp </li></ul></ul><ul><li>Microsoft .NET SDK Framework Documentation </li></ul><ul><ul><li>http://msdn.microsoft.com/netframework/ </li></ul></ul><ul><ul><li>http://www.microsoft.com/net/ </li></ul></ul><ul><li>Seminario.NET y C#, Ander Barbier y Unai Extremo, Universidad de Deusto, 2003: </li></ul><ul><ul><li>http://asignaturas.deusto.es/Seminario.NET </li></ul></ul>
  36. 36. Enlaces de interés <ul><li>GotDotNet: The Microsoft .NET Framework Community: </li></ul><ul><ul><li>http://www.gotdotnet.com/ </li></ul></ul><ul><li>.NET home page: </li></ul><ul><ul><li>http://www.microsoft.com/net/ </li></ul></ul><ul><li>MSDN .NET Framework site: </li></ul><ul><ul><li>http://msdn.microsoft.com/netframework/ </li></ul></ul><ul><li>Website con ejemplos y ayuda en programación C#: </li></ul><ul><ul><li>http://www.c-sharpcorner.com/ </li></ul></ul><ul><ul><li>http://www.csharphelp.com/ </li></ul></ul><ul><ul><li>http://www.csharp-station.com/ </li></ul></ul><ul><li>Implementación Open Source .NET (Proyecto mono): </li></ul><ul><ul><li>http://www.go-mono.com/ </li></ul></ul><ul><li>Fundamental: Class Library en la sección Reference de .NET Framework SDK Documentation </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×