introducion a mono

25
Introducción a Mono Adrián De León [email protected] http://www.adl.org.mx

Upload: adriandeleon

Post on 24-May-2015

3.926 views

Category:

Technology


1 download

DESCRIPTION

Introduccion a Mono

TRANSCRIPT

Page 1: Introducion a  Mono

Introducción a Mono

Adrián De Leó[email protected]

http://www.adl.org.mx

Page 2: Introducion a  Mono

Objetivo de esta platica

Ver que es Mono.

Hacer un par de Demos.

Contestar Preguntas.

Page 3: Introducion a  Mono

Que es Mono?

Una implementación libre de los estándares de ECMA 334 y 335 / ISO 23270 y 23271.

Page 4: Introducion a  Mono

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 )

Page 5: Introducion a  Mono

Objetivo del Proyecto Mono:

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

Crear una plataforma de desarrollo de aplicaciones para Linux.Incrementar la productividad del programador de Linux.

Page 6: Introducion a  Mono

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.

Page 7: Introducion a  Mono

Porque Mono?

En Linux, todos construyen su propia plataforma :

© Novell Inc,

Page 8: Introducion a  Mono

Plataforma de Mono:

© Novell Inc,

Page 9: Introducion a  Mono

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.

Page 10: Introducion a  Mono

Mono: Dos APIs

© Novell Inc,

Page 11: Introducion a  Mono

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 gran masa de desarrolladores

Programadores con experiencia en .NET pueden aplicar sus conocimientos y desarrollar aplicaciones en Linux.

Page 12: Introducion a  Mono

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.

Page 13: Introducion a  Mono

Varios lenguajes, Varias arquitecturas

© Novell Inc,

Page 14: Introducion a  Mono

Ventajas

Ventajas de Mono:Java

.NET

C y C++

Python

Perl

Ruby

Page 15: Introducion a  Mono

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.

Page 16: Introducion a  Mono

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 )

.NET es el futuro de Windows. Mono es una de muchas plataformas de desarrollo en Linux

Page 17: Introducion a  Mono

Ejemplo de código C#

Page 18: Introducion a  Mono

Hola mundo en Mono con C#

using System;public class Hola{public static void Main(){Console.WriteLine(“Hola Mundo!”);}}

Igual que en .NET

Page 19: Introducion a  Mono

Demo: Corriendo el mismo assembly en Mono y .NET

Page 20: Introducion a  Mono

Demo: Comparar el CIL de dos assemblies en diferentes

lenguajesDos 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.

Page 21: Introducion a  Mono

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.

Page 22: Introducion a  Mono

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

Page 23: Introducion a  Mono

Demo: Aplicaciones creadas con Mono.

Monodevelop

Banshee

F-spot

Tomboy

Beagle

iFolder

Page 24: Introducion a  Mono

¿Preguntas?

Page 25: Introducion a  Mono

Gracias