MonoDevelop 0.10
Publicado por Rómulo Rodríguez 7 Abril 2006 en General, Herramientas, Mono, Software Libre / Abierto. english • españolAnoche mientras le daba un yum update a mi Fedora 4 (si, todavía no me animo a llevar mi laptop a FC5), me dí cuenta que actualizó todos los paquetes de Mono.
Lo más notable, además de actualizar Mono, fué la nueva versión de Monodevelop. La versión 0.10 que ya está lo suficientemente estable como para que la usemos.
Monodevelop es un bonito ambiente de desarrollo específicamente diseñado para la plataforma Mono. Lo novedoso de esta nueva versión es que incluye el paquete Stetic completamente integrado a Monodevelop. Stetic es un módulo que permite crear pantallas en Gtk# de una manera similar a Glade. La diferencia es que Stetic fué diseñado específicamente para Mono y ahora al integrarse a Monodevelop le da a este IDE un ambiente que le resulta bastante familiar a los usuarios de Visual Studio. Claro, guardando las distancias ya que Monodevelop sigue estando en desarrollo y si bien es bastante funcional en esta versión todavía le falta. Por ejemplo anoche probé una pequeña aplicación con un diálogo a ver como iba. Si funcionó correctamente pero todavía no incluye el código automáticamente cuando por ejemplo le doy un doble click a un botón en el diseñador de la forma. Si mal no recuerdo leí por ahi que si lo va a hacer, tal vez en la siguiente versión, o ya lo hace y no supe como jeje. *** Actualización, si lo hace, no exactamente como Visual Studio, pero si crea el stub con el código que manejará la señal proveniente de un widget de la forma ***.
Pero qué puede hacer Monodevelop por ahora. Lo más interesante es que nos permite crear de manera rápida programas bien sea basados en ventanas Gtk o bien sea usando webforms a la usanza de .NET. Tiene integrada toda la biblioteca de clases de Mono de forma que si ponemos un “.” en un objeto inmediatamente lista los miembros de esa clase a nuestra disposición… mucho mejor que usar un editor de texto. También nos permite, mediante addins, integrar NUnit que es el paquete de clases de prueba para Mono y también cosas interesantes como Monoquery para conexión con bases de datos libres como PostgreSQL.
Cosa curiosa. En esta versión ya podemos imprimir el código fuente de lo que estamos haciendo. Jeje, para que vean que se está progresando.
Una cosa que me gustaría, ya que lo necesito a cada rato, es que la programación de servicios web basados en XML y SOAP esté depurada como lo está en Visual Studio. No es gran cosa esto, pero la verdad ahorraría bastante trabajo.
Así que programadores de .NET, anímense a probar Mono y Monodevelop en Linux. Prueben el mundo libre, pero sean indulgentes que no todo está listo, aunque si funciona lo suficientemente bien como para programar muchas aplicaciones serias.

Hola, he instalado monodevelop 0.10 pero no he podido lograr incrustar los widgets bien, por ejemplo pongo un boton y toma todad la ventana, algun consejo?
Leoncio, eso es debido a que stetic usa Gtk# para crear las ventanas. En Gtk# se usan “contenedores” para colocar los widgets. De esta forma tu aplicación no dependerá de la resolución de la pantalla. Es solo una manera diferente de resolver el problema, no usamos coordenadas como en Visual Basic o en WinForms sino usamos cajas que contendrán los widgets. Puedes leer la documentación de Gtk# donde te explican la teoría detrás de esto.
Así que pon primero cajas verticales u horizontales y luego colocas los botones y los labels. También puedes usar tablas para ubicar los widgets. Suena complicado al principio pero después que te acostumbras es fácil… como todo ;-)
Hola, una pregunta. he visto que MonoDevelop 0.11 y 0.10 dividen los formularios GTK# en dos: una descripcion en stetic y una clase extendida de gtk.window para incovar las seccion de stetic correspondiente para ese formulario. los eventos se escriben en la clase segun estuve probando.
¿como puedo refenciar a otros wigdets del mismo formulario dentro de la clase si aun no estan defindos (solo estan en stetic, y se construyen dinamicamente) ?
por ejemplo ¿como un boton setea la propieda text de un entry?
Gracias.
no estoy seguro de si entiendo bien cuál es tu duda. Pero supongo que es con el manejo de los eventos. Te hago un resumen corto, porque creo que es materia de un artículo aparte.
Stetic es una aplicación parecida a Glade donde se describen los formularios y los controles (widgets) en un archivo xml. La clase stetic es la que permite incorporar esa descripción del formulario y sus widgets dentro del código de tu programa. Primero diseñamos el formulario con el diseñador, incorporamos los widgets y describimos los manejadores de eventos que va a tener, monodevelop hace esto en la ventanita que llama “propiedades del componente” en la pestaña “señales”. Luego le damos click al botón que está arriba del diseñador, el que dice “asociar a campo”. Cuando hacemos esto se crean las variables en el código y aquellos manejadores de eventos que definimos para cada widget. Y listo.
Si no es esta tu pregunta, déjame saber, a lo mejor escribo algo más extenso con un ejemplo de código para mejor claridad.
Saludos!
hola a todos, me parece genial, esto de programar cosasnativamente de windows en linux
pero tengo la siguiente inquietud
esto es para C# , y yo uso visual basic script, hay algo para desarollar en este lenguaje en lunux??
ojala alguien me responda
de antemano muchas gracias
No que yo sepa. Mejor múdate a lenguajes script más poderosos y divertidos como python o ruby.
Pues soy desarrollador windows y realmente estoy metiendome en el desarrollo de aplicaciones de Linux u e provado MonoDevelop trabajando de C# y la verdad se me acomplicado por el momento estoy trabajando de SarpDevelop y son muy parecidos.
MonoDevelop y C# para mi son buena conbinacion un que aun no los e explodato al maximo
He estdo trabajando con monodevelop desde hace poco tiempo, lo unico que no entiendo es como poner una imagen, en una etiqueta y que se ajuste al tamaño que le doy a la etiqueta sino que se agranda al tamaño de la imagen. Me voy a las propiedades del widgets Label y no se ajusta. Que puedo hacer…