SharpDevelop a free .NET Development Environment Fecha: 10/Nov/2004 (27/10/2004)
|
¿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.