2. Bluefish
Bluefish es un software editor HTML multiplataforma POSIX y con licencia GPL, lo que
lo convierte en software libre.
Bluefish está dirigido a diseñadores web experimentados y programadores y se enfoca en la
edición de páginas dinámicas e interactivas. Es capaz de reconocer diversos lenguajes de
programación y de marcas.
Bluefish corre en muchos de los sistemas operativos compatibles con POSIX (Portable
Operating System Interface) tales Linux, FreeBSD, MacOS-X, OpenBSD, Solaris y Tru64.
Emplea principalmente las bibliotecas GTK y C posix. La última versión que trabajó con
GTK 1.0 ó 1.2 es la 0.7. La versión actual requiere como mínimo GTK versión 2.0 (o
superior), libpcre 3.0 (o superior), libaspell 0.50 o superior (opcional) para corrección de
ortografía y gnome-vfs (opcional) para archivos remotos.
Es importante anotar que el programa no es oficialmente parte del proyecto Gnome, pero es
utilizado a menudo en dicho entorno.
Los usuarios también pueden acceder a los recursos en línea, tales como servidores FTP o
directorios WebDAV, de forma transparente, a través de Gnome VFS, una capa de
abstracción al sistema de archivos.
Bluefish es un proyecto de software libre en el cual las listas de correo juegan un papel muy
importante. A través de ellas, usuarios, desarrolladores y probadores pueden dar su opinión
respecto a nuevas características, bugs y mejoras respecto a la GUI. Como todo buen
proyecto de software libre sigue las pautas marcadas en el bazar, teniendo como motivación
principal el bien común, del que todos se pueden obtener beneficio.
Historia
El desarrollo del proyecto Bluefish inicia bajo un nombre diferente. Un buen (y a la vez
libre) editor de texto dirigido al desarrollo web no estaba disponible. Es por ello que Olivier
Sessink inicia el proyecto Prosite en el año de 1997, es importante resaltar que
prácticamente simultáneamente Chris Mazuc trabajaba en un editor HTML. Gracias a una
lista de correo de GTK ambos desarrolladores comentan sus iniciativas y deciden trabajar
juntos. Olivier tiene un editor básico mientras que Chris posee muchos diálogos HTML.
Mezclan su código y este nuevo proyecto recibe el nombre de Thtml.
Posteriormente se incorpora al equipo de trabajo Neil Millar quien se encarga de agregarle
el selector de colores y la integración con Weblint. Surge entonces la necesidad de un logo,
mucho más fresco y llamativo, pues iban a aparecer las primeras versiones públicas y se
3. quería ofrecer un producto con una imagen y un nombre más atrayente. Es en este
momento, cuando Neil plantea como nuevo nombre: Bluefish y acompaña su propuesta de
un hermoso pez azul que sugiere como logo. Estos continúan siendo los nombres y logo
actuales.
Con el paso del tiempo se unieron más desarrolladores y Bluefish comenzó a acaparar la
atención de la comunidad de código abierto.
Desde un principio Bluefish ha tenido como ideal principal la libertad. Olivier Sessink se
ha destacado por su interés hacia el desarrollo de propuestas open-source. Esta misma
preocupación la tenía Chris Mazuc.
Bluefish, como otros proyectos, tiene siempre dos versiones de la aplicación: una estable y
otra de desarrollo (svn). La versión de desarrollo incluye las correcciones efectuadas y
nuevas funcionalidades. Con este sistema, siempre tienen una versión estable para ofrecer a
los usuarios y una versión de desarrollo que refleja la dirección que tomará el proyecto.
Adicionalmente se tiene una versión “Snapshot”. Los Snapshot son hechos con regularidad
para proveer a usuarios de las últimas funcionalidades sin necesidad tratar con SVN.
Bluefish cuenta con características tales como:
Rapidez, posibilidad de abrir múltiples archivos simultáneamente.
Soporte multiproyecto.
Soporte para archivos remotos mediante gnome-vfs, marcado de sintaxis
personalizable basado en expresiones regulares compatibles con Perl,
Soporte para sub-patrones y patrones predefinidos (para HTML, PHP, Javascript,
JSP, SQL, XML, Python, Perl, CSS, ColdFusion, Pascal, R, Octave/Matlab).
Diálogos para etiquetas HTML.
Asistentes para creación fácil de documentos.
Creación de tablas.
Marcos (frames)
Soporte para múltiples codificaciones
Trabajo con diferentes juegos de caracteres.
Numeración de líneas
Menús desplegables.
Barras de herramientas configurables.
Diálogo para insertar imágenes.
Buscador de referencia de funciones.
Integración personalizable con varios programas (make, javac, etc).
Resaltado de sintaxis (C, Java, JavaScript, Python, Perl, ColdFusion, Pascal, R y
Octave).
4. Traducciones completas a aproximadamente veintidós idiomas entre ellos:
portugués brasileño, búlgaro, chino, danés, finés, francés, alemán, húngaro, italiano,
noruego, polaco, portugués, español, sueco, japonés, y tamil.
Los desarrolladores pretenden producir un código que no genere accidentes ni pérdidas de
memoria, eso no siempre es fácil de hacer. Las fugas y accidentes a menudo se fijan en
CVS tan pronto como son descubiertos y perseguidos además de la gran base de usuarios
de Bluefish, los desarrolladores lo utilizan para su trabajo diario, por lo tanto la fijación de
los errores y la prevención de accidentes es siempre una prioridad. Un ejemplo es la
cuestión de las funciones de copiar / pegar un poco lento.
El objetivo de Bluefish no es tanto para escribir código para el aspirante o autor, ya que es
proporcionar una manera fácil de programar por la gran cantidad de etiquetas disponibles
para la creación de contenidos web sin necesidad de llevar un libro de referencia. Para ello,
ofrece no menos de 10 barras de herramientas con pestañas, con botones que proporcionan
todo, desde el formato de texto básico (que favorece marcado estructural), de Javascript (se
proporciona una plantilla mouseover útil, por ejemplo) para PHP (en forma de una
referencia en línea para funciones comunes.)
Compilación
La Compilación Bluefish requiere unos paquetes adicionales. Sin embargo, éstos existen
para muchas plataformas, motivo por el cual es probable que no sea necesario compilar. No
obstante, si quiere hacerlo las exigencias son: Archivos de Desarrollo (Development files)
gcc - Bluefish ha sido probado para compilar sobre los 2.95, 3.x, y 4.0.x.
gmake o BSD make.
autoconf - sólo si va a compilar desde CVS.
gtk v2.4 como mínimo - sólo si va a compilar desde CVS.
gnome_vfs 2.6 – sólo si va a compilar desde CVS.
libxml 2.0 – sólo si va a compilar desde CVS.