24 de Junio, 2008

Algunas decepciones con Mono

Bueno, esta anotación es un lloriqueo, y me reservo el derecho de tener o no razón. El lector queda avisado.

Ayer le mandé a Felipe una primera versión alfa (mucho, muy alfa) del próximo desknote, para ver si funcionaba en Windows (no tengo ningún sistema de este tipo instalado).

En primer lugar nos dimos cuenta en la página oficial de GTK# que, pese a que la versión actual es la 2.12, no existe paquete para Windows y el framework .NET de Microsoft de esa versión.

Los chicos de GTK# nos dan el fuente, y los paquetes para Windows parece que vienen de terceros, de una empresa que desarrolla una aplicación en Windows con la versión 2.8, y no tienen siempre tiempo de ir generando nuevos instalables para las nuevas versiones.

La verdad es que no resulta nada fácil compilar GTK+ (¡y el binding de GTK#!) en Windows (¡si no tengo ni el sistema instalado!), así que las posibilidades de portabilidad que nos ofrece el proyecto, al menos en esta parte, quedan bastante reducidas.

La solución ha sido, gracias a que MonoDevelop soporta generar código para distintas versiones de GTK#, revisar mi código (quitando lo que he usado de 2.12) para compilar el programa para la 2.10 (pese a que con esa versión no va en mi sistema).

Después de esto, anoche estuvimos probando un par de horas Felipe y yo, para descubrir que el framework de Microsoft no se comporta siempre igual que Mono :(. Entonces es cuando empieza la parte creativa de cambiar código que funciona bien en mi Linux para ver si funciona en el Windows de Felipe :S.

Por ahora, desde mi experiencia, Java 1 - Mono 0.

Anotación por Juan J. Martínez, clasificada en: monodevelop, gtksharp, csharp, software libre.

Hay 7 comentarios

Gravatar

En lo personal tengo el sindrome del "Fumador Deportista"; me gusta C# (.NET) y Linux. Asi que me dije a mi mismo: "mi mismo vamos a darle al Mono y al GTK# para desarrollar multiplataforma" y hay me ves primero sobre Windows dandole al VS lo paso a Linux y resulta que funciona pero en partes... me voy al otro extremo, me puse a darle a Monodeveloper lo paso a windows y me dice que siempre no, que pase mañana...

Despues de esas experiencias me di cuenta que de momento desarrollos multi plaraforma solo con java :'( si, aunque me duela aceptarlo, mono es genial pero la verdad es que aun esta muy "verde".

Como ves no eres el unico que sea topado con este reves :'(

por Seraphinux, en 2008-06-24 08:36:48

Gravatar

Siempre queda la opción de usar WinForms para intentar hacer un desarrollo multiplataforma. Se pierde toda la gracia de GTK#, pero quizá se consiga mejorar a la hora de pasarlo de un sistema a otro, hasta que GTK# madure un poquito más en windows. http://www.mono-project.com/WinForms

por Niltsiar, en 2008-06-24 09:15:40

Gravatar

Esto es ya offtopic pero por qué no C++ & Qt?

por un visitante, en 2008-06-24 09:56:32

Gravatar

Creo que se puede.

Ojo que usar Mono en windows es fácil, y funciona, nuestro problema es con hacer funcionar algo compilado con Mono contra el framework de Microsoft.

@Niltsiar creo que WinForms no está aún preparado para producción.

@visitante pues sí, salvo porque ya sé C++ y ya he trabajado con Qt, y quería probar C#.

Además me parece interesante eso de tener un binario universal... pero aún está por ver que lo consiga :D

por Juanjo, en 2008-06-24 10:43:02

Gravatar

A mi me pasaba algo parecido y al final he abandonado mi intención de usar Mono. C# me parece un lenguaje interesante y la verdad es que me hubiera gustado que la multiplataforma prometida por .NET fuera real, pero me temo que a menos que Microsoft decidiera apostar por ella no será fácil tener esos binarios capaces de correr en cualquier lado.

por SegFault, en 2008-06-24 11:28:06

Gravatar

Esto es un desastre.

No me lo puedo creer, pero asi es. Yo pense que la gente de Medsphere estaba liberando las ultimas versiones de Gtk# para Windows, pero al parecer no es el caso.

Estoy muy apenado por esto, y voy a ver que podemos hacer para que Novell se encargue de hacer esto.

Es un poco dificil por que el ingeniero de release que teniamos en Novell deja la empresa esta semana y va a retrasar este proyecto.

Estoy apenadisimo, esto es una omision terrible.

Miguel

por Miguel de Icaza, en 2008-06-25 22:06:24

Gravatar

@Miguel: Gracias, sería genial :)

La única información que tengo al respecto es el hilo:

http://go-mono.com/forums/#nabble-to16301589

Donde Brad Taylor (que se identifica como el responsable del instalador) explica que Medsphere probablemente no necesite 2.12, y que está dispuesto a ayudar a quién quiera hacerse cargo.

Me parece un buen movimiento que este paquete dependa directamente del proyecto Mono.

por Juanjo, en 2008-06-25 22:27:04

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: