En mi presentación “Open Source, una alternativa real para los desarrolladores web en Latinoamérica” (UNI, Lima, 16 de febrero de 2006) mencioné varias aplicaciones que cualquier desarrollador puede usar como alternativa a software comercial, a continuación los enlaces para todos aquellos que estén interesados en dar el salto.
Sistema Operativo
Para el 95% de mi trabajo estoy usando Linux, mi distribución actual es Fedora Redhat, muy fácil de instalar y usar (en términos linuxeros) pero he escuchado muy buenos comentarios sobre Ubuntu.
Por otro lado, CentOS es una buena alternativa basada en Red Hat Enterprise.
Suite de Oficina
Sin lugar a dudas OpenOffice es una de las aplicaciones más sólidas para producir documentos de texto, hojas de cálculo, presentaciones y diagramas (que uso para mis mapas de sitio). OpenOffice usa XML como formato para los archivos que produce y permite exportar e importar de muchísimas otras aplicaciones, incluyendo MS Office y Adobe PDF.
Una alternativa, que viene con toda instalación de KDE en Linux, es KOffice, permite trabajar con archivos PDB que puedes descargar a tu Palm PDA.
Editores e IDE’s
Los dos editores más usados, y alrededor de los cuales existen más debates, son vi y Emacs.
Yo uso vi y me parece sumamente potente en mi trabajo con documentos de código HTML, XML, CSS, PHP, Javascript (perdón, “Ecmascript"), Perl y Java.
Para quienes estén más habituados a entorno de desarrollo como Macromedia Dreamweaver las mejores opciones serían: Quanta Plus y Bluefish.
Otra alternativa interesante es NVU, basado en Mozilla Composer y más enfocado en HTML.
Finalmente, para aquellos que viven y respiran Java las opciones son muchas, siendo dos de las más populares Netbeans, acaba de ser lanzada la versión 5.0, y Eclipse.
Diseño Gráfico
He visto satisfechas mis necesidades de trabajo con bitmaps con Gimp, una aplicación muy estable y con una gran base de usuarios, muchos de ellos (me incluyo) ex-adictos de Adobe Photoshop.
Para todo lo relacionado con arte vectorial estoy usando Inkscape, la aplicación nos es tan madura como Gimp pero promete mucho y usa SVG, un estándar de W3C basado en XML, como formato para todos los archivos.
Finalmente, para quienes estén interesados en trabajar con 3D, animaciones y efectos recomiendo una visita al sitio web de Blender, una muy potente alternativa a pesos pesados como 3D-Max, Maya o Cinema4D.
Modelamiento de Aplicaciones
Todos los que desarrollamos aplicaciones web debemos modelar nuestras bases de datos en los inicios del proceso, actualmente uso DBDesigner4 de Fabforce para mis modelos en MySQL.
La compañía fue adquirida hace unos meses por MySQL y ya se encuentra en sus primeros beta MySQL Workbench, una versión mejorada del modelador aunque aún falta algún tiempo para ver una versión final.
Si necesitas trabajar con otras bases de datos además de MySQL entonces Mogwai ER-Designer es una muy buena alternativa, esta aplicación basada en Java permite trabajar con RDBMS’s como Oracle, MySQL, MS SQL y PostgreSQL, el equipo de desarrollo no es tan grande como en otros proyectos open source pero luce muy interesante.
Si lo que deseas es modelar una aplicación basada en objetos usando UML te recomiendo Umbrello, es estable y muy completo, permitiendo importar y generar código para Java, PHP, JavaScript, ActionScript, SQL, Python, C++ y muchos otros lenguajes.
Conclusión
Allí lo tienes, todo lo necesario, en versiones open source, para desarrollar un proyecto web de principio a fin, seas diseñador, programador o ambos.
Obviamente existen diferencias con respecto a las aplicaciones comerciales que puedes estar usando y no es un cambio que puedas dar de la noche a la mañana, pero es una alternativa muy interesante.
¿Qué extraño de Windows?, creo que la respuesta obvia es Macromedia Flash, la alternativas open source dejan mucho que desear y Macromedia, ahora Adobe, no parece tener planes de lanzar una versión para Linux aún.
La mayoría de juegos de video, todos debemos jugar ¿no?, no existen aún en versiones para Linux.
Finalmente, muchas de las aplicaciones aquí mencionadas son multiplataforma por lo que no necesariamente deberías dejar Windows o Mac para usarlas.