sábado, 6 de marzo de 2010

Introducción al desarrollo de aplicaciones web con Mono.

Cuando oímos hablar de tecnologías libres relacionadas con las aplicaciones web, rara vez pensamos en Mono. Prueba de ello es que pocos proyectos de importancia se han implementado haciendo uso de la tecnología liderada por Miguel de Icaza. Al igual que la plataforma .NET de Microsoft, Mono además de permitir el desarrollo de aplicaciones de escritorio, es una excelente plataforma para el desarrollo de aplicaciones web. Le falta madurar un poco y una pequeña mejora en el rendimiento, pero es una opción valida a tener en cuenta y a lo largo de este artículo veremos algunas pasos para llevarlo a cabo.

pesar de los recelos que crea la plataforma Mono dentro de la comunidad libre, debido a ser una especie de “adaptación” de la tecnología .NET de Microsoft, creo que es una opción más a tener en cuenta. Desde su nacimiento hasta hoy en día, ha evolucionado fuertemente y ha llegado a ocupar un lugar importante en las aplicaciones de escritorio.
Prueba de ello es que Gnome incorpora aplicaciones desarrolladas con Mono en su entorno de escritorio. En la distribución más popular de todas para el escritorio, Ubuntu, podemos encontrarlo en programas como F-Spot, por poner sólo un ejemplo. Sin embargo, otros enfoques de Mono están poco explotados. Un caso claro de ello son las tecnologías web. 

Mono las soporta y para ello utiliza el lenguaje de programación de la familia .NET, ASP.NET. Apache, el servidor web más laureado del software libre, tiene soporte para Mono y podemos aspirar a desarrollar cualquier tipo de aplicación web con esta tecnología. Los problemas que tiene, al menos por ahora, son la falta de madurez y el rendimiento. Ya hemos dicho que todavía no es muy frecuente el uso de Mono en proyectos web populares, por lo que es posible que tenga todavía errores por pulir en despliegues de cierto tamaño. Otro punto a tener en cuenta es el rendimiento. Otros lenguajes interpretados, a mayor o menor nivel, como puedan ser PHP o JSP, están más maduros, depurados y ejecutan en menos tiempo.

Dejando de lado estos problemas, Mono es una alternativa más para este tipo de labores y, por lo tanto, es conveniente conocer qué posibilidades nos ofrece, sabiendo qué limitaciones tenemos y qué pasos hemos de dar para comenzar un proyecto de este tipo. Al ser una parte más de Mono, tendremos fácil acceso a todo tipo de funcionalidades interesantes para el desarrollo de aplicaciones web, como pueden ser la conexión con bases de datos, el tratamiento de datos con arquitecturas como ADO.NET o el manejo de ficheros XML.

Es conveniente que tengáis conocimientos, aunque sean básicos, sobre los lenguajes HTML y C# y sobre el funcionamiento de las aplicaciones web. Aún así, dado el carácter introductorio del artículo, creo que todos podréis leerlo sin dificultad.

Preparación e instalación

Aunque existan lenguajes como PHP que son interpretados por los servidores web en la mayoría de las ocasiones, nada más instalarlos, al tratar con una tecnología menos difundida, tendremos que centrarnos algo más en este paso. Lo primero será elegir qué servidor web utilizar. Tenemos dos opciones. La primera se llama XSP, un servidor escrito en C# cuyo propósito es servir de plataforma didáctica y para el desarrollo de prototipos. Para el desarrollo de aplicaciones de cara a producción, siempre será mejor utilizar Apache junto con el módulo mod_mono.


XSP

Como ya hemos comentado es un servidor ligero realizado en C# para aplicaciones que no están dirigidas a producción. Su nombre proviene del nombre que Microsoft puso a ASP.NET cuando todavía era un proyecto. Finalmente, le cambiaron el nombre de XSP a ASP.NET cuando lanzaron la plataforma al mercado. XSP es capaz de ejecutar sobre Mono o sobre un marco de trabajo .NET. También soporta SSL. Para instalarlo podéis descargaros de los repositorios SVN del Proyecto Mono el código fuente o directamente hacer uso de vuestro gestor de paquetes, opción esta última que recomiendo. La versión de XSP que debemos instalar es la que soporta ASP.NET 2. En Debian el paquete viene nombrado en el repositorio como mono-xsp, en otras distribuciones el nombre del paquete puede variar a xsp2 o mono-xsp2. Junto con este paquete también debemos instalar el paquete con ejemplos asp.net2-examples.
Una vez instalado, para comprobar que todo funciona bien hacemos lo siguiente:

  • Desde la terminal nos dirigimos al directorio donde se encuentren los ejemplos, /usr/share/asp.net2-demos/
  • Ejecutamos el servidor: xsp2
  • Comprobamos que hay a la escucha en el puerto 8080 de tu equipo con un navegador. Para esto último introduce en la dirección: http://localhost:8080.
  • Si todo ha ido bien deberá salirnos una pantalla indicándonos una serie de ejemplos.

Bien, en mi proximo post continuare con este articulo, con el cual seguiremos viendo que no es tan complejo el uso de esta alternativa.

Saludos.


1 comentario:

  1. Para qué usar ASP si hay alternativas verdaderamente libres, sin patentes ni una empresa detrás que su único interés es limitar tu libertad?

    ResponderEliminar