Eclipse se usa cada vez más por desarrolladores Linux

Leo en Ars Technica que La Fundación Eclipse, la organización tras el desarrollo del popular IDE Eclipse, ha publicado los resultados de una encuesta llevada a cabo en 2009 entre los desarrolladores. Esta encuesta es igual a la llevada a cabo en 2007, lo que posibilita realizar análisis estadísticos sobre la progresión y los cambios sufridos por la comunidad de usuarios de Eclipse en los últimos dos años.

La encuesta incluye varias preguntas sobre la demografía, preferencias tecnológicas, percepciones sobre Eclipse y otros temas relacionados. Entre los resultados más destacables sobresale un claro movimiento hacia Linux del grueso de desarrolladores que usan Eclipse.

Lástima que la gente de Adobe no crea lo mismo.

Flex Builder 3 para Linux: el gran olvidado de Adobe

El 14 de Agosto de 2008, Adobe publicó la versión alpha 4 de Flex Builer 3 para Linux. A pesar de ser una versión alpha, funciona bastante bien. Tiene al menos, cuatro grandes pegas: la primera que hay que hacer malabares para hacerlo funcionar con el «nuevo» SDK de Adobe AIR (1.5.1).  La segunda es que no dispone de «Design Mode». Es decir, no podremos hacer ningún diseño de pantalla en modo gráfico al igual que se puede hacer con Flex Builder en Windows. El tercer inconveniente es que no funciona en Eclipse 3.4 Ganymede.  Esto es especiamente grave, porque fuerza a tener instalada una versión anticuada de Eclipse sólo para que Flex Builder funcione.  O bien seguir una ristra de pasos a modo de parche que la propia comunidad de usuarios ha publicado (y que en Linux sólo parece funcionar a algunas personas).

El cuarto inconveniente es que algunos componentes Flex sólo están disponible en Linux como modo trial (es decir, para probar, y si te gusta, comprarlos…) Por ejemplo, el componente «Flex Data Visualization» de la figura tiene una marca de agua al ser compilado en Linux que indica que estamos usando una versión trial.

Esas son las pegas principales. Que no serían tales si los desarrolladores de Adobe para Linux se dignaran a indicar si tendremos versión de FB final para este sistema operativo o no. Me imagino que algo tendrán que hacer dentro de 234 días. ¿Por qué ese número? Muy sencillo, porque el FB 3 muestra en la ventana inferior de Eclipse este bonito mensaje contínuamente:

No es cuestión de que los linuxeros lo queramos todo gratis. Es más, los propios usuarios de Flex Builder para Linux han escrito una carta abierta a Adobe para que, por favor, les permitan comprar una licencia con el producto actualizado para Linux.

No todo son críticas. Hay que alabar que Adobe haya liberado bajo MPL el Flex SDK, lo que en otras palabras, viene a decirnos que «si no os gusta el Flex Builder para Linux que os hemos preparado, ¿por qué no os construís vosotros mismos uno?». No es un buen trato a los usuarios pero… alguno se lo ha tomado en serio y ya ha desarrollado una primera versión de  un plugin para desarrollo Flex en NetBeans (recordemos que FB corre sobre Eclipse).  Por el momento no tiene resaltado de sintaxis – sí en la versión SVN – ni Desing Mode, pero todo se andará. Además, es software open source, por lo que evolucionará.. y si FB no se pone las pilas, lo hará muy rápido.

No es la primera vez que Adobe llega a desarrollar para Linux un producto hasta etapas muy avanzadas del proyecto para luego abandonarlo. Los más viejos del lugar recordarán el fiasco de Adobe FrameMaker para Linux, que Adobe desarrolló hasta una versión beta (muy usable, la probé personalmente) y que en Noviembre de 2000 decidió abandonar.

¿Qué opinión os merece todo esto? ¿alguien de Adobe en la sala ;-)? ¿algún desarrollador de Flex en Linux que haga uso de FB u otro entorno?

Web-Cat: evaluación automática de prácticas de programación

Web-CAT es un sistema de evaluación automatizado de ejercicios prácticos de programación. Dicho de otro modo: si estás enseñando a programar a un grupo de alumnos, les pides que resuelvan ejercicios prácticos y quieres que los puedan subir a una web y recibir feedback automáticamente, WebCat es lo que andabas buscando, en especial si el lenguaje de programación en el que solicitas los ejercicios es Java, dado que dispone de buenos plugins para integrar los tests sobre los ejercicios con JUnit, así como para la realización de tests de cobertura, de forma automática.

En mi caso, lo que buscaba era que los propios alumnos pudieran crear sus pruebas unitarias sobre las clases que deben de programar y que el sistema (WebCat en este caso), pasara dichos tests MÁS las pruebas JUnit que yo haya especificado (y que el alumno no dispone). WebCat es justo la herramienta que buscaba. Veamos el proceso de instalación.

Bajamos el .war desde SourceForge (un .war es un archivo de instalación automática de una aplicación web J2EE, para poder instalarla en dos clicks sobre por ejemplo, el servidor Tomcat).

Desde el Tomcat Manager (http://localhost:8080/manager), instalamos el .war recién descargado.
Desconozco la razón, pero desde que pulsamos el botón de instalar hasta que realmente se instala transcurren unos 2 minutos (¡en local!). ¿Tal vez se esté descargando dependencias? No lo sé, pero tras esos dos minutos, recibiremos un mensaje de OK.

Pulsamos a continuación sobre el enlace que lleva el nombre de la aplicación (/Web-CAT_1.4.0) para entrar en el asistente de configuración.

Vamos siguiendo los pasos, aceptamos la licencia, configuramos MySQL, le damos un nombre al sitio web, indicamos directorios de trabajo, dirección del servidor SMTP, email de administración, mecanismo de autenticación (built-in database, es decir, MySQL, o bien LDAP o bien a través de un plugin que especifiquemos), nombre de usuario administrador… hasta terminar por crear un semestre de prueba, con nombre de asignatura, cursos, etc.

Al terminar, el asistente nos felicitará por haber recorrido todos sus apartados correctamente y nos dejará en la pantalla de login. Nos identificamos con la cuenta de administrador que hayamos especificado previamente. Una vez autenticados, entraremos en la pantalla principal de WebCat.

Lo primero será ahora crear algún usuario/alumno (aparte del administrador), luego un curso (si no lo hemos hecho antes) y finalmente asociar usuarios/alumnos al curso. Para ello, pulsamos en la pestaña «Administer», «Edit database», y en la opción «User», seleccionamos el icono de la lupa ( < sarcastic mode > sólo me costó 15 minutos encontrar la opción en este panel tan intuitivo… < / sarcastic mode > ). Pulsamos el botón New (antes de rellenar los campos) y ahora sí, cumplimentamos los campos Authentication Domain – el nombre de tu centro – , username, password, email (son los únicos campos obligatorios) y pulsamos Save.

Crear el curso: pulsamos en Courses / New. Le damos un nombre al curso y siguiente. Ahora, elegimos «Manually add students» y elegimos a los estudiantes. Por ahora sólo tenemos uno, así que no hay mucho que pensar.

Crear ejercicios: pulsamos en Assignments, seleccionamos el curso, y pulsamos Next hasta que nos permita bautizar al nuevo ejercicio con un nombre, url, etc.

En el apartado Submission Rules, podemos indicar quién puntúa qué, plazos para aceptar los trabajos, si penalizamos por envíos tardíos, etc. Guardamos nuestras preferencias y volvemos a la página anterior.

Ahora podemos indicar que queremos usar el plugin JUnit en WebCat. Para ello, en el apartado Plugin, pulsamos el botón Add. Seleccionamos JavaTddPlugin, y a continuación pulsamos en el botón de edición del plugin.

En el apartado «JUnit Reference Test Class(es)», es donde podremos especificar los tests JUnit que queremos pasar a cada uno de los ejercicios que nos envíen los alumnos. En «Supplemental Classes for Assignment», podemos indicar clases auxiliares que WebCat deberá de incluir para compilar los ejercicios. Subimos un archivo .java con las pruebas unitarias que deseemos (se puede subir también un .zip con varios .java…)

Al terminar, no olvidarse de pulsar en «Publish it» o los alumnos no verán el ejercicio.

Xp-Dev.com: repositorio Subversion gratuito con proyectos privados

Muchos de vosotros ya sabréis que Assembla ha empezado a cobrar por alojar proyectos privados en su repositorio Subversion . Es decir, si guardamos nuestro código abierto para todo el mundo entonces es gratuito pero si queremos mantenerlo privado, entonces hay que pagar una pequeña cantidad (creo que son 2$/usuarios/proyecto/mes). Me parece correcto por su parte y de algún sitio tienen que ganar algo de dinero (porque el número de usuarios gratuitos les estaba provocando una muerte por éxito…)

El caso es que ahora es más complejo dar esa referencia para mis alumnos, dado que no tiene mucha gracia que los alumnos con prácticas publiquen su código en Assembla de forma gratuita… abierto para todos los «copy_pasters» del grupo 😉 También podría pedirles que paguen 2 dólares al mes por proyecto, no parece nada exagerado (4 meses = 8 dólares = unos 5 cafés por cuatrimestre). Pero antes de ir por esa vía, he buscado alternativas, y he encontrado una: Xp-Dev.com . Una web rápida, gratuita y que permite crear proyectos SVN privados. Además de gestionar permisos de lectura/escritura para usuarios de un mismo repositorio SVN. Igualmente permite crear casos de uso, tareas asociadas a esos casos de uso, importar ficheros, etc. Aparte de su gratuidad, lo que más me ha convencido son su sencillez y rapidez. Pues eso, ahí os dejo la referencia para que la probéis.

Nota: xp-dev.com no tiene nada que ver con WinXP… lo digo para los desconfiados 😉
Postdata: seguiremos usando xp-dev.com en la facultad hasta que nuestro compañero David termine de montar Breakout (la versión open source de Assembla) en el servidor interno. Por cierto, cuando termine también le añadiremos la posibilidad de autenticar usuarios vía LDAP – para no tener que crear cuentas para Breakout cuando cada alumno ya tiene la suya en el server LDAP de la universidad). Ese código pasará como parche a Assembla (si nos lo aceptan 🙂

Instalar Flex Builder, Flex SDK y Adobe AIR SDK en Linux

Quería hacer desde hace tiempo un tutorial explicando cómo instalar Flex Builder (Alpha 4), Flex SDK (framework de desarrollo libre de Adobe) y Adobe AIR SDK (para desarrollo de aplicaciones AIR) . Pero ya no lo haré, porque sería repetir el estupendo trabajo de Ashutosh Sharma, developer de Adobe AIR para Linux. Sólo un detalle: no instaléis sobre Eclipse 3.4 (Ganymede) porque llegaríais al mismo error que yo (documentado y sin solución por ahora), del cual adjunto pantallazo.
Lo que os puedo asegurar es que en Eclipse 3.3 (Europa) funciona bien (echaréis en falta la vista diseño de Flex Builder disponible en Windows, pero no se puede pedir más de una versión alpha)


A partir de hoy escribiré más sobre esta tecnología… en conjunción con mis pinitos en Red5, el servidor Flash open source, del que recientemente han publicado la versión v.0.8 RC1