Microsoft México y el Imagine Cup presentes en el Teletón

por Ramiro Berrelleza 12. diciembre 2008 19:02

Para los que no viven en México (o sí viven pero son muy despistados), el Teletón es una fundación caritativa creada por Televisa en el 1997 con el objetivo de ayudar en la rehabilitación de niños que cuentan con alguna discapacidad. A través de sus 13 Centros de Rehabilitación Infantil (CRIT), el Teletón ayuda de forma gratuita a aproximandamente 70,000 pacientes (y sus familias), bajo el lema de “El Amor y la Ciencia al Servicio de la Vida”.

La forma en que el Teletón financia la creación y mantenimiento de sus CRITs es a través de un evento televiso anual, a través del cual se les piden donaciones tanto a la iniciativa privada como a la sociedad en general. Este año, el Teletó recaudó más de 440 millones de pesos,   fondos con los que se realizará la construcción de un CRIT en Durango y otro en Veracruz.

Y este año Microsoft México colaboró para que el Teletón alcanzara dicha cifra. Primero que nada, colaboró donando todo las licencias de software necesarias para la operación de los nuevos CRITs (cuyo valor comercial asciende a más de 13 millones de pesos). Y segundo, a través de el Imagine Cup, donde Microsoft México invita a los estudiantes mexicanos a no sólo participar, sino crear proyectos innovadores que ayuden a los niños del Teletón.

<br/><a href="http://video.msn.com/video.aspx?vid=6639cb64-7d55-420e-892e-0a6d150300a1" target="_new" title="Microsoft México aporta al Teletón">Video: Microsoft México aporta al Teletón</a>

 

Yo los invito a que se inscriban al Imagine Cup. Yo ya fui finalista mundial en 2 ocasiones ( nota sobre nuestra particpación en  la India y nota sobre nuestra participación en  Corea del Sur), y debo decirles que es una experiencia que cambia la vida (además de que el viaje gratis a Egipto,  y los premios en efectivo no están nada mal). Y este año también tienen la oportunidad de no sólo participar, sino de poder ayudar a los niños con capacidades especiales a través de la iniciativa Imagine Cup + Teleton.

 

IC09_Logo_standard

Ínscribanse y participen ayudando a nuestros hermanos con capacidades especiales. ¡Realmente no se van a arrepentir!

- Ramiro

PD: Si alguien se anima a participar en el Imagine Cup  no duden en contactarme si necesitan cualquier tipo de ayuda.

Actualmente calificado con 5.0 por 2 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,


Aplicaciones y Mejores Prácticas de Silverlight

por Ramiro Berrelleza 4. diciembre 2008 05:29

Cada que se lanza una nueva tecnología los desarrolladores tardamos un rato en trabajar con ella de manera óptima. Normalmente lo primero que hacemos es trabajar con la tecnología bajo los paradigmas con los que nos sentimos cómodos(este fenómeno fue definido por Jeff Atwood como Puedes programar Fortran en cualquier lenguaje), para después, una vez que ya estamos más familiarizados con la tecnología, entonces sí al programar bajo la ideología de la nueva tecnología y poder sacarle todo el provecho. Y no me negarán que con Silverlight ha sido igual (¿A poco al principio no lo usaban como si fueran WinForms?).

Dado que es una tecnología joven, hasta ahora todo lo que hemos visto de Silverlight han sido ejemplos atómicos, los cuales nos sirven mucho para aprender la tecnología de manera básica, pero que nos deja con muchas carencias a la hora de crear aplicaciones complejas. Estos ejemplos tan básicos difícilmente nos ayudan a la hora de enfrentarnos a problemas de eficiencia, de escalabilidad, o como guía de mejores prácticas.

Por fortuna, Tim Heureracaba de anunciar en su sitio una nueva sección para encargarse de cubrir dicho vacío. A través de aplicaciones completas (de las cuales podemos bajar todo el código fuente)  los desarrolladores podremos aprender como hacer una aplicación de Silverlight de forma correcta (mucho más allá del aspecto visual), como enfrentar problemas de deployment, conocer las mejores prácticas de Silverlight y aprender como enfrentar y resolver problemas típicos del desarrollo de aplicaciones empresariales para Silverlight, entre otras cosas. Actualmente sólo existe un ejemplo (es una sección nueva), pero que con el paso del tiempo se irá llenando de aplicaciones-demo de diferentes perfiles.

Una lectura ampliamente recomendada para todo desarrollador de aplicaciones en Silverlight.

Estimados lectores, ¿ustedes han hecho algo con Silverlight?, ¿a qué problemas se han enfrentado?

- Ramiro

Actualmente calificado con 5.0 por 1 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,


MS Blogs llega para la comunidad de habla hispana

por Ramiro Berrelleza 1. diciembre 2008 19:49

El día de hoy recibí la noticia de que el equipo de Microsoft Latinamérica acaba de lanzar un nuevo sitio web, enfocado a los desarrolladores de habla hispana. MS Blogs es un estilo de directorio donde se listan  los blogs de tales blogueros de Microsoft Latinamérica como  Luis Daniel Soto, Ruben Mugártegui y el famosísimo Armando Halbiger en un sólo sitio , convirtiéndose en  parada obligada para estar al tanto del acontecer tecnológico de nuestra región.

El sitio (realizo en Silverlight), además de links a los posts más nuevos de muchos blogueros, incluye un feed con las noticias (para que lo agreguen a su Netvibes o similares), links a Microsoft Social (un sitio tipo Digg para recomendaciones de tecnología Microsoft) , un ticker de noticias muy interesante, y hasta un gadget de Windows Vista, para que siempre logren estar al tanto.

hp_lat_msblogs_L

El sitio está muy bueno, ojalá puedan darle una revisada. Me da mucho gusto que Microsoft Latinoamérica empiece a relizar este tipo de esfuerzos, pues ayudan a extender la comunidad tecnológica nacional, así como aumentar la difusión de la (reducida) oferta de sitios y blogs tecnológicos enfocados al mundo de habla hispana. Una felicitación al responsable de este sitio de parte de Alfador.

- Ramiro

Actualmente calificado con 5.0 por 3 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,


Web Service Studio Express

por Ramiro Berrelleza 30. noviembre 2008 02:23

Día con día la arquitectura orientada a objetos (SOA) se va afianzando como la plataforma a seguir, particularmente en el desarrollo de soluciones empresariales altamente escalables.

Dentro de los SOAs, el pilar principal son los Web Services. Lamentablemente estos no son lo más fácil de debuggear, gracias a su naturaleza distribuida. Aquí es donde herramientas como Web Services Studio nos ayudan muchísimo.

Esta herramienta lo que nos permite es invocar cualquier Web Service al que tengamos acceso ya sea local o remoto. Una vez invocado, podemos ver la respuesta de este, en formato SOAP. Su uso es muy sencillo. Primero colocamos la dirección del WSDL del servicio y presionamos Get. Esto hace que la herramienta procese el WSDL, y nos despliegue las operaciones existentes.

Una vez seleccionada la función, colocamos los parámetros correspondientes e invocamos el servicio para ver el SOAP resultante.

web service studio 2

Hasta aquí, todo esto lo podemos hacer desde el navegador (para servicios locales). Su grandísima virtud es que (a diferencia de otras herramientas), nos permite invocar servicios con tipos de datos complejos, como pueden ser estructuras de datos u objetos (a ver, hagan esto en su navegador). Todos los que hayan tenido que debuggear este tipo de servicios estarán de acuerdo en la maravilla que esto es.

Web Service Studio Express lo pueden descargar en: http://www.codeplex.com/wsstudioexpress

- Ramiro

Actualmente calificado con 5.0 por 2 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,


Alfador recomienda: The Design of Everyday Things

por Ramiro Berrelleza 27. noviembre 2008 16:14

doet Hace como un año me encontré con este libro en una librería del centro de San Francisco. Ya me lo habían recomendando, y como estaba en oferta, decidí comprarlo. Después de algunos meses de verlo en mi pila de libros por leer me decidí a leerlo. Al día siguiente ya estaba leído.

The Design of Everyday Things está escrito por Donald Norman, cofundador del Nielsen Norman Group(LOS especialistas de interacción hombre máquina).  Es un libro fantástico, el cual fácilmente cabe en la lista de “Libros que todo programador debe leer”. Algo muy curioso para un libro es sobre la psicología detrás del diseño escrito hace más de 15 años. Pero así de bueno es.

A pesar de ser un libro sobre diseño que toca muy brevemente el tema de las computadoras, The Design of Everyday Things nos aporta importante (y concisa) información sobre la psicología detrás del buen y mal diseño (sus ejemplos sobre puertas, regaderas o sistemas telefónicos con increíbles). Información que podemos fácilmente extrapolar hacia el diseño de interfaces gráficas, o incluso al diseño de interfaces programables (también conocidos como APIs)

Les dejo  la siguiente cita sobre el libro, la cual me llamó mucho la atención, en especial en su relación al desarrollo de UI (la traducción es mía):

El diseño debe:

  • Facilitar saber qué acciones son posibles en cada momento
  • Hacer las cosas visibles, incluyendo el modelo conceptual del sistema, las alternativas posibles  y el resultado de las acciones
  • Permitir evaluar el estado del sistema fácilmente.
  • Seguir el mapeo general entre la intención del usuario y las acciones requeridas para lograrlo; entre acciones  y el efecto resultante; entre la información visible y la interpretación del estado del sistema

Y eso que no está hablando de computadoras, ¿qué tal?

Alfador se los recomienda.

- Ramiro

Y ustedes, ¿qué nos recomiendan?

Actualmente calificado con 4.0 por 3 personas

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,


Tips y más tips de Visual Studio

por Ramiro Berrelleza 24. noviembre 2008 18:08

Para mí Visual Studio es el mejor ambiente de desarrollo que existe. Siendo uno de los productos más maduros y completos que ofrece Microsoft para el desarrollo, es muy complicado conocer cada una de las cosas que esta herramienta puede o no hacer. Sin embargo, como desarrolladores es algo que tenemos que hacer, pues es una de las “armas” principales que tenemos a la hora de crear software.

Por fortuna hay gente como Sara Ford que nos simplifican la tarea publicando tips y más tips de Visual Studio.  El blog de Sara consiste principalmente en tips no tan obvios de Visual Studio, por lo que conviene estarlo checando de forma frecuente.

El link a seguir es: http://blogs.msdn.com/saraford/default.aspx . Agreguenlo a su lector de RSS favorito (si no tienes uno, lean esto), y ayúdense revisándolo de vez en cuando.

¿Querido lector, cuál es su tip favorito de Visual Studio?

- Ramiro

Actualmente calificado con 5.0 por 3 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,


Evita páginas vacías y links obsoletos con redirecciones

por Ramiro Berrelleza 21. noviembre 2008 18:56

Ayer en la noche me puse a hacer un poco de jardinería en mi sitio personal. Originalmente en la raíz del sitio estaba mi blog en inglés, y de ahí había ligas a toda mi presencia web (twitter, linked in, etc…), lo cual me funcionó muy bien por mucho tiempo. Sin embargo, ahora que me estoy involucrando en varios projectos e iniciativas decidí mejor mover mi blog a un subdominio (blog.esponjasoft.com), y dejar en la raíz de mi dominio una página con información sobre mi presencia web y proyectos personales.

Mover el blog fue cosa sencilla, pero al hacerlo me quedé con una página de inicio vacía y poco atractiva:

404

Eventualmente habrá una página de inicio atractiva y emocionante, pero en lo que eso sucede no podía permitir que mis visitantes que se encontran con eso. 

¿Qué hacer?

La opción más básica sobre qué hacer sería simplemente una redirección vía html o javascript. Sin embargo, lo correcto para estas situaciones es entregarle al navegador un aviso de redirección temporal (http status 302) con el link al cual redirigirse. Hacer esto nos permite que  navegadores y buscadores entiendan que esto es algo temporal, y que eventualmente habrá información diferente.

¿Cómo hacerle?

En ASP.NET esto es muy sencillo. Lo que hay que hacer es colgarnos del evento Page Load y enviar el status y el link, de la siguiente forma:

///nota aclaratoria: usaré ejemplos hipotéticos con urls de alfador

protected void Page_Load(object sender, EventArgs e)

{

    Response.Clear();

    Response.Status = "302 Moved Temporaly";

    Response.StatusCode = 302;

    Response.AddHeader("Location", "http://blog.alfador.com.mx");

    Response.End();

}

Si la relocalización es permanente, lo único que hay que hacer diferente es cambiar el código de status por 301, y el mensaje por algo similar.

Un uso muy interesante que tienen este tipo de redirecciones es para cuando cambiamos el formato de url. Digamos que antes de la modificación las rutas a los posts en alfador  eran http://alfador.com.mx/post/10 , y que ahora serán http://blog.alfador.com.mx/post/10 . En estas situaciones no hacer algun tipo de redirección equivaldría a tener un monton de links muertos por todos lados, algo que, si queremos mantener nuestros niveles de audiencia, debemos de evitar a toda costa.  Este tipo de soluciones las podemos resolver agregando  una clase global en nuestra aplicación web (Global.asax) e implementando la siguiente redirección permanente:

protected void Application_BeginRequest(object sender, EventArgs e)

{

    string path = Request.Path.ToLower();

    string oldBlogUrl = "/post/";

    string newPathFormat = "http://blog.alfador.com.mx/post/{0}";

 

    if (path.StartsWith(oldBlogUrl))

    {

        string postID = path.Substring(oldBlogUrl.Length);

        string newBlogUrl = string.Format(newPathFormat, postID);

 

        Response.Clear();

        Response.Status = "301 Moved Permanently";

        Response.StatusCode = 301;

        Response.AddHeader("Location", newBlogUrl);

        Response.End();

    }

}

///nota aclaratoria: El código que está en el evento Page Load se ejecuta solo cuando la página en particular se carga. Si está  en el evento Application_BeginRequest entonces se ejecuta cuando cualquier página de la aplicación se carga.

Ya con esto tenemos lista nuestra redirección, y cualquier link que apunte al viejo estilo será automáticamente redirigido a su nuevo lugar.

Este tipo de redirecciones son muy útiles, pero tienen un cierto costo en desempeño (por el procesmiento de los links y lo que tarda el navegador en hacer la redirección), por lo que hay que pensarle bien a la hora de usarlos.

- Ramiro

Actualmente calificado con 5.0 por 2 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,


¿Cómo hacer que tu aplicación corra desde el arranque de Windows?

por Ramiro Berrelleza 12. noviembre 2008 17:14

Para hacer que nuestras aplicaciones se ejecuten desde un inicio lo único que hay que hacer es modificar el registro, agregando la ruta de ejecución de nuestro programa a la llave HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run .

En C# se hace con el siguiente código:

RegistryKey startup = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);

startup.SetValue("alfador", Application.ExecutablePath);


Al ejecutar este código hay que tener cuidado con el nombre que le damos al valor, pues este debe ser único. De lo contrario, estaríamos sobreescribiendo un valor previamente establecido.

Para quitar nuestra aplicación de la lista de aplicaciones que se ejecutan en el arranque de Windows lo que hay que hacer es eliminar el valor de la llave del registro arriba mencionada.

En C# se haría así:

RegistryKey startup = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);

startup.DeleteValue("alfador");


Cabe mencionar que los ejemplos arriba mencionados  están pensados para que el programa sólo se agregue a la lista de aplicaciones del usuario que está ejecutando en ese momento la aplicación. Si queremos que la aplicación se ejecute al arranque de Windows para todos los usuarios, hay que agregar el valor en la llave  HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run. 

En C#, solo hay que reemplazar la línea primera línea de los dos ejemplos anteriores con el siguiente código:

RegistryKey startup = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);


- Ramiro

Technorati Tags: ,,

Actualmente calificado con 5.0 por 1 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,


Crea un gadget de Windows Vista en tu hora del lunch

por Ramiro Berrelleza 6. noviembre 2008 05:59


El sidebar de Windows Vista es para mí uno de esos features que al prinicipio te parecen “curiosos” pero que después de usarlos por un par de días los extrañas. A través de los gadgets de Vista podemos convertir monedas, ver el pronóstico meteorológico, contemplar el valor de nuestras acciones y un sin fín de cosas.

Pero como buenos desarrolladores que somos, seguramente no estamos contentos con los gadgets que vienen incluídos. De entrada se pueden descargar muchos del galería online. Pero, ¿por qué mejor no hacemos uno nosotros mismos?

Crear un gadget desde cero es cosa muy sencilla. Para empezar,  están basados en html + javascript + css, por lo que la curva de aprendizaje es muy baja. Y además, Windows Vista ya viene con el código fuente de todos los gadgets incluídos (revisen en C:\Program Files\Windows Sidebar\Gadgets), así que justo en nuestro disco duro tenemos una fuente de inspiración y de resolución de problemas.

Para este ejemplo vamos a crear un gadget con la capacidad de mandar actualizaciones de nuestro status de Twitter. Lo primero que vamos a hacer es crear la estructura general de folders y archivos, los cuales después iremos llenando. Esta estructura consiste de lo siguiente:

  • gadget.xml – los metadatos de nuestro gadget
  • gadget.html – código html de la pantalla principal del gadget
  • settings.html – código html de la pantalla de configuración del gadget
  • css/gadget.css – el estilo de la página principal
  • css/settings.css –  el estilo de la página de configuración
  • js/gadget.js  - la funcionalidad de la página principal
  • js/settings.js  - la funcionalidad de la página de configuración
  • images/logo.png – el logo del gadget

gadget.xml

Este archivo contiene información sobre el gadget, tal como su nombre, el autor y el sitio web, así como información más técnica, tal como el nombre del archivo html inicial y el archivo que servirá de logo. A continuación les muestro un gadget.xml completo, el cual pueden usar como un template para el de sus propios gadgets. Sólo recuerden una cosa, cambien los valores pero no las etiquetas.

<?xml version="1.0" encoding="utf-8"?>

<gadget>

  <name>Twitter Gadget</name>

  <namespace>microsoft.windows</namespace>

  <version>1.0.0.0</version>

  <author name="Ramiro Berrelleza">

    <info url="http://alfador.com.mx" text="alfador en punto net"/> 

  </author>

  <copyright>alfador en punto net © 2008</copyright>

  <description>Actualiza tu status de twitter desde el sidebar!</description>

  <icons>

    <icon height="41" width="175" src="images\twitter.png"/>

  </icons>

  <hosts>

    <host name="sidebar">

      <base type="HTML" apiVersion="1.0.0" src="gadget.html"/>

      <permissions>Full</permissions>

      <platform minPlatformVersion="1.0"/>

      <defaultImage src="images\twitter.png"/>

    </host>

  </hosts>

</gadget>

gadget.html

Este archivo es un archivo simple de html, el cual contiene un text area (para poner el nuevo status), una etiqueta (que marcará cuantos caracteres hemos escrito) y un botón (para enviar la actualización.). Lo único diferente a un html convencional es el uso de la etiqueta <g:image> para mostrar una imágen. Esta es una etiqueta especial, la cual proviene del API de Windows Vista Sidebar.

settings.html

Este archivo es, al igual que gadget.html, un archivo html. En este caso cuenta con dos cajas de texto, una para que el usuario del gadget ponga su usuario de twitter y la otra para que ponga su password. Le pedimos estos valores al usuario dado que, de acuerdo al API de Twitter, son necesarios para poder enviar actualizaciones de status.

gadget.js

Este es el archivo más importante de nuestro gadget, pues es el que contiene el código necesario para implementar la funcionalidad deseada. En el caso de nuestro gadget, este archivo contiene 3 funciones:

  • document.onreadystatechange – Esta función es invocada cada que se carga la página del gadget. Utiliza el api de Windows Vista Sidebar para asignarle una página de configuración al gadget, y para obtener el nombre de usuario y el password (los cuales son provistos por el usuario en la página de configuración).

    document.onreadystatechange = function()

    {

        System.Gadget.settingsUI = "settings.html";

        username = System.Gadget.Settings.read('username');   

        password = System.Gadget.Settings.read('password');

        xmlHttp = new XMLHttpRequest();

    }


  • UpdateCount – Esta función es invocada cada que se modifica un caracter del textarea en gadget.html.  Escrita en javascript plano,  se encarga de actualizar el contador de caracteres restantes.

    function UpdateCount()

    {

        document.getElementById('left').innerHTML = (140 - document.getElementById('status').value.length);

    }


  • UpdateStatus – Esta función es invocada al presionar el botón en gadget.html. También escrita en javascript plano, se encarga de enviar la actualización a través del API de Twitter. Utiliza la función encodeURIComponent para codificar caracteres que pudieran ser inválidos dentro de un URL, y XMLHttpRequest para hacer la llamada (dentro del método open para como parámetros el usario y password para que se realize la autenticación requerida).

    function UpdateStatus()

    {           

        var status =  encodeURIComponent(document.getElementById('status').value);

        var url = "http://twitter.com/statuses/update.xml?status=" + status;

        xmlHttp.open("POST", url,false, username, password);     

        xmlHttp.send();  

        document.getElementById('status').value = "";

        UpdateCount();

    }


setttings.js

Este archivo implementa la funcionalidad de la página de configuración, a través también, de 3 funciones:

  • document.onreadystatechange – Esta función es invocada cada que se carga la página de configuración del gadget. Utiliza el API de Windows Vista Sidebar para asignar que función será invocada cuando se cierre la pantalla de configuración (lo cual nos servirá para guardar los valores escritos por el usuario).

    document.onreadystatechange = function()

    {   

        if(document.readyState=="complete")

        {   

            System.Gadget.onSettingsClosing = SettingsClosing;       

        }       

    }


  • SettingsClosing – Esta función es invocada cuando se cierra la pantalla de configuración. A través del API de Windows Vista Sidebar guardamos los valores de usuario y password, a modo de que puedan ser utilizados después por el código en gadget.js

    function SettingsClosing(event)

    {   

        if(event.closeAction == event.Action.commit)

        {  

            System.Gadget.Settings.write("username", username.value);

            System.Gadget.Settings.write("password", password.value);   

        }

        event.cancel = false;

    }


  • LoadSettings – Esta función es también invocada cuando se carga la página de configuración. Usa el API de Windows Vista para cargar los valores de usuario y password previamente ingresados por el usuario.

    function loadSettings()

    {

        var uname = System.Gadget.Settings.read('username');         

        var pwd = System.Gadget.Settings.read('password');       

        username.value = uname;

        password.value = pwd;   

    }

deployment

Una vez que tienen su código listo, hay que comprimirlo en una carpeta zip, y renombrarlo como NombreGadget.gadget. Aquí hay que tener mucho cuidado, porque no hay que comprimir la carpeta que contiene los archivos, sino que hay que comprimir a partir de donde están los primeros archivos, como en la siguiente imágen:

gadget

Ya que se tiene el archivo con terminación .gadget, sólo hay que darle doble click para que se instale y así forme parte del catálogo de gadgets de nuestro equipo.

gadget2

Como pueden ver es muy sencillo escribir un gadget de Windows Vista. Ahora sí que sólo resta que dejemos volar la imaginación y veamos que otros gadgets interesantes se nos pueden ocurrir.

¿A tí qué gadget se te occure?

El código aquí demostrado lo pueden bajar aquí.

- Ramiro

Actualmente calificado con 4.0 por 1 personas

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,


Visual Studio 2008 se mejora con Power Commands

por Ramiro Berrelleza 1. noviembre 2008 21:28

Visual Studio 2008 es, sin lugar a duda, el mejor ambiente de desarrollo (IDE) que existe.  Durante mi carrera como desarrollador he utilizado varios IDE’s (en particular Eclipse) y debo decirles que para mí no hay una mejor ni más completa plataforma que Visual Studio.

Sin embargo, hay un feature de Eclipse que siempre he extrañado mucho, la de remover los imports que no se están utilizando en el código (para los que no han usado Java, import es el equivalente de using en C#), y la de cerrar todos los documentos abiertos. Estas funciones siempre se me hicieron muy utiles en el trabajo diario.

Afortunadamente Power Commands for Visual Studio 2008 llega para cubrir estas lagunas (y muchas otras) que Visual Studio tiene. A través de un instalador (del cual incluso podemos descargar el código) Power Commands extiende Visual Studio agregándole varios y muy útiles comandos, como Remove and Sort Strings y Close All, entre otros. La lista completa la pueden ver aquí.

Los comandos que agregan los Power Commands funcionan igual que cualquier comando de Visual Studio. Por ejemplo, para usar el comando de Remove and Sort Usings, lo único que hay que hacer es dar click derecho en el proyecto y elegir el comando “Remove And Sort Using”. Esto hará que cada clase dentro de nuestro proyecto sólo tenga como encabezado los using que realmente se requieren, eliminando la paja.

RemoveAndSortUsings 

Los invito a que instalen los Power Commands y les saquen todo el provecho posible. Realmente mejoran la experiencia de utilizar Visual Studio.

Y dígannos,  ¿cuál es su Power Command favorito?

Technorati Tags: ,

- Ramiro

Actualmente calificado con 5.0 por 1 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,


Rss icon

Siguenos a través de RSS!

RecentPosts

Patrocinadores

Conoce ms acerca del programa de patrocinadores aqu

Google