SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Introducción a Mono




        Adrián De León
        adl@adl.org.mx
    http://www.adl.org.mx
Objetivo de esta platica

Ver que es Mono.
Hacer un par de Demos.
Contestar Preguntas.
Que es Mono?

Una implementación libre de los estándares de
     ECMA 334 y 335 / ISO 23270 y 23271.
No, en serio. Que es Mono?

 Mono es una plataforma de desarrollo para
 Linux.
   Máquina Virtual (Common Language Runtime)

   Biblioteca de clases/APIs (biblioteca clases de
   ECMA, clases propias y clases de
   compatibilidad con Microsoft/.NET)

   Compilador de C# (MCS )
Objetivo del Proyecto
        Mono:
   Crear una plataforma de desarrollo de
   aplicaciones para Linux.
   Incrementar la productividad del programador
   de Linux.

 Efecto secundario: Ayudar a la
 migración de Windows a Linux
Porque Mono?

Las plataformas de desarrollo de Linux son
inmaduras.
La plataforma esta fragmentada.
Las herramientas de desarrollo son para 'Hackers '.
La necesidad de una velocidad mayor de TTM
(Time To Market) requiere herramientas mas
sofisticadas.
Porque Mono?
En Linux, todos construyen su propia plataforma :




                                           © Novell
                                           Inc,
Plataforma de Mono:




                 © Novell
                 Inc,
Que tiene que ver Mono
       con .NET?
Los dos son implementaciones del mismo
estándar
Mono contiene APIs de compatibilidad para
.NET
Se puede reutilizar la experiencia,
conocimiento y código de .NET en Mono.
    Mono   NO es un “clon” de .NET.
Mono: Dos APIs




                 © Novell
                 Inc,
Una solución para desarrollo
  de aplicaciones en Linux.
 Mono es una excelente plataforma para desarrollar
 aplicaciones en Linux:
    Manejo automático de memoria.

    Biblioteca de clases muy completa.

 Multilenguaje:
    C#

    VB.NET

    Nermele

    IronPython
Una solución para desarrollo
 de aplicaciones en Linux...
 No es un lenguaje o framework nuevo. .NET y C# son
 aceptados por la industria.
    Los departamentos de sistemas y desarrollo conocen .
    NET/C#, no conocen Python, Perl o Ruby.

    Documentación, entrenamiento y certificación para .
    NET/C# se encuentran disponibles y se pueden reutilizar
    con Mono.

 Mono esta disponible en varias plataformas:
    Linux x86, Linux PPC, s390, Linux AMD64, MacOS, etc.

    y .NET y Mono están disponibles en Windows.

 Mono provee desarrollo /deployment multiplataforma.
Varios lenguajes, Varias
     arquitecturas




                    © Novell
                    Inc,
Ventajas

Ventajas de Mono:
  Java

  .NET

  C y C++

  Python

  Perl

  Ruby
Desventajas de Mono

Desventajas de Mono sobre Java:
  Mas maduro.

  mas implementaciones.

  Aceptado por la industria.

  Mejores herramientas de desarrollo (Eclipse)

  Excelente soporte en Linux.
Desventajas de Mono

Desventajas de Mono sobre .NET
  .NET es mas visible.

  Aceptado por la industria

  .NET es la plataforma a seguir (El problema de
  reimplementación )

  Mejor documentación.

  Mejores herramientas de desarrollo (VS.NET
  2005 )
Ejemplo de código C#
Hola mundo en Mono con
          C#
using System;
public class Hola
{
public static void Main()
{
Console.WriteLine(“Hola Mundo!”);
}
}




                Igual que en .NET
Demo: Corriendo el mismo
 assembly en Mono y .NET
Demo: Comparar el CIL de
dos assemblies en diferentes
         lenguajes
 Dos archivos: DemoCS.cs y DemoVBS.vbs.
 Compilamos los dos archivos y generan
 assemblies: DemoCS.exe y DemoVBS.exe
 Ver el CIL (Common Intermidiate
 Language).
 Compararlos.
Demo: Web Services

Crear un servidor de Web Services en Mono.
Crear un cliente para este Web Service.
Correr el cliente (compilado en Linux con
Mono) en Windows con .NET y llamar el
Web Service corriendo en Linux.
Demo: Crear un Navegador
         de Web
 Como programar un navegador de web en
 menos de 35 lineas de código
 Uso de las herramientas de desarrollo de
 Mono en Linux:
   Monodevelop

   GTK#

   Glade

   Gecko-sharp
Demo: Aplicaciones
    creadas con Mono.
Monodevelop
Banshee
F-spot
Tomboy
Beagle
iFolder
¿Preguntas?
Gracias

Weitere ähnliche Inhalte

Was ist angesagt?

cuestionario sobre redes de computadores
cuestionario sobre redes de computadorescuestionario sobre redes de computadores
cuestionario sobre redes de computadores
Daniiel Espiinosa
 
El modelo jerárquico de 3 capas de
El modelo jerárquico de 3 capas deEl modelo jerárquico de 3 capas de
El modelo jerárquico de 3 capas de
veimar Arando
 
Linux presentacion
Linux presentacionLinux presentacion
Linux presentacion
Oscaripag
 
FUNDAMENTOS DE SISTEMAS
FUNDAMENTOS DE SISTEMASFUNDAMENTOS DE SISTEMAS
FUNDAMENTOS DE SISTEMAS
Cinthia López
 
ARQUITECTURAS PARALELAS
ARQUITECTURAS PARALELASARQUITECTURAS PARALELAS
ARQUITECTURAS PARALELAS
Alumic S.A
 

Was ist angesagt? (20)

Utilerias
Utilerias Utilerias
Utilerias
 
cuestionario sobre redes de computadores
cuestionario sobre redes de computadorescuestionario sobre redes de computadores
cuestionario sobre redes de computadores
 
El modelo jerárquico de 3 capas de
El modelo jerárquico de 3 capas deEl modelo jerárquico de 3 capas de
El modelo jerárquico de 3 capas de
 
Linux suse
Linux suseLinux suse
Linux suse
 
Cuadro comparativo linux, windows y android
Cuadro comparativo linux, windows y androidCuadro comparativo linux, windows y android
Cuadro comparativo linux, windows y android
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de Software
 
Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
Debian caracteristicas
Debian caracteristicas Debian caracteristicas
Debian caracteristicas
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
 
Presentación sobre Ubuntu
Presentación sobre UbuntuPresentación sobre Ubuntu
Presentación sobre Ubuntu
 
Software libre, RICHARD STALLMAN. Software privativo, linux, gnu; Gnu con Linux
Software libre, RICHARD STALLMAN. Software privativo, linux, gnu; Gnu con LinuxSoftware libre, RICHARD STALLMAN. Software privativo, linux, gnu; Gnu con Linux
Software libre, RICHARD STALLMAN. Software privativo, linux, gnu; Gnu con Linux
 
Sistemas operativos libres y propietarios
Sistemas operativos libres y propietariosSistemas operativos libres y propietarios
Sistemas operativos libres y propietarios
 
Linux presentacion
Linux presentacionLinux presentacion
Linux presentacion
 
FUNDAMENTOS DE SISTEMAS
FUNDAMENTOS DE SISTEMASFUNDAMENTOS DE SISTEMAS
FUNDAMENTOS DE SISTEMAS
 
Linea de tiempo del sistema operativo Linux-Cronología.
Linea de tiempo del sistema operativo Linux-Cronología.Linea de tiempo del sistema operativo Linux-Cronología.
Linea de tiempo del sistema operativo Linux-Cronología.
 
Android studio
Android studioAndroid studio
Android studio
 
ARQUITECTURAS PARALELAS
ARQUITECTURAS PARALELASARQUITECTURAS PARALELAS
ARQUITECTURAS PARALELAS
 
Cocomo basico
Cocomo basicoCocomo basico
Cocomo basico
 
Maquinas virtuales
Maquinas virtualesMaquinas virtuales
Maquinas virtuales
 

Andere mochten auch

Charla sobre monos escuela flor de bahia
Charla sobre monos escuela flor de bahiaCharla sobre monos escuela flor de bahia
Charla sobre monos escuela flor de bahia
morsing87
 
Powerpoint Mono
Powerpoint MonoPowerpoint Mono
Powerpoint Mono
dgnstudio
 
Diapositivas del mono
Diapositivas del monoDiapositivas del mono
Diapositivas del mono
gomezkevin
 
Historia De Los Monos
Historia De Los MonosHistoria De Los Monos
Historia De Los Monos
Pilar Torres
 
Taller de Mono - Desarrollo Visual en .NET bajo Linux
Taller de Mono - Desarrollo Visual en .NET bajo LinuxTaller de Mono - Desarrollo Visual en .NET bajo Linux
Taller de Mono - Desarrollo Visual en .NET bajo Linux
Juan Percy Rojas Cruz
 
Hipervinculos en power point
Hipervinculos en power pointHipervinculos en power point
Hipervinculos en power point
Claudia Altavista
 

Andere mochten auch (20)

presentacion de los monos
presentacion de los monospresentacion de los monos
presentacion de los monos
 
Los monos
Los monosLos monos
Los monos
 
Diapositiva de mono 4
Diapositiva de mono 4Diapositiva de mono 4
Diapositiva de mono 4
 
El mono
El monoEl mono
El mono
 
Proyecto Mono
Proyecto MonoProyecto Mono
Proyecto Mono
 
Charla sobre monos escuela flor de bahia
Charla sobre monos escuela flor de bahiaCharla sobre monos escuela flor de bahia
Charla sobre monos escuela flor de bahia
 
Los monos
Los monosLos monos
Los monos
 
Powerpoint Mono
Powerpoint MonoPowerpoint Mono
Powerpoint Mono
 
Monos titi
Monos titiMonos titi
Monos titi
 
Diapositivas del mono
Diapositivas del monoDiapositivas del mono
Diapositivas del mono
 
Wmshirts
WmshirtsWmshirts
Wmshirts
 
Desarrollo De Software con Herramientas Libres
Desarrollo De Software con Herramientas LibresDesarrollo De Software con Herramientas Libres
Desarrollo De Software con Herramientas Libres
 
Los primates
Los primatesLos primates
Los primates
 
Historia De Los Monos
Historia De Los MonosHistoria De Los Monos
Historia De Los Monos
 
Taller de Mono - Desarrollo Visual en .NET bajo Linux
Taller de Mono - Desarrollo Visual en .NET bajo LinuxTaller de Mono - Desarrollo Visual en .NET bajo Linux
Taller de Mono - Desarrollo Visual en .NET bajo Linux
 
Mono al desnudo
Mono al desnudoMono al desnudo
Mono al desnudo
 
monos
monosmonos
monos
 
Taller de monos
Taller de monosTaller de monos
Taller de monos
 
Hipervinculos en power point
Hipervinculos en power pointHipervinculos en power point
Hipervinculos en power point
 
Zoo Refugio el Eden. Rotulos de Informacion de las Especies - Puyo - Ecuador
Zoo Refugio el Eden. Rotulos de Informacion de las Especies - Puyo - EcuadorZoo Refugio el Eden. Rotulos de Informacion de las Especies - Puyo - Ecuador
Zoo Refugio el Eden. Rotulos de Informacion de las Especies - Puyo - Ecuador
 

Ähnlich wie Introducion a Mono

Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
lilymejia1979
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
brobelo
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
lilymejia1979
 
Preserntacion programacion.net
Preserntacion programacion.netPreserntacion programacion.net
Preserntacion programacion.net
Dilson Cruz
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
infobran
 
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
Flor 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 visual
miguelangelvillelli
 
Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Deber 130912163339-phpapp01
Deber 130912163339-phpapp01
Rayco Paucar
 

Ähnlich wie Introducion a Mono (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
 
Preserntacion programacion.net
Preserntacion programacion.netPreserntacion programacion.net
Preserntacion programacion.net
 
Conceptos de Plataforma.Net
Conceptos de Plataforma.NetConceptos de Plataforma.Net
Conceptos de Plataforma.Net
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435
 
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
 
Taller C Sharp Con Mono Develop2.4
Taller C Sharp Con Mono Develop2.4Taller C Sharp Con Mono Develop2.4
Taller C Sharp Con Mono Develop2.4
 
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.net Introduccion.net
Introduccion.net
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
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
 
Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Deber 130912163339-phpapp01
Deber 130912163339-phpapp01
 

Kürzlich hochgeladen

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Kürzlich hochgeladen (10)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Introducion a Mono

  • 1. Introducción a Mono Adrián De León adl@adl.org.mx http://www.adl.org.mx
  • 2. Objetivo de esta platica Ver que es Mono. Hacer un par de Demos. Contestar Preguntas.
  • 3. Que es Mono? Una implementación libre de los estándares de ECMA 334 y 335 / ISO 23270 y 23271.
  • 4. No, en serio. Que es Mono? Mono es una plataforma de desarrollo para Linux. Máquina Virtual (Common Language Runtime) Biblioteca de clases/APIs (biblioteca clases de ECMA, clases propias y clases de compatibilidad con Microsoft/.NET) Compilador de C# (MCS )
  • 5. Objetivo del Proyecto Mono: Crear una plataforma de desarrollo de aplicaciones para Linux. Incrementar la productividad del programador de Linux. Efecto secundario: Ayudar a la migración de Windows a Linux
  • 6. Porque Mono? Las plataformas de desarrollo de Linux son inmaduras. La plataforma esta fragmentada. Las herramientas de desarrollo son para 'Hackers '. La necesidad de una velocidad mayor de TTM (Time To Market) requiere herramientas mas sofisticadas.
  • 7. Porque Mono? En Linux, todos construyen su propia plataforma : © Novell Inc,
  • 8. Plataforma de Mono: © Novell Inc,
  • 9. Que tiene que ver Mono con .NET? Los dos son implementaciones del mismo estándar Mono contiene APIs de compatibilidad para .NET Se puede reutilizar la experiencia, conocimiento y código de .NET en Mono. Mono NO es un “clon” de .NET.
  • 10. Mono: Dos APIs © Novell Inc,
  • 11. Una solución para desarrollo de aplicaciones en Linux. Mono es una excelente plataforma para desarrollar aplicaciones en Linux: Manejo automático de memoria. Biblioteca de clases muy completa. Multilenguaje: C# VB.NET Nermele IronPython
  • 12. Una solución para desarrollo de aplicaciones en Linux... No es un lenguaje o framework nuevo. .NET y C# son aceptados por la industria. Los departamentos de sistemas y desarrollo conocen . NET/C#, no conocen Python, Perl o Ruby. Documentación, entrenamiento y certificación para . NET/C# se encuentran disponibles y se pueden reutilizar con Mono. Mono esta disponible en varias plataformas: Linux x86, Linux PPC, s390, Linux AMD64, MacOS, etc. y .NET y Mono están disponibles en Windows. Mono provee desarrollo /deployment multiplataforma.
  • 13. Varios lenguajes, Varias arquitecturas © Novell Inc,
  • 14. Ventajas Ventajas de Mono: Java .NET C y C++ Python Perl Ruby
  • 15. Desventajas de Mono Desventajas de Mono sobre Java: Mas maduro. mas implementaciones. Aceptado por la industria. Mejores herramientas de desarrollo (Eclipse) Excelente soporte en Linux.
  • 16. Desventajas de Mono Desventajas de Mono sobre .NET .NET es mas visible. Aceptado por la industria .NET es la plataforma a seguir (El problema de reimplementación ) Mejor documentación. Mejores herramientas de desarrollo (VS.NET 2005 )
  • 18. Hola mundo en Mono con C# using System; public class Hola { public static void Main() { Console.WriteLine(“Hola Mundo!”); } } Igual que en .NET
  • 19. Demo: Corriendo el mismo assembly en Mono y .NET
  • 20. Demo: Comparar el CIL de dos assemblies en diferentes lenguajes Dos archivos: DemoCS.cs y DemoVBS.vbs. Compilamos los dos archivos y generan assemblies: DemoCS.exe y DemoVBS.exe Ver el CIL (Common Intermidiate Language). Compararlos.
  • 21. Demo: Web Services Crear un servidor de Web Services en Mono. Crear un cliente para este Web Service. Correr el cliente (compilado en Linux con Mono) en Windows con .NET y llamar el Web Service corriendo en Linux.
  • 22. Demo: Crear un Navegador de Web Como programar un navegador de web en menos de 35 lineas de código Uso de las herramientas de desarrollo de Mono en Linux: Monodevelop GTK# Glade Gecko-sharp
  • 23. Demo: Aplicaciones creadas con Mono. Monodevelop Banshee F-spot Tomboy Beagle iFolder