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.


miércoles, 3 de marzo de 2010

Google lanzará su propio teléfono en 2010


Saludos, para realizar la apertura de mi blog me gustaría contarles un poco sobre un articulo que lei esta semana en la revista Linux+ sobre Nexus One.

Muchos han sido los rumores en los últimos días sobre el lanzamiento de Google de su propio terminal y la información parece haber cobrado fuerza. Ha sido la propia compañía, a través de una entrada en su blog corporativo, quien ha confirmado la fabricación de un teléfono en colaboración con un socio aun sin nombrar, el cual ya estaría disponible para ser testeado por los propios trabajadores de Mountain View.

El terminal, denominado “Nexus One” se venderá libre y sin estar asociado a ningún operador, según fuentes cercanas a la compañía. Se tratará de un smartphone que incorporará el sistema operativo Android 2.1 y podría tener una pantalla OLED capacitiva similar a la del HTC Dragon, sin teclado físico. Incluiría además el procesador Snapdragon y pantalla táctil OLED, dos micros y especiales capacidades de transformación de voz en texto.

Según afirma The Wall Street Journal, el dispositivo se pondrá a la venta el próximo año y Google lo comercializará directamente. Serán los usuarios quienes decidan con quien contratar sus servicios inalámbricos. Esto proporciona a la compañía una gran libertad para incluir software de servicios como su e-mail o su herramienta de mapas sin estar sujeto a las normas de las operadoras.

El lanzamiento deja entrever las intenciones de la firma de competir directamente con el iPhone de Apple y no deja de ser curioso que pueda presentarse sin depender de ninguna otra empresa. Últimamente, entre operadoras y fabricantes de teléfonos, un total de 32 empresas han anunciado el lanzamiento de algún teléfono con el sistema Android.

Las primeras imágenes muestran un diseño similar al del iPhone con un único botón en la parte inferior, debajo de la pantalla, que actúa en realidad como joypad.

De momento se desconocen los precios de este dispositivo así como los países donde podría desembarcar. Según afirmaciones, se comercializará a partir de enero del año que viene.