Introducción a Mono
Total Page:16
File Type:pdf, Size:1020Kb
Introducci´ona Mono Introducci´onal cursillo Qu´ees Mono Introducci´onal entorno Interfaces gr´aficas . Otros Referencias Agradecimientos y . * P´agina www P´agina de Abertura Pablo Ordu˜naFern´andez(aka NcTrun) JJ II Julio 2006 J I P´agina 1 de 147 Regresar Full Screen This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.0/ or send a letter to Creative Commons, 559 Nathan Cerrar Abbott Way, Stanford, California 94305, USA Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 1. Introducci´on alIntroducci´ona cursillo Mono Introducci´onal cursillo Qu´ees Mono Introducci´onal entorno Interfaces gr´aficas . Otros Referencias Agradecimientos y . Introducci´onal cursillo * P´agina www P´agina de Abertura JJ II J I P´agina 2 de 147 Regresar Full Screen Cerrar Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 1.1. De qu´eva este cursilloDe qu´eva este cursillo • El cursillo est´aentre los Cursillos de Julio de los grupos de inter´esde la Uni- Introducci´onal cursillo versidad de Deusto Qu´ees Mono – Cursillos de Julio: Introducci´onal entorno ∗ Desde hace varios a˜nos,alumnos y alumnas de la Facultad de Ingenier´ıa Interfaces gr´aficas . de la Universidad de Deusto organizan de manera voluntaria una serie Otros de cursillos que abarcan diversas ´areas de conocimiento Referencias ∗ Esta actividad es coordinada por la Delegaci´onde Alumnos Agradecimientos y . ∗ Cuenta con el apoyo de profesores y de la Facultad de Ingenier´ıa- * ESIDE, que anima e impulsa estas actividades facilitando el uso de P´agina www aulas informatizadas y dem´as recursos para que su realizaci´onsea lo mejor posible. P´agina de Abertura – Filosof´ıade los cursillos JJ II ∗ ¡Compartir conocimiento! J I ∗ Ayudar a dar los primeros pasos de una tecnolog´ıa, lenguaje de pro- P´agina 3 de 147 gramaci´on, etc · En consecuencia: En un cursillo se abarcan la m´aximacantidad de Regresar temas en el m´ınimotiempo posible. No es posible profundizar mu- Full Screen cho en cada tema, pero s´ıver lo suficiente para que el/la alumno/a pueda seguir aprendiendo por su cuenta, una vez dados los primeros Cerrar pasos. Abandonar · Cursillos introductorios, no exhaustivos – M´asinformaci´on sobre los Cursillos de Julio • Este concretamente se da desde el grupo de software libre de la Universidad Introducci´onal cursillo (el e-ghost) y desde el grupo de .NET de la Universidad (el DotNetGroup) Qu´ees Mono Introducci´onal entorno Interfaces gr´aficas . Otros Referencias Agradecimientos y . * P´agina www P´agina de Abertura JJ II J I P´agina 4 de 147 Regresar Full Screen Cerrar Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 1.2. Objetivos Objetivos • Pretende ser una introducci´on a Mono Introducci´onal cursillo Qu´ees Mono – cubriendo algunos de los temas m´asdivertidos de esta plataforma Introducci´onal entorno – a d´ıade hoy (17-20 de Julio de 2006) Interfaces gr´aficas . • En algunos puntos puede ser m´as que una introducci´on Otros Referencias – Suelen ser para explicar otros puntos que s´ılo pretenden ser Agradecimientos y . – Adem´ashan sido ampliadas (no actualizadas) durante la semana despu´es * del cursillo P´agina www • Se procura dar suficientes enlaces y referencias para avanzar en diferentes cam- P´agina de Abertura pos, en especial al final del pdf JJ II • El cursillo es una actualizaci´on del cursillo de mono que se imparti´oen Julio 2005 J I P´agina 5 de 147 Regresar Full Screen Cerrar Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 1.3. Requisitos Requisitos • C#. Desde el DotNetGroup Se imparti´oun cursillo de 6 horas de C#. Apuntes Introducci´onal cursillo disponibles en: Qu´ees Mono Introducci´onal entorno – la web de los cursillos Interfaces gr´aficas . – la web del grupo Otros – el hueco web del autor en la web del e-ghost Referencias Agradecimientos y . * P´agina www P´agina de Abertura JJ II J I P´agina 6 de 147 Regresar Full Screen Cerrar Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 2. Qu´ees Mono Introducci´ona Mono Introducci´onal cursillo Qu´ees Mono Introducci´onal entorno Interfaces gr´aficas . Otros Referencias Agradecimientos y . Qu´ees Mono * P´agina www P´agina de Abertura JJ II J I P´agina 7 de 147 Regresar Full Screen Cerrar Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 2.1. Qu´ees Mono Qu´ees Mono • Mono es una plataforma libre de desarrollo multiplataforma Introducci´onal cursillo Qu´ees Mono • Desarrollo dirigido por Novell / Ximian Introducci´onal entorno • Objetivo: Interfaces gr´aficas . Otros – que GNU/Linux triunfe en el escritorio Referencias – intentando dar a los desarrolladores de software de GNU/Linux una plataforma Agradecimientos y . en la que desarrollen m´assoftware en menos tiempo * P´agina www P´agina de Abertura JJ II J I P´agina 8 de 147 Regresar Full Screen Cerrar Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 2.2. Un poco de historiaUn poco de historia Introducci´onal cursillo 2.2.1. Ximian Qu´ees Mono • Fundada por Miguel de Icaza y Nat Friedman Introducci´onal entorno • Su prop´osito era desarrollar software de escritorio para GNU/Linux Interfaces gr´aficas . Otros • Seg´unafirman esto les supon´ıaun gran esfuerzo Referencias – Crearon herramientas para facilitarlo Agradecimientos y . Sin obtener el resultado esperado * P´agina www • Ya anteriormente hab´ıan llegado a la conclusi´onde que no se estaba reuti- lizando c´odigo en GNU/Linux P´agina de Abertura – Cada lenguaje reimplementa sus librer´ıasdesde cero JJ II – Cada programa ten´ıapoco m´as que libc o xlib en com´uncon el resto J I • Evolution P´agina 9 de 147 – Aplicaci´on grande Regresar – Desarrollo demasiado caro Full Screen ∗ 2,5 a˜nos Cerrar ∗ 17 programadores en algunos momentos Abandonar · de Icaza:”los ´ultimosseis meses fueron doloros´ısimosporque en- contramos todo tipo de problemas con haberlo hecho en C ” Introducci´onal cursillo Qu´ees Mono Introducci´onal entorno Interfaces gr´aficas . Otros Referencias Agradecimientos y . * P´agina www P´agina de Abertura JJ II J I P´agina 10 de 147 Regresar Full Screen Cerrar Abandonar 2.2.2. Gnome • Por entonces, desde gnome se intentaba solventar el problema con algunas soluciones: Introducci´onal cursillo Qu´ees Mono – Bindings de sus librer´ıas Introducci´onal entorno ∗ (Esta soluci´on es llevada a cabo por muchos otros proyectos) Interfaces gr´aficas . ∗ Problemas: Otros · Cada vez que se cambia algo hay que volver a hacer demasiado Referencias trabajo Agradecimientos y . Hoy existen sistemas que automatizan bastante esta tarea * · Lenguajes menos populares sufren P´agina www – Bonobo P´agina de Abertura ∗ Soluci´on a creaci´onde componentes reusables · Utilizando CORBA JJ II · Basado en interfaces establecidos J I · Independiente del lenguaje P´agina 11 de 147 ∗ Los resultados no fueron los esperados Regresar Full Screen Cerrar Abandonar 2.2.3. .NET • Por entonces (2000), Microsoft publicaba la ”.NET Initiative” Introducci´onal cursillo – .NET Framework Qu´ees Mono ∗ Nueva plataforma de desarrollo Introducci´onal entorno ∗ Nueva infraestructura para desarrollo de Servicios Web Interfaces gr´aficas . ∗ Nuevas herramientas para la plataforma de desarrollo Otros – Hailstorm Referencias ∗ el sistema de single sign-on centralizado de Passport Agradecimientos y . * ∗ No implementado por Mono ∗ DotGNU s´ıpretende implementar una alternativa P´agina www P´agina de Abertura JJ II J I P´agina 12 de 147 Regresar Full Screen Cerrar Abandonar 2.2.4. .NET Framework • Resolv´ıatodos los problemas que hab´ıan tratado de resolver, de una forma m´asorganizada Introducci´onal cursillo Qu´ees Mono • Ofrec´ıa: Introducci´onal entorno – Garbage Collector, Threading... Interfaces gr´aficas . – Un nuevo lenguaje de alto nivel, C# Otros – Una potente librer´ıa Referencias Agradecimientos y . – Soporte para m´ultiples lenguajes * – Especificaciones ya publicadas P´agina www • Las partes m´as complejas estaban estandarizadas P´agina de Abertura – Permitiendo que se hiciesen implementaciones de ello JJ II • A mediados de 2001 decidieron lanzar el Proyecto Mono J I – Desarrollando una implementaci´on libre del .NET Framework P´agina 13 de 147 Regresar Full Screen Cerrar Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 2.3. Caracter´ısticas b´asicasCaracter´ısticasb´asicas Introducci´onal cursillo 2.3.1. Common Language Infrastructure Qu´ees Mono • La plataforma es independiente al lenguaje Introducci´onal entorno • Cuenta con un lenguaje universal, el CIL Interfaces gr´aficas . Otros – Common Intermediate Language, tambi´en llamado IL o MSIL Referencias – f´acilmente compilable Agradecimientos y . – cada lenguaje tiene su compilador que genera CIL * • Luego, del CIL se genera el c´odigonativo de la plataforma en la que se ejecute P´agina www P´agina de Abertura – compilador JIT (Just In Time) o AOT (Ahead Of Time) o int´erprete – En estos momentos, est´an soportadas: JJ II ∗ x86 (Linux, Windows, BSD, Solaris/x86) J I ∗ PowerPC (Mac OS X 10.2, 10.3, Linux) P´agina 14 de 147 ∗ AMD64 (Linux) Regresar ∗ SPARC, S390 Full Screen Cerrar Abandonar Introducci´onal cursillo Qu´ees Mono Introducci´onal entorno Interfaces gr´aficas . Otros Referencias Agradecimientos y . * P´agina www P´agina de Abertura JJ II J I P´agina 15 de 147 Regresar Full Screen Cerrar Abandonar Introducci´on a Mono c 2006 Pablo Ordu˜na. e-ghost y DotNetGroup 2.4. Mono y .NET Mono y .NET Introducci´onal cursillo 2.4.1.