SharpDevelop a free .NET Development Environment

Fecha: 10/Nov/2004 (27/10/2004)
Autor: Alberto Arroyo Raygada

 


¿Qué es SharpDevelop?

 

SharpDevelop es un entorno de desarrollo integrado (IDE) para la plataforma .NET. Soporta las versiones de Microsoft y de Ximian (MONO, http://www.go-mono.com). Soporta desarrollo de interfaces, clases, namespaces y proyectos en C#, C++ .NET y VB.NET, además de permitir importar los proyectos creados con Microsoft Visual Studio .NET.

SharpDevelop, también conocido como #develop, es un editor de programación para proyectos con él que podemos desarrollar proyectos fácilmente, gracias a su soporte para plantillas de diseño y para diversos lenguajes de programación, Incluye:

·          Completado de Código

·          Diseñador de Formularios

·          Autoinsertado de Código

·          Conversor de Código (C#<-->VB.Net)

·          Importar/Exportar Soluciones VS.NET a Visual Studio .NET

·          Plegado de Código ("Folding")

·          Visor gráfico para realizar pruebas con NUnit

·          Analizador del Código Ensamblador

·          Vista previa de Documentación en XML

·          Y mucho más: sintaxis coloreada, paréntesis inteligentes, bookmarks, plantillas, herramientas para expresiones regulares, asistentes, exportación HTML, visor de clases, integración con NDoc, integración con Nprof.

Todos aquellos que trabajamos con .NET y estamos buscando algún ambiente de programación o un IDE (Integrated Development Enviroment) que no sea Visual Studio o cualquier otro que cueste mucho dinero podemos descargar  "libremente"  SharpDevelop que ya tiene una versión estable (después de tantos alphas y betas), además de esto trabaja con Mono pero aconsejo a todos aquellos que solo trabajan con mono pueden descargarse Monodevelop hermano Linux de SharpDevelop, para los que tenemos dudas un pequeño fragmento extraído de www.diariolinux.com:

http://www.diariolinux.com/articulos.php?idnodo=54&nodo=MONO

MonoDevelop es un entorno de desarrollo gráfico (IDE - Integrated Development Enviroment)  para Mono.  
MonoDevelop es un proyecto
para portar la herramienta SharpDevelop a Gtk#.

 

MonoDevelop persigue los siguientes objetivos principales:

·          Crear uno de los mejores entornos de desarrollo para sistemas Unix para C# y Mono.

·          Dado que está escrito en Gtk#, lo más probable es que se añada funcionalidad para mejorar la experiencia de programación en Gtk#.

·          Separarse lo menos posible de SharpDevelop: idealmente lo que se querría sería mezclar el código de ambas aplicaciones en una sola (a través de ifdefs, compilación condicional, interfaces, lo que sea) maximizar las contribuciones y la velocidad de desarrollo

·          Hoy en día, el IDE MonoDevelop es un IDE simple y en Unix no ofrece capacidades de diseño GUI (opción limitada a SharpDevelop), pero se quiere añadir un diseñador de interfaces gráficas.

·          Se quiere integrar las herramientas que se han ido desarrollando hasta ahora, de tal forma que aplicaciones como MonoDoc, NUnit-Gtk y el debugger deberían de ser objetivos de MonoDevelop.

Para empezar con este agradable IDE que mejor que un buen libro, les recomiendo este muy conocido  Dissecting a C# Application; Inside SharpDevelop.

 


Ahora que ya sabemos que es SharpDevelop veamos unos cuantos pequeños ejemplos de tal manera que podamos ver la funcionalidad de #Develop.

 

Una Aplicación Win32

 

Vamos a hacer una aplicación Win32 muy sencilla, tomemos de ejemplo la creación de una archivo de texto, al comenzar la aplicación lo primero que nos va a dar gusto es ver un IDE como este y lo mejor libre, cero costo.

 

 

 

  


Ahora veamos el código:

 

/*
 * Created by SharpDevelop.
 * User: AArroyo
 * Date: 27/10/2004
 * Time: 15:25
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Text;
namespace w32_CrearArchivo
{
	/// <summary>
	/// Description of MainForm.                
	/// </summary>
	public class MainForm : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button cmdCrearArchivo;
		public MainForm()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
 
		[STAThread]
		public static void Main(string[] args)
		{
			Application.Run(new MainForm());
		}
 
		#region Windows Forms Designer generated code
			/// <summary>
			/// This method is required for Windows Forms designer support.
			/// Do not change the method contents inside the source code editor. The Forms designer might
			/// not be able to load this method if it was changed manually.
			/// </summary>
			private void InitializeComponent() {
                                               this.cmdCrearArchivo = new System.Windows.Forms.Button();
                                               this.SuspendLayout();
                                               // 
                                               // cmdCrearArchivo
                                               // 
                                               this.cmdCrearArchivo.Location = new System.Drawing.Point(56, 16);
                                               this.cmdCrearArchivo.Name = "cmdCrearArchivo";
                                               this.cmdCrearArchivo.Size = new System.Drawing.Size(104, 40);
                                               this.cmdCrearArchivo.TabIndex = 0;
                                               this.cmdCrearArchivo.Text = "&Crear Archivo";
                                               this.cmdCrearArchivo.Click += new System.EventHandler(this.CmdCrearArchivoClick);
                                               // 
                                               // MainForm
                                               // 
                                               this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
                                               this.ClientSize = new System.Drawing.Size(208, 93);
                                               this.Controls.Add(this.cmdCrearArchivo);
                                               this.Name = "MainForm";
                                               this.Text = "#Develop IO";
                                               this.ResumeLayout(false);
			}
		#endregion
		void CmdCrearArchivoClick(object sender, System.EventArgs e)
		{
			FileStream oArchivo=new FileStream(@"C:\OSUGNetPeru.txt",FileMode.OpenOrCreate);
			StreamWriter oSW=new StreamWriter(oArchivo,Encoding.Default);
			oSW.WriteLine("Unete a la comunidad OSUGNetPerú: http://groups.msn.com/OSUGNetPeru");
			oSW.Flush();oSW.Close();oArchivo.Close();
			MessageBox.Show("OSUGNetPeru: Archivo generado.","http://groups.msn.com/OSUGNetPeru",MessageBoxButtons.OK,MessageBoxIcon.Information);                                       
		}
	}
}

 

Una Aplicación de Tipo Consola

 

Vamos a hacer una aplicación de tipo consola igual a la anterior muy sencilla, pediremos en nombre del archivo y lo creamos:

 

/*

 * Created by SharpDevelop.

 * User: AArroyo

 * Date: 27/10/2004

 * Time: 15:47

 *

 * To change this template use Tools | Options | Coding | Edit Standard Headers.

 */

using System;

using System.Text;

using System.IO;

namespace ca_CrearArchivo

{

                class MainClass

                {

                               public static void Main(string[] args)

                               {

                                               string strNombre;

                                               Console.WriteLine("OSUGNetPeru: http://groups.msn.com/OSUGNetPeru");

                                               Console.WriteLine("----------------------------------------------");

                                               Console.WriteLine("Ingresa un nombre:");strNombre=Console.ReadLine();

                                                                                              FileStream oArchivo=new FileStream(strNombre,FileMode.OpenOrCreate);

                                               StreamWriter oSW=new StreamWriter(oArchivo,Encoding.Default);

                                               oSW.WriteLine("Unete a la comunidad OSUGNetPerú: http://groups.msn.com/OSUGNetPeru");

                                               oSW.Flush();oSW.Close();oArchivo.Close();

                                               Console.WriteLine("OSUGNetPeru: Archivo generado, presiona ENTER para cerrar.");

                               }

                }

}

 

Bueno, para no hacer extenso el artículo solo he puesto dos pequeños ejemplos, y los he hecho en menos de 5 minutos, aun dudan de #Develop, los invito a disfrutar de este buen IDE y lo mejor cero costo.

 

Saludos y en siguientes artículos iremos desmenuzando #Develop.

 


Escrito por: Alberto Arroyo Raygada, Administrador Comunidad User Group Open Source .NET Perú, organización sin fines de lucro dedicada a promover la ideología de LIBERTAD .NET, basándose en la iniciativa de Microsoft y implementaciones del SSCLI como Mono, Portable, entre otros.


ir al índice