Breve introducción al MonoDevelop
Desarrollo de aplicaciones .NET usando el Entorno de Desarrollo Integrado: MonoDevelop

Continuando con el tema del desarrollo de aplicaciones en la plataforma .NET, específicamente usando el lenguaje de programación C#, les mostraré un ejemplo del uso de MonoDevelop, un IDE de programación especial para trabajar con la plataforma libre .NET: Mono.
La idea de este documento es mostrar algunas características importantes para el desarrollo de aplicaciones usando este IDE de programación, para lo cual vamos a crear paso a paso una aplicación muy bí¡sica, en donde aprenderemos a implementar clases y a referenciar librerías.
Lo primero es descargar el MonoDevelop. Puedes descargar las fuentes y compilarlas tu mismo, o buscar algún paquete para tu distribución (.deb, .rpm, etc.), aunque si no quieres liarte tal vez querrás usar openSuse, que te permite instalarlo desde los CDs de instalación. Una vez instalado, lo ejecutamos y veremos algo como lo siguiente:
Como puedes ver su interfaz es limpia y agradable, y si ya has usado cualquier otro IDE te resultará bastante fácil acostumbrarte a éste. Ahora, vamos a crear un nuevo proyecto: “Archivo >> Nuevo Proyecto“. En esta parte debemos seleccionar el tipo de proyecto a desarrollar (en este caso va a ser un Proyecto vacío de C#), su nombre, la ubicación donde lo guardaremos, etc.:

Le damos clic en Adelante, y luego en Finalizar (en esta parte habrá aparecido algunas otras opciones avanzadas que no trataremos en este documento). Ahora vamos a crear un nuevo archivo: Clic derecho en la raíz de la solución, Añadir >> Nuevo archivo…:

En este punto podemos escoger varios tipos de archivo, pero para este ejemplo seleccionamos General, luego Clase vacía y digitamos el nombre de nuestra nueva clase:

MonoDevelop creará el archivo y escribirá una estructura base para la aplicación (importar el namespace System, crear nuestro namespace, crear la clase, crear el constructor). Ahora ya podemos comenzar a editar nuestra clase:

Nuestro clase tendrá, al principio, lo siguiente:
// Ejemplo.cs creado con MonoDevelop
// Usuario: casidiablo a las 14:48 de la fecha 15/12/2007
//
using System;
namespace EjemploMono
{
public class Ejemplo
{
public Ejemplo()
{
Console.WriteLine("Este es el constructor");
}
static void Main(string[] args)
{
new Ejemplo();
}
}
}
Vamos entonces a ver algunas características interesantes que nos ofrece MonoDevelop al codificar nuestras clases:
Auto-completamiento de código en clases del estándar:
Luego de escribir una clase, en este caso la clase Console, al teclear la tecla punto (para llamar a alguna función de esa clase) se desplegará un menú donde aparecerá la lista de los métodos de la clase:

Compilando el código
Para compilar nuestro proyecto: Proyecto >> Construir solución o presionamos F8, con lo cual podremos probar y depurar nuestra solución:

En la parte de abajo podremos ver información acerca de la compilación del archivo:

Si por ejemplo tenemos un error en el código fuente, veremos algo como lo siguiente:

Ejecutar nuestra aplicación
Para probar nuestro proyecto: Proyecto >> Ejecutar o presionamos F5, con lo cual podremos ejecutar nuestra solución:

¡ Ahora usemos el API de Windows Forms para mostrar un cuadro de dialogo !
Vamos a modificar nuestra aplicación para usar el API de Windows Forms, con la cual podremos crear aplicaciones con interfaces gráficas que podrán correr sin ningún problema sobre plataformas Windows.
Lo primero es añadir la referencia a las librerías de Windows Forms (System.Windows.Forms), para lo cual le damos clic derecho en la carpeta Referencias en el visor de la solución y luego clic en Editar referencias…:

Seleccionamos el paquete System.Windows.Forms y damos clic en Aceptar:

Debemos usar el namespace System.Windows.Forms, y podemos darnos cuenta que, después de referenciar el paquete, al declarar el paquete podemos usar el auto-completamiento de código:

Además, el auto-completamiento de código lo podemos usar para ver lo métodos de una determinada clase, y los parámetros que debemos enviarle. Por ejemplo, vamos a crear un método llamado mostrarMensaje(), en donde usaremos la clase MessageBox para mostrar un cuadro de dialogo. Fijémonos cómo MonoDevelop nos indica los parámetros que debemos pasarle al método Show():

MonoDevelop no solo te ayuda auto-completando los métodos de librerías ajenas, sino que nos proporciona esta útil funcionalidad en nuestros propios métodos:

Al final nuestro código tendrá el siguiente contenido:
// Ejemplo.cs creado con MonoDevelop
// Usuario: casidiablo a las 14:48 de la fecha 15/12/2007
//
using System;
using System.Windows.Forms;
namespace EjemploMono
{
public class Ejemplo
{
public Ejemplo()
{
Console.WriteLine("Este es el constructor");
}
public void mostrarMensaje()
{
MessageBox.Show("Este es el texto", "Y este el titulo");
}
static void Main(string[] args)
{
new Ejemplo().mostrarMensaje();
}
}
}
Al ejecutarlo veremos lo siguiente:

¿Porqué usar Windows Forms en vez de Gtk? ¿Qué no te gustaba el software libre y tal?
Como programadores, y aunque amemos las filosofías del software libre, tenemos que estar al tanto de todo cuanto nos sea posible, y esto irremediablemente nos “obliga” a que aprendamos a desarrollar software para sistemas Microsoft Windows. Desafortunadamente, Microsoft tiene una GRAN cuota en el mercado, y por tanto debemos estar preparados para crear e implementar aplicaciones compatibles con sus sistemas operativos.
Si estás interesado en estos temas, seguro tienes una gran ventaja sobre los desarrolladores de software pro-Microsoft, que solo aprenden lo estrictamente necesario. Usando herramientas como Mono, no solo eres LIBRE sino que tienes un panorama muchísimo más amplio para el desarrollo de soluciones de software. No desaproveches la oportunidad.
Un saludo!
Descagas:
- Descargar este artículo en formato PDF
- Descargar este artículo en formato ODT, para que puedas editarlo
11 Comentarios | deja el tuyo




Muy buena la introducción, ya probe el IDE MonoDevelop y me parecio muy muy bueno, seguire haciendo “programillas”, de nuevo gracias.
Me sale esto cuando le doy F8…q podra ser? “Construcción fallida. Executable not found: /usr/bin/gmcs”
saludos.
Tienes que instalar gmcs. En ubuntu o debian así:
sudo apt-get install gmcs
O en openSuse puedes buscarlo con yast.
Es todo, un saludo”
Una consulta no si alguan vez te topaste con esto quisiera saber si aho un aplicacion masomenos grande en visaul studio cn c sharp con conexion a base de datos y esa apliacon quisiera llevarla a mono
Con que base de datos funcionaria o no se puede
Hola sergio, la verdad no me he enfrentado a ese dilema, pero se de una herramienta que podría “pronosticar” si la migración sería fácil o difícil.
Échale un vistazo, y si puedes nos cuentas como te va:
http://www.mono-project.com/MoMA
Un saludo!
se agradece la info me sirvió
Hola sergio!
exelente tu post muy bien elaborado.
solo tengo un pequeño problema es de C++, el problema es que hago un programa simple de unsa suma y cuando lo compilo no me da errores ni nada pero se ejecuta solo no me deja meter los valores y eso ocasiona que me de un resultado muy extraño.
tienes idea de que puede ser??
aqui te dejo la imagen.
http://img151.imageshack.us/img151/8671/pantallazohd.png
muchas gracias!
bueno muchachitos tengo un problema de donde incorporo la libreria de windows edit references mi monodevelop es en ingles
ya pues che sergio, de donde incorporo
zamir, pues puede ser que te falte casting, tal vez las entradas son str y las necesitas int.