Bluefish es un editor de código fuente avanzado de software libre y de código abierto con una variedad de herramientas para programación y desarrollo de sitios web. Admite la edición de código fuente como C , JavaScript , [2] Java , PHP , [3] [4] Python , [5] [6] así como lenguajes de marcado como HTML , [7] YAML y XML . [8] [9] Está disponible para muchas plataformas, incluidas Linux , [10] macOS , [11] y Windows , [12] [13] y se puede utilizar a través de la integración con GNOME o ejecutarse como una aplicación independiente. Diseñado como un compromiso entre editores de texto simple e IDE de programación completa , [14] [15] Bluefish es liviano, rápido y fácil de aprender, al mismo tiempo que proporciona muchas funciones de IDE. [16] [17] Bluefish fue uno de los primeros editores de código fuente en el escritorio Linux. Ha sido traducido a 17 idiomas. El código fuente está disponible bajo la Licencia Pública General de GNU .
Bluefish no es un IDE completo, sino más que un editor de texto avanzado. [18] En comparación con un IDE, Bluefish carece de funcionalidades como un depurador integrado. [19] Se describe mejor como un editor de código avanzado [20] con muchas funciones específicas para la web. [21] [15] Algunos lo llaman IDE web, [22] pero no cuenta con un componente de diseño web WYSIWYG . [23] [21]
Las características de Bluefish incluyen resaltado de sintaxis [24] y autocompletado para 47 lenguajes de marcado y código diferentes (incluida la sintaxis Mediawiki [25] ), personalizable a través de un formato de definición de lenguaje XML. [26] Además, presenta plegado de código , recuperación automática, [16] funcionalidad de carga/descarga (en sistemas donde GVfs está disponible), un corrector ortográfico que reconoce el código, [22] [16] un explorador de caracteres Unicode, soporte de proyectos, [27] navegación de código y marcadores. [28] Tiene algunas funciones avanzadas de búsqueda y reemplazo [21] con soporte de expresiones regulares y soporte de búsqueda y reemplazo de múltiples archivos. Tiene una interfaz de múltiples documentos [29] que puede cargar rápidamente bases de código o sitios web grandes (cientos de archivos), [20] [27] y presenta edición de pantalla completa. [19]
Para el desarrollo web, cuenta con numerosas barras de herramientas con cuadros de diálogo específicos y asistentes para insertar automáticamente las etiquetas HTML correctas. [24] Además, el autocompletado de todas las etiquetas y sus atributos [21] junto con Zencoding/emmet [30] ayudan a un desarrollo web rápido. [23]
Bluefish es extensible a través de complementos y herramientas y scripts externos. [27] [16] [31] Muchos scripts vienen preconfigurados, incluyendo análisis de código estático y verificaciones de sintaxis y marcado para diferentes lenguajes de marcado y programación como lint o weblint. [32] Además, una característica simple similar a un marco llamada "menú personalizado" ayuda a acelerar las acciones repetidas. [18] [33] Un gran conjunto de macros para PHP y HTML vienen preconfigurados. [34]
Bluefish fue fundada por Chris Mazuc y Olivier Sessink en 1998 para facilitar el desarrollo web a los profesionales en plataformas de escritorio Linux. [35] En 1998 se lanzó el entorno de escritorio K 1.0, y en 1999 se lanzó el entorno de escritorio Gnome 1.0, por lo que esto fue en los primeros días del escritorio Linux. [36] Bluefish era en ese momento uno de los únicos editores enfocados en el desarrollo web en Linux. [37] [38] Linux, debido a la pila LAMP (introducida por primera vez en 1998 [39] ), se estaba convirtiendo en la plataforma de alojamiento web más popular. [40] Bluefish fue rápidamente parte de las principales distribuciones de Linux, como Debian Potato (lanzada en 2000), [41] Knoppix 2.1 [42] [43] (en ese momento la distribución Linux Live más importante) y la primera versión de Fedora . [44] En los primeros escritorios Linux, Bluefish era el editor web más importante. [45] Por ello, varios libros sobre desarrollo web en Linux tratan el uso de Bluefish. Por ejemplo, Practical PHP and MySQL, del administrador de la comunidad de Ubuntu, Jono Bacon , que incluso incluyó un Live CD de Ubuntu personalizado con Bluefish como editor principal. [3] [46]
El desarrollo de Bluefish se inspiró inicialmente en otros dos editores: el escaneo y resaltado de sintaxis configurable se inspiró en NEdit , pero la interfaz de usuario se inspiró en Homesite , que solo estaba disponible en Windows. El título del trabajo de desarrollo de la aplicación en las primeras etapas fue Thtml editor , pero la pequeña comunidad de desarrolladores lo consideró demasiado críptico; durante un corto tiempo se utilizó Prosite , pero se abandonó para evitar conflictos con empresas de desarrollo web que ya usaban ese nombre. [47] Finalmente, el nombre Bluefish se eligió después de que se propusiera un logotipo (el dibujo de un pez azul hecho por un niño) en su lista de correo. [35]
La rama 1.0.x fue lanzada en 2005, e incluyó un nuevo logo. La versión 1.0 fue presentada en Slashdot , [48] causando el efecto slashdot en el sitio web de Bluefish. En 2005 se hizo una bifurcación de Bluefish de 1.3 para crear Winefish, un editor LaTeX . [49] La rama 2.0.x [50] fue una gran reescritura, cambiando al widget GTK-2 GtkTextView y un nuevo motor de escaneo de sintaxis basado en un autómata finito determinista . [51] La rama 2.2.x, [52] que es la rama estable actual, soporta tanto GTK-2 como GTK-3.
Aunque Bluefish no es una parte oficial del entorno de escritorio Gnome , a menudo se lo considera así porque utiliza el kit de herramientas GTK y se integra bien en GNOME. [45] [53]
El código fuente abierto de Bluefish está disponible en SourceForge . Después de un breve período en el que los desarrolladores de Bluefish se comunicaban parches de código por correo electrónico, [54] Bluefish se unió como uno de los primeros proyectos en Sourceforge. La comunidad se unió en los primeros meses después del lanzamiento, principalmente promovida por Robin Miller , quien era un gran usuario de Bluefish [18] y trabajaba para Geeknet , que era propietaria de Sourceforge. Inicialmente, se utilizó CVS para el control de versiones de código, luego el código se trasladó a SVN .
Bluefish tiene una base de código bien establecida escrita principalmente en C [55] y utiliza la biblioteca multiplataforma GTK para sus widgets GUI . [56] El soporte de lenguaje de marcado y programación se define en archivos XML que se cargan con Libxml2 . Los complementos opcionales requieren libenchant , python y libgucharmap . [57] La construcción de un binario se realiza con Automake y Autoconf para configurar y establecer su entorno de construcción. Tanto llvm como GCC se pueden utilizar para compilar Bluefish. En Windows, se utiliza MinGW para construir los binarios. En OSX hay puertos en Fink [58] y Macports , [59] pero el binario oficial se construye utilizando Gtk-OSX-Integration [60].
Bluefish tiene una API de complementos en C, pero se ha utilizado principalmente para separar partes no mantenidas (como el complemento infobrowser) de las partes mantenidas. También existen algunos complementos de Python, pero necesitan un complemento de C para interactuar con el programa principal. Bluefish también admite complementos acoplados de forma muy flexible: el usuario puede configurar en el panel de preferencias scripts externos que leen la entrada estándar y devuelven sus resultados a través de la salida estándar . [27] La distribución de Bluefish incluye varios scripts para formato javascript, json, CSS y HTML.
{{cite web}}
: Falta o está vacío |title=
( ayuda ){{cite book}}
: CS1 maint: varios nombres: lista de autores ( enlace )Libros o sitios web extensos sobre desarrollo web que recomiendan y/o cubren el uso de Bluefish:
Libros sobre Python que recomiendan y/o cubren el uso de Bluefish:
Libros sobre PHP que recomiendan y/o cubren el uso de Bluefish:
Libros genéricos sobre desarrollo en el escritorio Linux que recomiendan y/o cubren el uso de Bluefish:
{{cite book}}
: CS1 maint: varios nombres: lista de autores ( enlace )