fernand0 | Hola. |
fernand0 | La próxima conferencia tratará sobre Mono, la iniciativa libre que trata de |
fernand0 | ofrecer la funcionalidad de .Net en el mundo del software libre. |
fernand0 | Los dos |
fernand0 | ponentes son destacados representantes de la comunidad hispana, y miembros |
fernand0 | activos en numerosos proyectos, entre los que se encuentra el de Mono |
fernand0 | Hispano, del que nos van a hablar a continuación. |
fernand0 | También colaboran en diversas publicaciones con sus interesantes artículos. |
fernand0 | Alejando Sánchez (raciel) estudia en la UPSAM. |
fernand0 | Álvaro del Castillo (acs) trabaja en Andago. |
fernand0 | Alejandro, Álvaro, ... |
raciel | Hola, buenas tardes, como bien ha dicho Fernando, Álvaro y yo os vamos a explicar que es Mono y en que consiste como plataforma libre de desarrollo de .NET. |
acs | trataremos de daros una presentación de las tecnologías |
acs | y sus consecuencias |
acs | o los cmabios que pueden provocar dentro del mundo del software libre |
raciel | A continuación os explicaré en que consiste .NET y que es mono, y posteriormente Álvaro os hará unos pequeños ejemplos prácticos hechos en mono para familiarizarnos con el entorno. |
raciel | Bien, acs si te parece, comienzo explicando lo que es Mono y .NET. |
acs | adelante! |
raciel | Bien, .NET se trata de una plataforma de desarrollo totalmente distribuida y multilenguaje iniciada por MS. |
raciel | Para ello lo que ha hecho es publicar en unos estándares junto con el apoyo de otras compañias lo que es ECMA, donde se encuentra lo que es .NET, el CLR, la libreria de clases y todas sus especificaciones para que otras empresas puedan desarrollar plataformas relativas a .NET: |
raciel | .NET intenta resolver las carencias venidas atrás por otras tecnologías desarrolladas |
raciel | como podría el modelo distribuido de .NET conocido como DCOM al igual que otros modelos como Java, dando un total soporte multilenguaje. |
raciel | Con esto quiero decir que lo que nos va a permitir .NET es poder utilizar cualquier lenguaje de la plataforma y poderlo ejecutar en cualquier plataforma, bien sea una arquitectura x86, alpha, sparc o cualquier otra. |
raciel | Para ello es un modelo de desarrollo en la que lo que se va a constar es de un compilador por cada lenguaje de la plataforma, una libreiria de clases conocida como BCL y un runtime o entorno de ejecución. |
raciel | En la fase de compilación de nuestros programas lo que se va a hacer es compilarlo a un lenguaje intermedio conocico como CIL o en .NET MSIL. |
raciel | Este lenguaje va a venir dado por unidades mínimas conocidos como assemblies o ensamblados que nos van a permitir desglosar cada uno de los programas junto con una serie de información conocida como metadata que nos va a dar información de nuestros programas. |
raciel | Después posteriormente el runtime de .NET o Mono, su implementación libre, nos va a proporcionar la ejecución en cada una de las máquinas haciendo compilación a código nativo del lenguaje intermedio CIL. |
raciel | .NET principalmente va a estar orientado para resolver problemas como los entornos distribuidos al igual que permitirnos tener unicidad en nuestros programas podiendo reutilizar código en cualquier lenguaje de la plataforma. |
raciel | Para ello, conociendo .NET que lo que va a proporcionar es un modelo multiplataforma, distribuido y multilenguaje es tan bueno tener en constancia una implementación libre que será la que pasemos a estudiar, conocida como Mono. |
raciel | Para ello si quereis ir echandole un vistazo, como referencias a mono, podeis ir viendo http://www.go-mono.com |
raciel | lo que se está desarrollando en mono, es una libreria de clases ampliamente que es la libreria de clases básica (BCL) y un compilador para C# al igual que su runtime. |
raciel | todo totalmente libre, utilizando licencia GPL para el compilador y el runtime y licencia X11 para la libreria de clases. |
raciel | Servicios que nos va a proporcionar este entorno aparte de los ya comentados van a ser ASP.NET, ADO.NET, servicios web, servicios para la generación de interfaces gráficas más todas las añadidas en mono, que posteriormente pasaremos a estudiar. |
raciel | algunos servicios que nos va a proporcionar, son servicios para hilos, tratamiento xml, entre otros. |
raciel | En cuanto al modelo distribuido que se utilizará se conoce como Remoting, este nos permitirá no tener que conocer toda la ubicación de los objetos al igual que con una simple API, nos permitirá el acceso remoto cliente/servidor. |
raciel | Luego el sistema que se está utilizando para las interfaces GUI es el modelo de .NET conocido como System.Windows.Forms. |
raciel | el cual se está desarrollando en Mono gracias a la winelib por cuestiones de compatibilidad al igual que un wrapper hecho en GTK#, un port de gtk+, 'para recubir las aplicaciones hechas en windows dentro de .NET. |
raciel | Con esto comentar que nos va a permitir un amplio abanico de posibilidades ya que tanto la gente de windows, como la gente de linux podrán programar unidos dentro de una misma plataforma conocida como Mono. |
raciel | <jmgv> eso no lo invento ya Sun con la maquina virtual java? |
raciel | El problema de la máquina virtual de Java es que no permite soporte multilenguaje cosa que nosotros si vamos a poder disponer, al igual que el código que era generado en bytecode a código nativo tenía que ser interpretado hasta que se empezaron a utilizar los Jitters. |
raciel | Por lo que no resultaba optimo. |
raciel | A continuación que he explicado un poco tecnicamente .NET álvaro os dirá como poder disponer del framework completo para poder trabajar al igual que un tipico ejemplo de hola mundo para ir familiarizandonos. |
raciel | adelante acs |
raciel | <jmgv> CORBA? DCOM? usais algo mas rarillo como XML-RPC? |
raciel | bien, para el modelo de CORBA lo que se quiere es adaptar este modelo a Mono |
raciel | como iniciativa en un principio surgió el proyecto MonORB en mono hispano para hacer una implementación de CORBA en Mono. |
acs | bien |
raciel | ahora lo que se está haciendo es creo recordar es pasar el modelo de Java, JacORB con JUMP a C# |
acs | para comenzar a trabajar con Mono lo primero es bajar |
acs | el compilados del lenguaje C# |
raciel | aún así queda mucho trabajo por hacer en todo lo que es Mono. |
acs | y el entorno de ejecución |
acs | el "runtime" |
raciel | entendà bien cuando dijiste que usar GTK# nos va a permitir que luego el mismo programa se use en windows (por ejemplo) usando el toolkit de windows? |
raciel | en cuanto a esta duda, comentar que lo que se ha hecho es mediante invocación por plataforma (P/Invoke) llamadas a código nativo en C, por lo que vamos a poder utilizar la libreria de la misma forma que ya en gtk+ se podría hacer. |
raciel | Aún así hay paquetes de gtk# para windows. |
raciel | perdona, acs, sigue :) |
acs | bien, lo primero es instalarse pues el compilar y el runtime |
acs | los que tengáis debian lo teneís fácil |
acs | o los de red hat tb |
acs | ya que hay paquetes sencillos de instalar |
acs | no hay muchas dependencias, más que con las últimas versiones de ciertas librerias de gnome2 |
acs | como glib2 |
acs | por ejemplo, en el caso de debian |
acs | bastaría con apt-get install mono |
acs | apt-get install mcs |
acs | una vez que lo tengamos instalado |
acs | podemos comenzar a jugar con un primer programa |
acs | sencillo |
acs | por ejemplo el típico "Hola Mundo" |
acs | el código sería algo así como |
acs | public static void Main (string[] args) |
acs | { |
acs | System.Console.WriteLine ("Hola chicos de Umeet"); |
acs | } |
acs | este sería el método principal de la clase |
acs | de ejemplo con la que estamos trabajando |
acs | como todo son objetos en C#, al igual que en Java, para poner una simple función que escriba un mensaje |
acs | necesitamos crear una clase con esa función (método) |
acs | como sólo queremos utilizar ese método |
acs | lo declaramos estático |
acs | y no hace falta que creemos instancias de la clase para poderlo utilizar |
acs | si incluimos dicho método en una clase |
acs | class Hola { |
acs | public static void Main (string[] args) |
acs | { |
acs | System.Console.WriteLine ("Hola chicos de Umeet"); |
acs | } |
acs | } |
acs | tenemos ya un ejemplo que casi ya compilaría |
acs | ahora llega el momento de compilar dicho código |
acs | acs@linex:/tmp$ mcs Hola.cs |
acs | Compilation succeeded |
acs | como el ejemplo tiene muy poco código |
acs | no tenemos que preocuparnos de dependencias con otras librerías |
acs | sólo utilizamos las librerías básicas |
acs | que vienen por defecto al compilar |
acs | como es la clase System |
acs | por ello, hemos visto lo sencillo que ha sido compilarlo |
acs | acs@linex:/tmp$ ls -l Hola.* |
acs | -rw-r--r-- 1 acs acs 116 dic 9 22:32 Hola.cs |
acs | -rw-r--r-- 1 acs acs 2048 dic 9 22:32 Hola.exe |
acs | al compilar |
acs | el resultado es un fichero con el bytecode MSIL |
acs | Microsft Intermediate Language |
acs | este lenguaje generado |
acs | son instrucciones para la máquina virtual de Mono |
acs | que indican lo que se debe de hacer |
acs | para cumplir los objetivos del programa |
acs | la ejecución es también sencilla |
acs | basta con llamar a la máquina virtual |
acs | y decirle que queremos que ejecute el MSIL que hemos generado |
acs | algo que logramos con |
acs | mono Hola.exe |
acs | acs@linex:/tmp$ mono Hola.exe |
acs | Hola chicos de Umeet |
acs | la velocidad es muy rápida |
acs | al cargar la máquina virtual |
acs | algo que contrasta con la velocidad de ejecución de Java |
acs | que incluso en los ejemplos más triviales |
acs | provocaba in retardo en la carga de la máquina virtual |
acs | acs@linex:/tmp$ date;mono Hola.exe;date |
acs | lun dic 9 22:36:32 CET 2002 |
acs | Hola chicos de Umeet |
acs | lun dic 9 22:36:32 CET 2002 |
acs | vemos que no pasa ni un segundo en carga la máquina virtual |
acs | y ejecutar este código |
acs | existen múltiples optimizaciones a la hora de ejecutar el MSIL |
acs | acs@linex:/tmp$ time mono Hola.exe |
acs | Hola chicos de Umeet |
acs | real0m0.155s |
acs | user0m0.080s |
acs | sys0m0.010s |
acs | gracias a los consejos de sorrodp y pancake aquí tenemos una estimación más precisa |
acs | podemos ver el MSIL que se ha generado |
acs | con monodis |
acs | que es un desensamblador de MSIL |
acs | acs@linex:/tmp$ monodis Hola.exe |
acs | .assembly extern mscorlib |
acs | { |
acs | .ver 0:0:0:0 |
acs | } |
acs | .assembly 'Hola' |
acs | { |
acs | .hash algorithm 0x00008004 |
acs | .ver 0:0:0:0 |
acs | } |
acs | .class private auto ansi beforefieldinit Hola |
acs | extends [mscorlib]System.Object |
acs | { |
acs | ... |
acs | de momento no vamos a entrar en los detalles de este código |
acs | y ha llegado el momento de pasarle de nuevo el testigo a raciel |
acs | para que continue presentando las tecnologías de Mono |
raciel | acs: ok |
raciel | bien, ahora voy a continuar explicando un poco sobre las interfaces gráficas de las que podemos disponer en Mono. |
fernand0 | <Kefar> raciel: era absolutamente necesario interactuar con .NET para |
fernand0 | +desarrollar mono? |
raciel | Kefar: al principio cuando se empezó a desarrollar mono el compilador era totalmente dependiente de .NET (mcs) por lo que tuvo que esperar a que se pudiese compilar así mismo por lo que eso quiere decir que es totalmente independiente a .NET. |
raciel | Tanto el runtime, como la libreria de clases como el propio compilador al igual que puedes utilizar mono en windows sin ningún tipo de problema. |
raciel | bien, continuo, en el tema de interfaces gráficas tenemos System.Windows.Forms que sería la libreria de clases que utiliza windows para presentar interfaces gráficas. |
raciel | en GNU/Linux cuando comenzó lo que se hizo es un port de GTK a GTK# por parte de uno de los desarrolladores de Ximian, concretamente Mike Kestner junto con el apoyo de Richard Hestilow, los cuales portaron gtk a gtk#. |
raciel | la técnica que se basaron para portarla fue P/Invoke que es invocación a plataforma de forma que podemos hacer llamadas a librerias dinámicas en otros lenguajes tales como C. |
raciel | un ejemplo de eso sería: |
raciel | [DllImport (libc.so, Entrypoint=gets)] |
raciel | de forma que podríamos utilizar la función gets desde nuestro programa escrito en C# |
raciel | adaptando los tipos posteriormente a los tipos en C# |
raciel | luego se haría algo similar a int extern gets ()... |
raciel | si quereis más información hay un tutorial en castellano en mono.es.gnome.org |
raciel | al igual que hay documentación en msdn.microsoft.com |
raciel | en el caso de Xlib y QT se ha hecho lo mismo hacer ports de la las librerias a C#, de forma que podamos utilizar el fácil API de C#. |
raciel | esto consiguientemente aligera el coste de las aplicaciones en tiempo por lo que una aplicación desarrollada en C, seguramente la podríamos haber realizado en pocos meses y de una forma mucho más sencilla. |
raciel | luego otra cosa curiosa que nos aporta Mono, es lo que se conoce como Reflexion |
raciel | esto nos permite en tiempo de ejecución indagar sobre los propios objetos y assemblies de forma que podamos obtener información como que métodos tiene una clase o cualquier información de otro tipo. |
raciel | en cuanto a esto comentar que hay un proyecto curioso conocico como OpenJIT el cual es un Jitter en lenguaje nativo que utiliza la reflexión y invocación a plataforma para pasar código intermedio a código nativo de la máquina. |
raciel | en cuanto a otras tecnologías que nos aporta es el cumplimiento de muchos estándares como los orientados a Servicios Web |
fernand0 | <nerdwell> el C# fuente se pueden compilar en .NET y MONO ? haciendo a * compatibilidad * ? |
raciel | como podrían ser XML y SOAP entre otros. |
raciel | nerdwell: si, si tu compilas un programa en .NET y lo ejecutas en mono vas a tener total compatbilidad al igual que viceversa. |
raciel | bien en cuanto comentar acerca de los servicios web tendríamos los clásicos servicios de localización y de directorio al igual que un servicio de descripción que es estándar como el conocido WDSL. |
raciel | así que por lo que estamos viendo la tecnología de mono nos aporta un gran amplio abanico de posibilidades con un nivel de abstracción muy alto. |
fernand0 | <josanabr> pero como haces el enlace en linux de las clases disponibles en windows eso no me es claro y no me lo han respondido...? |
fernand0 | <josanabr> como va a estar toda la funcionalidad del .net en un poco |
fernand0 | menos que 3 megas del mono... ???? |
raciel | josanabr: pues sencillamente haciendo un -r libreria.dll al mcs, tan sencillo como eso. |
raciel | josanabr: es un sencillo ejemplo de hola mundo |
raciel | josanabr: aproximadamente no sé decirte por cuanto tienes todo el framework pero no sería por demasiado como te comenta fernando. |
raciel | bien, si queda contestada tu duda continuo. |
raciel | debido a que acs se ha tenido que ir voy a hacer un pequeño ejemplo de lo que sería una aplicación en gtk# |
raciel | namespace GtkSharpTutorial {^M |
raciel | using Gtk; |
raciel | using GtkSharp; |
raciel | using System; |
raciel | using System.Drawing; |
raciel | public class helloworld { |
raciel | static void hello (object obj, EventArgs args) |
raciel | {^M |
raciel | Console.WriteLine("Hello World"); |
raciel | Application.Quit ();^M |
raciel | }^M |
fernand0 | <josanabr> y tengo que pagar por esos .dll??? |
raciel | static void delete_event (object obj, DeleteEventArgs args)^M |
raciel | { |
raciel | Console.WriteLine ("delete event occurred\n");^M |
raciel | Application.Quit (); |
raciel | }^M |
raciel | public static void Main(string[] args)^M |
raciel | {^M |
raciel | Application.Init (); |
raciel | Window window = new Window ("helloworld");^M |
raciel | window.DeleteEvent += new DeleteEventHandler (delete_event); |
raciel | Button btn = new Button ("Hello World");^M |
raciel | btn.Clicked += new EventHandler (hello); |
raciel | window.Add (btn); |
raciel | window.ShowAll (); |
raciel | Application.Run ();^M |
raciel | } |
raciel | } |
raciel | }^M |
raciel | bien, esto sería una pequeña aplicación que nos mostaría un clásico hola mundo por pantalla. |
raciel | fernand0: no, como he comentado antes la libreria de clases es libre, X11. |
raciel | bien, como veis unicamente es un ejemplo de botón que al pulsar nos muestra un hola mundo. |
raciel | para ello lo que hacemos es crearnos un espacio de nombres o namespace, una clase principal y luego una seríe de métodos que se corresponderían a lo que en Mono se llaman delegados. |
raciel | de forma que cuando queramos lanzar un evento se llamen a esas funciones, serían similares a los punteros a funciones en C++. |
raciel | bien, hello nos imprime el mensajito de hola mundo. |
raciel | el método delete_event nos asocia un delegado a un evento de forma que cuando cerremos la ventana se nos cierre la aplicación con Application.Quit(); |
raciel | y en el programa principal pues igual que en gtk+, arrancamos el bucle de ejecución de gtk con Application.Init(); |
raciel | creamos una nueva ventana con Gtk.Window win = new Window ("Hola a todos"); |
raciel | y posteriormente le asociamos el evento delete_event a la ventana con: |
raciel | win.DeleteEvent += new DeleteEventHandler (delete_event); |
raciel | modificamos una propiedad win.BorderWidth = 10; |
raciel | para que tenga un borde la ventana de 10 |
raciel | y posteriormente |
raciel | creamos un botón tan facil como Button but = new Button ("Hola"); |
raciel | y cada vez que lo pulsemos (OnClicked) que llame al método hola |
raciel | btn.Clicked += ClickedEventHandler (hello); |
raciel | añadimos el botón a la ventana |
raciel | con win.Add (but); |
raciel | y posteriormente le decimos que lo muestre con: |
raciel | win.ShowAll(); |
raciel | finalmente hacemos Application.Run() para inicializar la aplicación |
raciel | y con esto tendremos un botón que al pulsarlo nos muestra hola a todos |
raciel | y eso sería nuestra aplicación en gtk#. |
raciel | como veis es muy sencillo hacer aplicaciones en GTK#, con eso comentaros que miguel en el transcurso de un viaje de bostón a algún sitio en 6 horas tenía su aplicación mphoto completamente. |
raciel | y comentar que mphoto es una aplicación para ver fotos de las más rápidas que quizás he visto, por lo que hacer aplicaciones rápidas y optimas con Gtk# se puede. |
raciel | ahora sino hay más dudas pasaré a explicar un poco sobre como incrustar aplicaciones en C# en C |
raciel | cuando se creo el JIT se hizo una completa API del entorno de mono para poder utilizar internall calls o llamadas internas del runtime para poderlas usar en C. |
raciel | el runtime naturalmente está escrito en C y me refiero a lo que es la VM o JIT |
raciel | por ello cada vez que ejecutamos un programa lo que se hace es crear un dominio de aplicación |
raciel | así que si en C queremos llamar a código hecho en C# es tan fácil como crearnos un nuevo dominio de aplicación que con un internal call llame a un método que nos haya devuelto el API y ejecutar determinado método por poner un ejemplo. |
raciel | De esta forma se podrán extender aplicaciones escritas en C con C# |
raciel | otros ejemplos son como incrustar código en C# en PERL con el módulo que se ha hecho en Perl Paolo Molaro |
raciel | o sencillamente como incrustar en guile parte hecha en Mono con mono-guile de Martin Baulig. |
raciel | por lo demás creo que ya está todo concluido, si quereis que me extienda más en la parte de acceso a bases de datos o como se generan páginas web dinámicas o como se ha hecho determinada cosa podeis comentarmelo. |
fernand0 | <jmgv> no consume muchos recursos la creación de tantos dominios, (uno |
fernand0 | +para cada llamada)? y no se consigue con esto una bajada de |
fernand0 | +rendimiento en el sistema con los cambios constantes de contexto? o |
fernand0 | +eso no se gestina asi? |
raciel | bueno, es que me referia a crearse un AppDomain por la propia aplicación hecha en C# |
raciel | unicamente con el internal call estamos accediendo a un método, era unicamente un ejemplo como comentaba antes |
raciel | no se me ha ocurrido otro mejor :-) |
raciel | otra cosa que no sé si he comentado a fondo es lo que es el recolector de basura, pero vamos unicamente se encarga de todo el código gestionado cuando ubicamos un objeto que pasado un tiempo se encargue de liberarlo |
raciel | por ello se ha utilizado boehm, que es el gc que desarrolló IBM |
raciel | bien, ya está acabada, si quereis preguntar más, ahora es el momento :-) |
fernand0 | plas plasplasplasplasplasplas |
fernand0 | plas plasplasplasplasplasplas |
fernand0 | plas plasplasplasplasplasplas |
fernand0 | plas plasplasplasplasplasplas |
sarnold | gracias raciel y acs :) |
> clap clap clap clap clap clap clap clap clap clap |
fernand0 | plas plasplasplasplasplasplas |
raciel | gracias, gracias! :) |
viZard | peren peren, que ahora van las preguntas :) |
fernand0 | plas plasplasplasplasplasplas |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> plas plas plas plas plas plas plas plas plas |
viZard | shhhh |
fernand0 | ok |
fernand0 | preguntas? |
> plas plas plas plas plas plas plas plas plas |
> plas plas plas plas plas plas plas plas plas |
> plas plas plas plas plas plas plas plas plas |
sarnold | thanks also to our translators, vizard, dani, acs :) |
fernand0 | /mode #linux -v mjesus |
arashi | And Arador |
arashi | :) |
ldipenti | Una pregunta,... |
ldipenti | No tengo en claro bien como es el tema de patentes de MS sobre la tecnología .NET, no es peligroso dedicar tanto trabajo a una tecnología que está controlada por una empresa que ya sabemos que no son nada bondadosos? Que pasará cuando MS cambie las condiciones de uso de su plataforma? |
DrBig_Bec | how is implemented the garbage collector in mono? is like the Sun Java? |
raciel | ldipenti: el caso es que el tema de las patentes es un tema muy delicado |
ldipenti | Claro, y porque es muy delicado, no convenía primero asegurarse de todo antes de embarcarse en semejante proyecto? |
> por favor, un poco de paciencia para dar tiempo a los traductores |
raciel | pero si tu tienes todo el entorno bajo un estándar el cual es ECMA y tu haces una implementación libre no vas a infringir ninguna patente, no sé si me entiendes. |
viXard | tra: DrBig_Bec: cómo está implementado el colector de basura en mono? es como el Sun java? |
ldipenti | Que pasará cuando gracias a Mono, .NET tenga una base de usuarios enorme, y entonces a MS se le ocurra cerrar todo? |
raciel | ldipenti: se trata de un estándar todo lo que es el runtime, luego que .NET desarrolle cosas por encima eso si es un peligro. |
ldipenti | O sea, que en ese aspecto uno puede estar seguro? |
jmgv | raciel asc... que tipos de acuerdos teneis con microsoft? solo es transferencia de informacion o algo mas? |
raciel | pero por el momento no está habiendo ningún problema, aunque yo no soy abogado, así que no soy el más indicado para decirlo. |
raciel | jmgv: ninguno, unicamente te estoy hablando de mono como framework, aquí no hay nada de perverso detrás. |
ldipenti | gracias raciel |
jmgv | raciel no iba por ahi. solo intentaba vislumbrar las intenciones de microsoft, no las vuestras que considero buenas.. y confio en ellas |
raciel | DrBig_Bec: that is the IBM implementation, it only uses generations, when your object brings X generations it is deallocated from memory. |
jmgv | pero no confio en m$ ya incumpliero ancuerdos como por ejemplo con sun |
raciel | but there is some documentation about that in www.go-mono.com in papers section. |
DrBig_Bec | thank you |
raciel | jmgv: unicamente en eso te puedo informar acerca de que ECMA se encarga de que sigan siendo unos estándares y cada cambio que hay en lo que es la base del runtime se tiene que consultar allí y añadir esas especificaciones a dicho estándar. |
Kefar | raciel: que tanto avanza .NET en la implementqcion colaborativa? me da la impresion que eso es algo bastante unilateral respecto de uds. |
raciel | Kefar: en eso está la gente algo cabreada de MS respecto a que mono es un proyecto que con tan sólo 100 desarrolladores ha ido creciendo rapidamente, ahora mismo puedes utilizar totalmente el framework, salvo por algunas pequeñas cuestiones, como el tema de System.Windows.Forms entre otros. |
raciel | Por ejemplo, en el tema de acceso a bases de datos está francamente pasado, al igual que en ASP.NET ya hay una implementación hecha por parte de Gonzalo Panigua. |
raciel | Ahora mismo, en mi opinión mono avanza a pasos gigantescos y con la colaboración entre todos llegará a estar completo mucho antes. |
raciel | Así que os animo a conocer Mono |
Kefar | desde mi punto de vista, perdoname.... se ve que estais sindo usados como bateria de pruebas |
raciel | luego si os interesa Mono Hispano es una comunidad que lo que intenta es cubrir proyectos, hacer documentación... sobre mono, asi que es una buena forma de entrar en contacto. |
raciel | en mono.es.gnome.org teneis referencias tanto a documentación como a la lista de correo de mono hispano donde podeis formular vuestras dudas. |
viXard | ¡¡ APLAUSOS !!! |
raciel | Kefar: yo no lo veo así, unicamente se está implementando una alternativa a .NET libre. |
viXard | ¡¡ APLAUSOS !!! |
jmgv | mono es de gnome cierto? |
raciel | jmgv: no :) |
viXard | Mono es de Ximian :) |
raciel | pero nos dieron alojamiento al proyecto y salio el dns así. |
viXard | creo XD |
jmgv | raciel.... |
jmgv | no me mal interpreteis |
Kefar | raciel: no puede dejar de cosiderarse con seriedad el asunto de las licencias de base....eso no esta claro |
jmgv | por la observacion que os voy a hacer ahora |
raciel | jmgv: tu comenta, estamos todos entre amigos, no te preocupes. |
jmgv | vale :-) |
jmgv | eso me tranquiliza |
jmgv | es que veras |
jmgv | cuando hispalinux |
jmgv | miguel icaza dio una charla |
jmgv | sobre mono |
E0x | que es PaKetto Keiretsu ? :D |
jmgv | y EL comento que andaba de viaje por europa, "subvencionado" por microsoft, por eso te hice la pregunta de si teniais algun acuerdo |
viXard | E0x: shh |
raciel | si, jmgv, yo estuve. |
jmgv | no me suena que Microsoft sea una ong |
raciel | jmgv: pero eso fue por asistir a la Net.ONE |
jmgv | y lo dijo o no lo dijo? |
raciel | que venía de allí y se aprovechó de la subvención |
raciel | la net.one es como una especie de congreso donde la gente de borland, microsoft, rotor, eclipse, mono... |
perlhead | raciel: lo de los standares ECMA está muy bien... pero sólo cubren la mayoría (no todos) los aspectos tecnológicos de .NET, y MS ha dicho ya que tiene patentes sobre varios de los procesos que son cruciales para .NET, y que piensan hacerlas valer. |
raciel | expuso cada una de las tecnologías. |
jmgv | ajam... |
raciel | perlhead: es que como te he dicho, yo no soy abogado, pero te puedo asegurar que miguel tiene a gente muy preocupada por esos temas |
jmgv | eso me tranquiliza, porque sali de la charla con un buen picor de culo... siento la expresion |
raciel | jmgv: bueno, pues fue eso |
raciel | te recomiendo que veas las transparencias de la netone, muy buenas :) |
perlhead | raciel: lo sé... hablé con Miguel al respecto en Perú. |
sorrodp | raciel: dónde se pueden encontrar esas transparencias? |
jmgv | okey gracias |
viXard | raciel: perdona, llegué tarde. Tienes en línea shots de los ejemplos que mencionaban, hechos en Mono? |
raciel | sorrodp: hay un enlace en www.go-mono.com si mal no creo recordar. |
perlhead | raciel: el tema es que por más que por lo visto todos estamos preocupados, y muchos tratamos de analizarlo, nadie puede darnos *certezas*. |
raciel | viXard: pues unicamente te puedo dar referencia al módulo de gtk-sharp/sample/tutorial en el CVS de mono |
raciel | que ahí he subido bastantes ejemplos en cuanto a gtk# |
perlhead | raciel: y si vamos a desarrollar software libre, necesitamos la *certeza* de que va a poder seguir siéndolo, y que no existe la posibilidad de que nuestro mismo trabajo sea usado en nuestra contra. |
raciel | viXard: luego es compilarlos y unicamente probarlos con el runtime. |
viXard | habrá un pantallazo por allí? |
ldipenti | Hay algún foro en Mono Hispano para discutir esta clase de cuestiones (patentes, estándares ECMA, etc...)? |
raciel | perlhead: si, si en eso te doy toda la razón |
raciel | para discutir estos temas en irc.gnome.org canal #mono-hispano |
raciel | al igual que la lista de correo. |
raciel | viXard: pues creo que si que lo hay en el tutorial que estamos haciendo |
raciel | mira en www.go-mono.com/gnometutorial/ |
raciel | creo recordar. |
raciel | ¿alguna pregunta más? |
> clap clap clap clap clap clap clap clap clap clap |
c58|slk | Felicidades :) estuvo interesante |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
fernand0 | Bueno |
dani | plas plas plas plas plas plas plas plas |
pancake | :D |
fernand0 | en nombre de la organización y de loa asistentes |
c58|slk | MJesus no pusiste atencion en la de spam :P |
fernand0 | agradezco a los conferenciantes su trabajo y esfuerzo por traernos aquí estos temas tan interesantes |
> como que no ? |
fernand0 | trataremos de poner la 'grabación' de la charla lo antes posible |
Ocell | hay q sacarse el sombrero!!! |
fernand0 | en la web de la conferencia |
raciel | fernand0: ok, perfecto, gracias a vosotros. |
c58|slk | ahora |
viXard | a ver |
c58|slk | alguien me puede ayudar a configurar mis iptables :P |
fernand0 | see you |
Karina | muy buena charla =D |
fernand0 | nos vemos |
Karina | chaus |
viXard | ¡¡ APLAUSOS !!! |
viXard | ¡¡ APLAUSOS !!! |
viXard | ¡¡ APLAUSOS !!! |
DarkLinux | che llege tarde pero despues la leo cuando este en la web |
viXard | ¡¡ APLAUSOS !!! |
viXard | ¡¡ APLAUSOS !!! |
viXard | y dije |
viXard | ¡¡ APLAUSOS !!! |
viXard | ¡¡ APLAUSOS !!! |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
> clap clap clap clap clap clap clap clap clap clap |
JGan^_^ | PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS |
JGan^_^ | PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS |
JGan^_^ | PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS PLAS |
jmgv | raciel gracias por tu charla |
viZard | que bien ha comenzao esto :) |
jmgv | muy instructiva, si seño! |
viZard | marcos |
raciel | jmgv: gracias a ti por asistir |
Ocell | raciel: gracias x la charla... |
DarkLinux | raciel yo llege tarde pero la proxima ves are lo posible por estar y leere la charla cuando la pongan en la web |
Ocell | ...ahora me toca poner en practica ls ejemplos... |
raciel | ahí ahí :-) |
raciel | Ocell: si tienes problemas apuntate a la lista de mono hispano. |
Ocell | ...lo hare...pq soy un neofito en esto |
ronald | Hola, soy de El Salvador, llegue tarde pero talvez alguien podría decirme que hora es en España para ponder a punto mi reloj para mañana |
> las 23:45 |
raciel | al igual que si quieres conocer mono, es una buena referencia la lista de correo. |
> pero el programa esta en gmt |
Ocell | ahora son ls 23:41 |
Ocell | bueno |
> osea, utc |
ronald | Gracias |
> son las 22:45 utc |
DarkLinux | mañana hay otra ?? |
> dentro de 2 horas hay otra |
> y mañana hay otras 3 |
viZard | ronald, en la seccion de programa de la web de umeet, hay un seleccionador de horario que lo pone como va en cada pais |
DarkLinux | pues yo me kedo aqui :=) |
ronald | Gracias, por el detalle |
Ocell | de que es la siguiente charla??? |
oscareous | Oigan cual es la otra charla ? |
viZard | ahi vas y lo usas para siempre sepas la hora local cuando toca una charla |
ronald | Ok, veré la web de umeet |
viZard | DarkLinux hay otra charla en una hora |
DarkLinux | viZard tu me conoces amigo :=) |
viZard | dos? |
viZard | ah |
viZard | pos dos |
bismarck | raciel: gaylo :** |
raul | hola |
Ahumaro | EOT |
zac | hola |
DarkLinux | hola |
Session Close: Mon Dec 09 23:29:55 2002 |