Remove ads
De Wikipedia, la enciclopedia libre
«Fast, Light Toolkit» (se pronuncia «felteck») es una biblioteca de GUI multiplataforma, desarrollada inicialmente por Bill Spitzak y luego mantenida por un grupo de desarrolladores alrededor del mundo. La biblioteca fue desarrollada teniendo en cuenta programación de gráficos 3D en mente, para esto tiene una interfaz a OpenGL, pero es aún apropiada para desarrollar aplicaciones IGU de propósito general.
FLTK | ||
---|---|---|
Información general | ||
Tipo de programa | Biblioteca de desarrollo | |
Desarrollador | Bill Spitzak | |
Licencia | LGPL con la excepción que permite enlace estático. | |
Información técnica | ||
Programado en | C++ | |
Versiones | ||
Última versión estable | 1.4.0-1 (info) ( 18 de noviembre de 2024 (20 días)) | |
Enlaces | ||
Utilizando sus propios widgets, trazado de gráficos 2D y sistema de eventos (aunque FLTK2 ha ganado experimental soporte para usar opcionalmente la biblioteca gráfica cairo) desarrollados sobre el abstracto código dependiente del sistema, lo cual permite escribir programas que lucen idénticos cuando son compilados en cualquiera de los sistemas operativos soportados.
FLTK es software libre, licenciado bajo LGPL con la cláusula adicional que permite enlazado estático por aplicaciones con licencias incompatibles. Además, incluye a FLUID (del inglés, FLTK User Interface Designer), una interfaz de diseño gráfico de FLTK que genera los archivos de cabecera y código para una IGU desarrollada.[1]
En contraste a otras bibliotecas como Qt y wxWidgets, FLTK aplica una estricta regla de eficiencia antes de apariencia, lo que le cuesta restricciones a su apariencia y funcionalidad, pero, por otro lado, hace de FLTK una biblioteca que consume muy bajos recursos y muy pequeña en tamaño. Esto se refleja en el pequeño tamaño de los programas (el programa «Hola, Mundo!» en FLTK solo ocupa alrededor de 100 KiB), y permite que sea usualmente estáticamente enlazada, aunque el enlace dinámico también está disponible. Lo que previene el uso de complicados macros y preprocesamiento de código separado, además no hace uso de avanzadas características de C++ como: plantillas, excepciones, RTTI. Las versiones FLTK 1.1.x no usan namespace. Por lo anterior, y combinado con el modesto tamaño del paquete, requiere de una corta curva de aprendizaje para los nuevos usuarios.
Pero estas ventajas, como se comentó anteriormente, vienen con su correspondiente desventajas. FLTK ofrece menos widgets o menos efectos que otras que más grandes bibliotecas gráficas, además por usar widgets no nativos, no luce como las aplicaciones nativas que lucen y se siente igual que la plataforma gráfica del sistema.[2]
FLTK fue originalmente diseñada para ser compatible con la biblioteca Forms desarrollada para sistemas SGI (un derivado de esta biblioteca se conoce como «XForms» que aun es frecuentemente utilizada). En esa biblioteca todas las funciones y estructuras inician con «fl_». Este estilo fue extendido a todos los nuevos métodos y widgets en la bibliotecas C++, y el prefijo «FL» fue tomado como nombre de la biblioteca. Después que FL fue liberada como código abierto, fue descubierto que fue imposible buscar por «FL» en Internet, debido al hecho que es la abreviación usada para Florida. Después de muchos debates y buscado por un nuevo nombre para la biblioteca, la cual fue para entonces utilizada por muchos desarrolladores y usuarios, Su creador Bill Spitzak tuvo la idea de usar «FLTK», con la explicación que significaba la abreviación para la frase en inglés «Fast Light Tool Kit», que traduce «Herramientas de Software Rápidas y Livianas».[3]
FLTK fue principalmente diseñada para, y escrita en, el lenguaje de programación C++. Sin embargo, diferentes interfaces existen para otros lenguajes de programación orientada a objetos, por ejemplo Python,[4] Perl[5] y Ruby.[6]
El siguiente ejemplo para FLTK 1.x crea una ventana con el texto "Hola, Mundo!" sobre un botón:
# include <FL/Fl.H>
# include <FL/Fl_Window.H>
# include <FL/Fl_Button.H>
int main(int argc, char *argv[]) {
Fl_Window* w = new Fl_Window(330, 190);
new Fl_Button(110, 130, 100, 35, "Hola, Mundo!");
w->end();
w->show(argc, argv);
return Fl::run();
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.