Un cliente me ha propuesto colaborar con el proyecto que están desarrollando. Tras decirme que utilizan .NET, le comenté que no lo conozco y que generalmente trabajo en entornos LAMP, a lo que me comentó que no cree que me fuera a suponer ningún problema familiarizarme con C#. ¿Y por qué no? Mentiría si dijera que no me apetecía aprender un poco de Windows y de sus tecnologías. La última vez que utilicé un sistema operativo de Microsoft para trabajar o estudiar fue a mediados de 2003. Desde entonces sólo he tenido sistemas Unix (Linux y Mac).

El equipo

Lo primero era hacerme con un equipo –la virtualización está muy bien para poder hacer pruebas en otros sistemas, pero no para utilizar estos sistemas como herramientas de trabajo. Por suerte, tenía uno acumulando polvo. Pero no me apetecía ni comprar ni tener 2 monitores, 2 ratones y 2 teclados, uno para el servidor Linux y otro para Windows, de modo que me compré un conmutador.

Con este fantástico cacharrito puedo compartir monitor, teclado y ratón con dos equipos. Simplemente tengo que usar un atajo del teclado para alternar entre uno y otro.

Instalación de Windows 7

El siguiente paso era instalar Windows 7 Professional. He elegido Windows 7 porque ya que me pongo, que al menos sea con lo último. ¡Faltaría más! La instalación ha sido muy sencilla, más que la de cualquier programa o driver de Windows :) Además, y como punto a favor, ha detectado e instalado prácticamente todo el hardware, y lo que no ha detectado, ha utilizado drivers compatibles (como el caso de la tarjeta gráfica).

Una vez instalado, el arranque ha sido rapidísimo, y el funcionamiento una vez iniciada sesión también muy aceptable. Sinceramente, no me lo esperaba.

Instalación del servidor web

El siguiente paso era instalar Internet Information Services (el servidor web por defecto de Windows). De nuevo, bastante sencillo. Desde el panel de control, en el apartado “Programs and Features”, accedemos a “Turn Windows features on or off”, y una vez ahí se selecciona “Internet Information Services”. Damos a “Ok” y listo, ya tenemos un servidor web. Vamos a localhost para comprobarlo:

Web por defecto al instalar IIS

Por lo que he podido ver, no es del todo imprescindible correr IIS, ya que Visual Studio crear un servidor ad-hoc en un puerto aleatorio a la hora de desarrollar una aplicación web.

Escritorio remoto

Afortunadamente trabajo desde distintos equipos: Linux, Mac y, ahora también, Windows. Al servidor Linux ya tengo acceso remoto gracias a ssh. No es necesario tener acceso al escritorio (a pesar de que lo tengo habilitado). Sin embargo en Windows sí lo necesito. De modo que ahora toca activar el escritorio remoto (Remote Desktop Services):

  1. Vamos a Control Panel.
  2. System and Security.
  3. System.
  4. Remote Settings.
  5. Se nos abre una nueva ventana. En el apartado “Remote Desktop” activamos la opción “Allow connections from computers running any version of Remote Desktop (less secure)”.
  6. Pulsamos en Apply, y ya está hecho.

Además, al tratarse de un servidor, he cambiado la política de ahorro de energía para que el equipo no se suspenda nunca, de modo que siempre pueda conectar a él.

Conectar desde KDE

Para conectar desde KDE/Linux es muy sencillo. Por defecto viene instalada la aplicación KRDC para conectar a escritorios remotos, bien por vnc, o por rdp. Éste último, es el protocolo propietario de Microsoft para escritorios remotos, pero además, está también implementado en sistemas Linux, por lo que es también posible compartir un escritorio en Linux con este mismo sistema. Pero volviendo al ajo, KRDC es un avanzado cliente de escritorio remoto, y al iniciar sesión podremos especificar rango de colores, resolución de pantalla, compartir sonidos, etc.

Escritorio remoto RDC en KDE

Configuración de KRDC

Conectar desde Mac

Actualización: Si vas a conectar a un Windows desde Mac con un teclado que no sea de EEUU, no uses el cliente de Microsoft. Echa un vistazo a este artículo para ver porqué, y cuál usar en su lugar.

Desde Mac es también sencillo. Microsoft tiene un cliente nativo de plataformas Mac para conectar a escritorios remotos. Descargamos la versión 2.0.1, la instalamos, y lo ejecutamos :) Desde el panel de preferencias también podemos configurar la conexión (resolución, sonidos, colores, distribución del teclado, etc.):

Instalación de ASP.NET

Ya está casi todo listo. Me dirijo a www.asp.net, y desde ahí accedo a la sección “Get Started“. Nos muestra una serie de pasos, en concreto uno para instalar ASP.NET y Visual Studio Express Tools. De nuevo bastante sencillo; descargamos el instalador, y éste se encarga de obtener todos los ficheros necesarios para la instalación. Una vez finalizado, ya tendremos instalado:

  • ASP.NET – Es el framework de desarrollo de .NET para crear aplicaciones web. Contiene toda la biblioteca .NET, y permite utilizar cualquiera de sus lenguajes.
  • ASP.NET MVC – Framework, basado en ASP.NET, que implementa el patrón MVC. Similar a la mayoría de frameworks MVC, con algunas diferencias (esto da para otro artículo).
  • Visual Web Developer 2010 Express – Es la versión freeware diseñada para estudiantes y aficionados. Existen muchas otras versiones de Visual Studio (Professional, Premium, Ultimate…), siendo la más barata de ellas 550€, aunque a través del programa DreamSpark se puede adquirir una licencia de 3 años por 100 dólares. Incluye también SQL Server.
  • SQL Server Express Database – Es la versión gratuita. Contiene algunas limitaciones, generalmente de rendimiento y de volumen de datos.

Hola mundo en ASP.NET MVC

Para finalizar el primer paso en mi cruzada, sólo queda hacer un “Hola mundo” en ASP.NET MVC. Como ahora vamos a ver, este punto no tiene mucho misterio. Tal y como ocurre con la mayor parte de frameworks de desarrollo web MVC, ASP.NET también tiene un generador inicial de código: se encarga de crear la estructura básica de directorios, layout global (Site.Master), controladores de inicio, vistas para cada acción de los controladores, bootstrap (Global.asax), modelos, etc. Además, utiliza por defecto ficheros de configuración.

Pero veamos cómo crear un nuevo proyecto:

  1. Arrancamos Microsoft Visual Web Developer 2010 Express.
  2. File > New Project
  3. En la columna izquierda seleccionamos “Visual C#”, y posteriormente “ASP.NET MVC 2 Web Application”. De este modo nuestro proyecto utilizará el framework MVC.
  4. Le damos un nombre a nuestro proyecto en el campo “Name”.
  5. Pulsamos “Ok”.

El proyecto ya está creado. Sólo tenemos que ejecutarlo accediendo a “Debug” > “Start Debugging” (también mediante el atajo de teclado F5). Se abrirá la página en un puerto aleatorio del navegador:

proyecto por defecto de ASP.NET MVC

¡Y con esto finaliza el primer salto de Unix a Windows!