SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Evolucion de los sistemas operativos
Evolucion de los sistemas operativosEvolucion de los sistemas operativos
Evolucion de los sistemas operativosEstiben_Garcia
 
10 caracteristicas de windows 10
10  caracteristicas de windows 1010  caracteristicas de windows 10
10 caracteristicas de windows 10Valeria marino
 
SISTEMAS OPERATIVOS WINDOWS, LINUX, MACOS, ANDROID
SISTEMAS OPERATIVOS  WINDOWS, LINUX, MACOS, ANDROIDSISTEMAS OPERATIVOS  WINDOWS, LINUX, MACOS, ANDROID
SISTEMAS OPERATIVOS WINDOWS, LINUX, MACOS, ANDROIDC C
 
Evolución de linux
Evolución de linuxEvolución de linux
Evolución de linuxleopoldo16
 
Installation of Windows & Linux operating system
Installation of Windows & Linux operating systemInstallation of Windows & Linux operating system
Installation of Windows & Linux operating systemSathishnkl561998
 
Instalacion ubuntu - VirtualBox
Instalacion ubuntu - VirtualBoxInstalacion ubuntu - VirtualBox
Instalacion ubuntu - VirtualBoxJose Diaz Silva
 
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.JJAPULA
 
Evolucion Ubuntu
Evolucion Ubuntu Evolucion Ubuntu
Evolucion Ubuntu Hualverfox
 
Historia del sistema operativo Debian
Historia del sistema operativo DebianHistoria del sistema operativo Debian
Historia del sistema operativo DebianCesar Rodriguez
 
Linea de tiempo de linux y windows
Linea de tiempo de linux y windowsLinea de tiempo de linux y windows
Linea de tiempo de linux y windowsCarolina Garcia
 
Caracteristicas de windows
Caracteristicas de windowsCaracteristicas de windows
Caracteristicas de windowsYaileth Ayola
 
Del 1 al 10 La evolución de Microsoft Windows
Del 1 al 10 La evolución de Microsoft WindowsDel 1 al 10 La evolución de Microsoft Windows
Del 1 al 10 La evolución de Microsoft WindowsJuan David Camacho Flores
 

Tendances (20)

Evolucion de los sistemas operativos
Evolucion de los sistemas operativosEvolucion de los sistemas operativos
Evolucion de los sistemas operativos
 
Linea de tiempo linux
Linea de tiempo linuxLinea de tiempo linux
Linea de tiempo linux
 
Sistema operativo GNU / Linux
Sistema operativo GNU / LinuxSistema operativo GNU / Linux
Sistema operativo GNU / Linux
 
10 caracteristicas de windows 10
10  caracteristicas de windows 1010  caracteristicas de windows 10
10 caracteristicas de windows 10
 
SISTEMAS OPERATIVOS WINDOWS, LINUX, MACOS, ANDROID
SISTEMAS OPERATIVOS  WINDOWS, LINUX, MACOS, ANDROIDSISTEMAS OPERATIVOS  WINDOWS, LINUX, MACOS, ANDROID
SISTEMAS OPERATIVOS WINDOWS, LINUX, MACOS, ANDROID
 
Evolución de linux
Evolución de linuxEvolución de linux
Evolución de linux
 
Installation of Windows & Linux operating system
Installation of Windows & Linux operating systemInstallation of Windows & Linux operating system
Installation of Windows & Linux operating system
 
Android
Android Android
Android
 
Instalacion ubuntu - VirtualBox
Instalacion ubuntu - VirtualBoxInstalacion ubuntu - VirtualBox
Instalacion ubuntu - VirtualBox
 
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.
 
Evolucion Ubuntu
Evolucion Ubuntu Evolucion Ubuntu
Evolucion Ubuntu
 
Evolucion de linux
Evolucion de linuxEvolucion de linux
Evolucion de linux
 
Blackberry os
Blackberry osBlackberry os
Blackberry os
 
Historia del sistema operativo Debian
Historia del sistema operativo DebianHistoria del sistema operativo Debian
Historia del sistema operativo Debian
 
Linea de tiempo de linux y windows
Linea de tiempo de linux y windowsLinea de tiempo de linux y windows
Linea de tiempo de linux y windows
 
Requerimientos De Hardware De Sistemas Operativos.
Requerimientos De Hardware De Sistemas Operativos.Requerimientos De Hardware De Sistemas Operativos.
Requerimientos De Hardware De Sistemas Operativos.
 
Caracteristicas de windows
Caracteristicas de windowsCaracteristicas de windows
Caracteristicas de windows
 
Instalación windows 11.pdf
Instalación windows 11.pdfInstalación windows 11.pdf
Instalación windows 11.pdf
 
Sistema Operativo iOS
Sistema Operativo iOSSistema Operativo iOS
Sistema Operativo iOS
 
Del 1 al 10 La evolución de Microsoft Windows
Del 1 al 10 La evolución de Microsoft WindowsDel 1 al 10 La evolución de Microsoft Windows
Del 1 al 10 La evolución de Microsoft Windows
 

En vedette

En vedette (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
 

Similaire à Introducion a Mono

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
 
Preserntacion programacion.net
Preserntacion programacion.netPreserntacion programacion.net
Preserntacion programacion.netDilson Cruz
 
Conceptos de Plataforma.Net
Conceptos de Plataforma.NetConceptos de Plataforma.Net
Conceptos de Plataforma.NetJesús R. Tineo
 
Introducción a net
Introducción a netIntroducción a net
Introducción a netinfobran
 
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 0435Scarlett Rodriiguez
 
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
 
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.4Lorenzo Itza
 
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
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2cristian Salazar L
 
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
 
Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Deber 130912163339-phpapp01
Deber 130912163339-phpapp01Rayco Paucar
 

Similaire à 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
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
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 estossgonzalezp1
 
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 eyvanamcerpam
 
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...JohnRamos830530
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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.FlorenciaCattelani
 
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 ASPECTOSpptxJorgeParada26
 
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 XXIhmpuellon
 

Dernier (12)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
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
 
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...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
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.
 
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
 

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