IV International Conference of Unix at Uninet
  • Presentation
  • Register
  • Program
  • Organizing Comittee
  • Listing of registered people
  • Translators team
Talk

20031220-1.sp

FelixBuenas Tardes a todos
alejandrosi.
FelixQué tal Alejandro... saludos a todos los presentes...
FelixNuestro conferenciante del día de hoy se llama
FelixAlejandro Sanchez Acosta, es español y estará presentando
Felix"Mono: Una implementación libre de .NET"
FelixColabora actualmente en varios proyectos GNU y GNOME
Felixy es la segunda vez que se encuentra con nosotros en umeet.
Felix[english translation in #redes , preguntas y comentarios en #qc]
FelixMuchas gracias por estar con nosotros Alejandro,
Felixy te cedo la palabra para que comiences tu conferencia.
FelixAlejandro...
alejandroBuenos días/tardes.
alejandroGracias por volverme a invitar para colaborar en esta edición de umeet.
alejandroLa conferencia tratará sobre Mono, la implementación libre que se está llevando sobre el framework .NET.
alejandroEste proyecto fue iniciado en el 2001, posteriormente de ya haber salido en el 2000, lo que se consideraron los estandares ECMA en los que se definia el marco de desarrollo de la plataforma .NET definida por Microsoft.
alejandroEn un primer comienzo fue un interés de una única persona, Miguel de Icaza, que interesado en el proyecto en el 2000 comenzó a interesarse en hacer una implementación libre para Unix de este framework.
alejandroNo fue ya hasta el 2001 cuando se llegaron a consolidar los estandares de ECMA, en los que se pudo ya empezar a trabajar en la parte correspondiente al runtime, al compilador y la libreria de clases.
alejandroEntonces fue cuando ya consiguiendose un compilador (mcs) que compilaba código C# a lenguaje intermedio (IL) a partir del trabajo hecho por miguel presentandose ya sus primeros trabajos en la GUADEC.
alejandroYa colaborando un grupo de desarrolladores, como fue Miguel, Paolo Molaro, Ravi y Rhys, se empezó a desarrollar parte del runtime.
alejandroEste consistía en un interprete que lo que hacía era traducir de código intermedio (IL) a código máquina independiente de la plataforma, bien fuera una arquitectura sparc, pcc, IA32 o IA64.
alejandroPosteriormente ya se empezó parte del trabajo en un compilador Just In Time que mejoraba en eficiencia lo que hacía el intérprete, generando código de forma mucho más ràpida y optima.
alejandroYa partiendo de un compilador que compilaba código en el lenguaje usado por .NET (C#) y teniendo un runtime, se podia compilar y ejecutar código de la plataforma .NET en plataformas Unix.
alejandroEs decir, .NET, un estándar en ECMA, que posteriormente ha tenido una implementación con Mono, iria a constar de un framework de trabajo capaz de desarrollar aplicaciones de forma muy sencilla.
alejandroPor ello, aparte de ser multilenguaje y multiplataforma, será necesario consolidar una base para tener soporte a multiples tipos de tecnologías, como pueden ser creación de páginas dinámicas, programación de interfaces gráficas, tratamiento de documentos XML y así un largo etcétera.
alejandroPor lo que definiremos .NET como aquella plataforma capaz de permitirnos tener todas las tecnologías existentes de forma compacta para un sencillo desarrollo.
alejandroEn un principio se pensó tener sólo un lenguaje genérico para programar en esta plataforma, que fue C#, pero al tratarse de un framework multilenguaje, nos permitirá el uso de diversos lenguajes.
alejandroEstos lenguajes serán C#, VB.NET, Opteron, C++, Guile, Perl y así un largo etcétera.
alejandroMás adelante veremos también como se consigue esto y que nuevos lenguajes nos proporcionará.
alejandroEn cuanto al desarrollo de Mono, actualmente se está siguiendo la 0.29, que pretende tener una versión 1.0 para comienzos del 2004.
alejandroEsta versión de Mono contará con una serie de características que intentarán equipararse con la versión del framework .NET 1.0.
alejandroLas metas que se han establecido son las siguientes para la versión 1.0:
alejandro* Libreria corlib: mscorlib, System, System.Security y System.XML.
alejandroEstas librerías vendrán formando unidades que son las que llamaremos assemblies.
alejandro* ADO.NET
alejandroNos proporcionará de forma sencilla el acceso a base de datos, incluyendo los assemblies System.Data para el acceso genérico a base de datos,
alejandroy un amplio repertorio de providers de bases de datos como son mysql, postgresql, sybase o informix.
alejandro* ASP.NET
alejandroSi queremos conseguir crear páginas de forma dinámica teniendo tecnología SSI (Server Side Includes) o versiones ya más mejoradas necesitaremos el uso de ASP.NET dentro de Mono.
alejandroLenguajes similares a este serían ya PHP o ASP.
alejandroTambién aparte se ha conseguido el soporte de la inclusión de asp.net dentro de apache por medio de mod_mono.
alejandroEn esta sección incluiremos todos los controles web y html necesarios para generar páginas de forma dinámica.
alejandroLa mejora es que podremos incrustar código en el lenguaje que queramos, bien sea VB.NET o sea C#.
alejandroEn el caso de Mono tendremos que esperar a que mbas, el compilador de VB.NET esté terminado.
alejandro* Compiladores:
alejandroAquí incluiremos compiladores como mcs, mbas (VB.NET) y jscript.net.
alejandro* Librerias específicas de Unix, software libre o GNOME.
alejandroAquí encontraremos muchos de los wrappers de librerias ya conocidas como gtk#, vorbis#, glib#, gstreamer#, así entre otras.
alejandroOtros componentes que se está trabajando es en el toolkit de ventanas usada en windows conocido como SWF (System Windows Forms), que lo que nos permite es crear aplicaciones gráficas con el entorno de Mono.
alejandroPara ello lo que se está usando es la libreria libwine, que lo que nos permitirá es correr aplicaciones tanto en plataformas Unix como Win32.
alejandroLuego parte como son Enterprise Services, Directory Services y JScript se intentará cubrir dentro de lo que se conoce como Mono 1.2.
alejandroEn cuanto a partes relacionadas con el rendering y el dibujado en pantalla con System.Drawing se ha optado buena parte usar la libreria de renderizado cairo del proyecto freedesktop.
alejandroReferido a nuevas tecnologías que vendrán dentro de Mono, buena parte ha sido discutido en la PDC (Developers Conference) desarrollada en el 2003, en la que ha discutido parte de los avances que se irán incorporando a este framework.
alejandroAlgunas de estas son: Avalon (creación de interfaces graficas), WinFX (librerias para longhorn), WinFS (almacenamiento).
alejandroAún así en Mono 1.0 se notará que algunas carencias seran incluidas como:
alejandroGAC: El global assembly caché, una caché común donde depositaremos nuestros assemblies en el sistema.
alejandroEl port a PPC que ya se ha conseguido gran avance en él que ya es capaz de compilar pequeños fragmentos de código.
alejandroPerfiles de ECMA.
alejandroFirmados de assemblies en las que se han elaborado una serie de herramientas para Mono que nos permitirá firmar de forma segura nuestros ensamblados por medio de System.Crytography.*
alejandroCacheado en ASP.NET y autenticación por medio de digest y ntlm (autenticación en windows)
alejandroDepurado en muchas de las librerias de clases que nos proporcionan soporte tanto para tratamiento de documentos XML, creación de esquemas, validación, ejecución de aplicaciones, gestión de base de datos, etc.
alejandroY una mayor estabilidad.
alejandroAsí que estas serán las metas impuestas para Mono 1.0 que se prevee una release para el 2004.
alejandroAlgunas de estas carencias ya están resueltas.
alejandroAún así habrá partes experimentales como son JSCript.net (compilador de javascript), VB.NET, WBE, Windows Forms y el soporte de templates con generics.
alejandroEn cuanto a lo que he comentado de estabilidad, me refiero a que estas características al no estar algunas implementadas se conseguirá en 1.0 que se le ofrezca nuevo soporte al igual que una mayor depuración del código correspondiente a Mono.
alejandroYa habiendo conocido parte de Mono y de lo que es .NET entraré un poco en lo que serán los nuevos componentes que en un futuro llegarán a formar parte con la llegada de Whidbey y Longhorn, las nuevas versiones del framework .NET y las características que nos proporcionará Longhorn que se adaptarán dentro de Mono.
alejandroBien, el SDK Whidbey o .NET 1.2 se separará por partes dentro de Mono, para hacer posible la compilación tanto si queremos usar .NET 1.0 como 1.1 como las nuevas características de Whidbey.
alejandroEste como principal característica nos permite el uso de templates, ya conocidos por ejemplo en C++ con el nombre de STL.
alejandroAquí dentro de .NET se conocerán como generics.
alejandroAdemás se añadirá ASP.NET 1.2 con nuevos controles para el desarrollo de aplicaciones web, mayor personalización y uso de temas.
alejandros/ASP.NET 1.2/ASP.NET 2
alejandroEn la parte de Remoting que es la parte de comunicación distribuida de Mono, se conseguirá la comunicación entre cliente-servidor por medio de canales seguros.
alejandroAparte de los ya conocidos por medio de HTTP o TCP.
alejandroEn la parte de XML, se tendrá que dar soporte tanto a XPath y XQuery.
alejandroLuego también se añade soporte para la entrada/salida por medio de System.Console a através del puerto serie.
alejandroSe añadirán nuevos widgets dentro de Windows.Forms y el soporte de Object Spaces, una API mucha más sencilla para el acceso a base de datos.
alejandroEn cuanto a Mono 1.2 si se añadirá generics, si tendremos ASP.NET 2.0, si habrá las nuevas mejoras de remoting, se añadira XQuery y se introducirán ya las versiones finales de VB.NET y jscript.net.
alejandroEsto será sobre finales del 2004.
alejandroAparte se seguirá intentando mejorar los proyectos de documentación aparecidos dentro de Mono como son Monkeyguide (un completo tutorial sobre Mono)
alejandroy el soporte de la aplicacion MonoDOC para tener bien organizado toda la API de Mono.
alejandroEn cuanto a un largo plazo, ya hablando del 2006, se intentará integrar WinFX.
alejandroEsta será toda la serie de características que usará el nuevo Longhorn.
alejandroQue proporcionará características como Avalon, WinFS y Indigo.
alejandroAvalon: Creación de interfaces gráficas por medio de XAML.
alejandroXAML no es más que una definición XML en la que se encontrará como declarar interfaces.
alejandroEsto ya lo conocereis por ejemplo de glade que es simplemente lo mismo.
alejandroWinFS: Para almacenamiento y Indigo vendrá a ser el nuevo desarrollo de Remoting dentro de Longhorn.
alejandroSi os fijais, si conseguimos estos propositos será muy sencilla la compatibilidad entre distintos sistemas operativos.
alejandroPor lo que podremos correr nuestras aplicaciones en ambos sistemas, pero de forma que sea totalmente libre.
alejandroEn cuanto a estas nuevas tecnologías parte de la implementación, como es la de Avalon recairá en implementaciones basadas en Gdiplus/Cairo para el tema de renderizado.
alejandroEn cuanto al nuevo lenguaje de marcas XAML se presentarán nuevas clases.
alejandroAdemás de introducir un nuevo pequeño compilador que se encargue de traducir de las fuentes XAML a C#.
alejandroAl ya haber sido hecho en Glade, no será muy complicado de implementar.
alejandroLa parte complicada vendrá de la parte de todos los nuevos widgets, por lo que necesitaremos tener un toolkit bajo unix que esté completo.
alejandroPor lo que en un principio se adoptará la idea de hacer un Mini-Avalon.
alejandroEn cuanto a Indigo, se puede leer un pequeño FAQ de lo que será en: http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx?pull=/library/en-us/dnlong/html/indigofaq1.asp
alejandroAún así esta características no son previstas hasta el 2006.
alejandroYa habiendo visto lo que es Mono, que es .NET, como se está implementando, que nuevas características trairá y que planes hay para un futuro, me gustaría dar la charla por concluida.
alejandroAsí que si hay alguna pregunta este es el momento.
FelixClap! Clap! Clap! Clap! Clap! Clap! Clap!
Felix Clap! Clap! Clap! Clap! Clap! Clap! Clap!
FelixClap! Clap! Clap! Clap! Clap! Clap! Clap!
Felix Clap! Clap! Clap! Clap! Clap! Clap! Clap!
FelixClap! Clap! Clap! Clap! Clap! Clap! Clap!
FelixMuchísimas gracias Alejandro por tus palabras.
alejandroA ustedes por vuestra asistencia.
FelixMe gustaría invitar al público para hacerle preguntas a Alejandro...
Felixyo tengo una pregunta para Alejandro :-)
Voinsclap clap clap clap clap
kroczCLAP CLAP CLAP CLAP
FelixClap! Clap! Clap! Clap! Clap! Clap! Clap!
EMPERORplas plas plas plas plas plas plas
EMPERORplas plas plas plas plas plas plas
EMPERORplas plas plas plas plas plas plas
alejandroAparte, os invito a colaborar con el proyecto.
alejandroMono: http://www.go-mono.org
alejandroPara los hispanohablantes, está MonoHispano en:
alejandrohttp://www.monohispano.org
oviedoPregunta!.
FelixAdelante oviedo.
alejandroLuego monkeyguide:
alejandrohttp://www.go-mono.org/tutorial/
oviedoalejandro, crees que mono se posicione bien en el mercado antes de que el nuevo windows salga al mercado me parece que en el 2006 ??.
oviedoosea tenemos tiempo como para tener programadores convencidos con mono.
oviedoy asi poder migrar poco a poco a plataformas libres??.
alejandroEl tema de Mono, es un tema delicado.
alejandroVa conforme al desarrollo de .NET y las especificaciones ECMA que vayan sacando.
alejandroPor lo que características como Avalon, Indigo, WinFS y WinFX no estarán disponibles hasta seguramente entonces.
alejandroPero si que creo de forma positiva en el desarrollo de Mono y la creación de aplicaciones con este framework de trabajo, de forma equiparable a lo que tendremos con .NET 1.0 y 1.2.
FelixMe gustaría que hicieran sus preguntas, por favor, ya que no nos queda mucho tiempo.
alejandrooviedo: ¿Queda respondida tu pregunta?
oviedosi., muchas gracias.
FelixAlguna otra pregunta?
alejandroAlgo que seguramente no tengamos en Linux, es un IDE como el VS, por lo que se está intentando ahora mismo portar SharpDevelop al mundo Unix.
alejandroAl principio se comenzó portando SWT#.
oviedoha! y otra mas, entonces dices que mono va acorde a .NET, y que la mayoria de cosas se toman de .NET, crees que .NET se fije en algunas implementaciones creadas en mono que no esten en .NET para asi que ellos tomen lo de mono para su plataforma?, o lo ves muy dificil
alejandroPero ahora se está intentando tener un IDE para linux con sharpdevelop mediante el uso de las librerias gtk#.
alejandroEs cierto, que en Mono si que se han creado nuevas características, sobre todo nuevas librerias de clases que quizás se acaben adoptando.
alejandroEs por eso que existe ECMA donde se reunirá la gente de Mono, MS y otras empresas para discutir si se incluye o no.
alejandroAsí que si es posible que se incluyan nuevas mejoras a .NET por parte de Mono.
oviedohaa.! ya entendi., me queda perfectamente claro! muchas gracias.
FelixAlejandro: tu hablaste de bases de datos pero no nombraste ni Oracle ni DB2. ¿éstos motores están soportados por Mono?  
alejandroFelix: Si, también hay soporte para el acceso de base de datos a Oracle y DB2.
alejandroAparte tienes libgda# para el acceso a base de datos, pero muchas de ellas si que están soportadas.
alejandroFelix: Mira si te interesa: http://www.go-mono.com/ado-net.html
clskHay posibilidad de que gcc sea integrado en mono?
alejandro    * MySQL
alejandro    * ODBC
alejandro    * Oracle
alejandro    * OLE DB
alejandro    * PostgreSQL
FelixAlejandro: ¿Existe diferencia de performance entre .NET sobre Windows y Mono sobre Linux?  
alejandro    * Microsoft SQL Server
alejandro    * SQL Lite
alejandro    * Sybase
alejandro    * TDS Generic
alejandroFelix: Así entre otros.
MJesusNET es free software ?
alejandroFelix: Si te digo la verdad no lo sé, no he hecho benckmarking entre aplicaciones compiladas y ejecutadas por el runtime de ambos.
alejandroPero si que se ha conseguido gran mejora en gran parte.
clskHay posibilidad de que gcc sea integrado en mono?
alejandroPor ejemplo, Ben Maurer, se implementó System.Xsl y era mucho más rapido que la propia libreria hecha en C de libxml.
alejandroAparte el runtime, cuando se añadio Mini (ahora mono) se consiguieron grandes mejoras en tiempo de ejecución.
alejandroclsk: No creo, se habló de integrar soporte para compilar código en C#.
alejandroMJesus: No, no es software libre.
alejandroMJesus: Aún así Microsof tiene rotor que no es software libre, es una shared licence de esas.
alejandroAsí que igual que todo el software que crea MS, propietario. :-(
clskPara cuando se puede esperar un compilador de C++ si es que hay pensado incluir uno?
FelixAlejandro: ¿Cómo maneja mono la posibilidad de escribir código malicioso?
alejandroFelix: Es todo código gestionado, el tratamiento de punteros es todo de forma unsafe, aunque puede ser añadida.
clsky/o de C
alejandroHay managed C++.
alejandroPero no creo que se llegue a incluir un compilador de C++ aún en Mono, al menos a un corto plazo.
clskentonces que es managed C++?
alejandroUna versión de C++ modificada que te permite el uso de las librerias de clases de .NET.
clskohh
clskok
alejandroVendría a generar IL como el resto de lenguajes gestionados.
alejandroMJesus: Tú puedes usar ensamblados, que es como la forma de empaquetar tus librerias o ejecutables (PE).
alejandroPor lo que luego puedes usar esos assemblies en Mono y viceversa.
alejandroEstos tendrán luego referencias a determinadas clases y se utilizarán las propias dlls que te proporciona Mono.
alejandroA diferencia de que es software libre.
FelixAlejandro: No conozco cómo son las licencias de .NET, pero ¿existe la posibilidad de que MS cambie el tipo de licencias sobre .NET, su byteCode o maquina virtual y perjudique de alguna forma a Mono?
alejandroEn temas jurídicos no estoy metido, pero eso es algo que Miguel lo tiene muy revisado.
FelixOk.
FelixMás preguntas?
MJesusque finalidad tiene mono, es decir, para que queremos mono, teniendo java, que es libre ?
alejandroSegún tengo entendido si está estandarizado dentro de ECMA no hay problema.
clskpero microsoft tiene el patente de .NET registrado?
alejandroEl problema viene si acaso por parte de lo que no se haya integrado en ECMA, que hay parte en .NET que no, pero que yo sepa ahora no hay ningún problema.
alejandroclsk: No, no hay patentes bajo lo que es .NET sino si acaso en algunas de las tecnologías que ellos han creado para .NET.
alejandroMJesus: Java no es libre.
alejandroMJesus: Aparte de tener una alternativa libre a la de .NET, la ejecución de multiples lenguajes.
FelixAlejandro: ¿Cuán confiable será Mono a principios de 2004? [por ejemplo para hacer aplicaciones críticas, comercio electrónico, etc.]
alejandroPero realmente .NET lo que ha hecho es eso, coger Java, incluir todo lo que le faltaba y la gente quería para posteriormente estandarizarlo.
alejandroFelix: Con la llegada de Mono 1.0 se conseguirá la realización de aplicaciones críticas.
MJesusalejandro, veamos, si java no es libre, net tampoco lo es. Ergo... si net no es libre, que hace eso en linux? poner en riesgo todo linux ?
alejandroAún así en la página de Mono podrás ver gran parte de aplicaciones escritas en Mono.
alejandros/en/para.
alejandro¿Alguna pregunta más?
FelixAlejandro: ¿el manejo de transacciones sobre MS se hará sobre MTS o se ha creado algo nuevo para .NET, y... en consecuencia qué se utilizará para el manejo de transacciones en Mono?
alejandroEn Linux facilitará la creación de aplicaciones, por eso mono, un framework de desarrollo para cualquier sistema.
alejandroMono puede usarse en windows, linux, solaris, hp-ux, macosx..
jbilboalejandro: un compañero mio hizo una conferencia en mi universidad sobre mono y le llovieron las preguntas del tipo: ¿No crees que estamos favoreciendo en la lucha a Microsf en la lucha con SUN y su java. No crees que tendriamos que haber creado un lenguaje ajeno al de microsof para nuestras necesidades (Gnome,etc) y quedar fuera/neutrales en esa lucha de mercado? ¿Que piensas tú sobre eso?
alejandroNadie aquí ha hablado de la posibilidad de usar .NET dentro de Linux, por el momento para MS, multiplataforma es (win98, win2000, win2003...)
alejandroAparte de la implementación de Rotor para FreeBSD que es sharedlicence, que si quieres poder mirar el código fuente.
MJesysPuede ya considerarse que Icaza trabaja para M$?
alejandrojBilbo: Yo creo que no todo lo que hace MS tiene que ser malo, que a veces tiene buenas ideas y es bueno que nos aprovechemos de ellas.
alejandroQuizás si Java hubiera sido más libre pues se hubiera conseguido parte.
MJesuses net mas libre que java ?
alejandroPero ahora con Mono, yo creo que es posible.
alejandroAhora de forma sencilla tu puedes crear una aplicación en pocas líneas de código.
alejandroMJesus: Me parece que no entiendo bien la pregunta.
alejandroMJesus: Creo que Miguel siempre ha favorecido al software libre y con Mono va a conseguir que el desarrollo de aplicaciones, principalmente en el escritorio para un usuario final, se consigan de forma eficiente.
alejandromira por ejemplo el desarrollo de evolution.
alejandroMJesus: Estoy hablando de Mono, que es totalmente libre.
alejandroMJesus: No estoy discutiendo el hecho de que sea más libre o menos libre NET que Java.
FelixMuchísimas gracias a Alejandro por su excelente charla.
MJesussi, eso decir.. pero metiendo codigo de M$ en linux no ?
FelixMuchas gracias a todos por haber estado aqui.
FelixY recuerden que el Lunes estaremos nuevamente con la siguiente  conferencia.
FelixDec, 22, 16:00 UTC. "Multihoming". Horacio Peña (Lab de Redes Compendium, Agentina)
jBilboplas plas plas plas plas plas plas plas plas plas plas plas :)
MJesusclap clap clap clap clap clap clap clap clap clap
jBilboplas plas plas plas plas plas plas plas plas plas plas plas :)

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net!

email usmore information


© 2003 - www.uninet.edu - contact organizing comittee - valid xhtml - valid css - design by raul pérez justicia