Articulo de referencia

GNUstep

[[GNU Lesser General Public License]] for the libraries."},"website":{"wt":"{{URL|https://www.gnustep.org/}}"}},"i":0}}]}"> GNUstep es una implementación de software libre de lo...

GNUstep es una implementación de software libre de los frameworks , el kit de herramientas de widgets y las herramientas de desarrollo de aplicaciones de Cocoa (anteriormente OpenStep ) para Objective-C, destinadas a sistemas operativos tipo Unix y Microsoft Windows . Forma parte del Proyecto GNU .

GNUstep cuenta con un IDE multiplataforma orientado a objetos . Además de la interfaz Objective-C predeterminada , GNUstep también tiene enlaces para Java , Ruby , [ 1 ] GNU Guile y Scheme . [ 2 ] Los desarrolladores de GNUstep realizan un seguimiento de algunas adiciones a Cocoa de Apple para mantener la compatibilidad. Las raíces de la interfaz de aplicación de GNUstep son las mismas que las raíces de Cocoa: NeXTSTEP y OpenStep . Por lo tanto, GNUstep es anterior a Cocoa, que surgió cuando Apple adquirió la tecnología de NeXT y la incorporó al desarrollo del Mac OS X original , mientras que GNUstep fue inicialmente un esfuerzo de los desarrolladores de GNU para replicar las características amigables para el programador del técnicamente ambicioso NeXTSTEP.

Historia

GNUstep comenzó cuando Paul Kunz y otros en el Centro del Acelerador Lineal de Stanford quisieron portar HippoDraw de NeXTSTEP a otra plataforma. En lugar de reescribir HippoDraw desde cero y reutilizar solo el diseño de la aplicación, decidieron reescribir la capa de objetos de NeXTSTEP de la que dependía la aplicación. Esta fue la primera versión de libobjcX . Les permitió portar HippoDraw a sistemas Unix que ejecutaban el Sistema X Window sin cambiar una sola línea de su código fuente. Después de que la especificación OpenStep se publicara en 1994, decidieron escribir una nueva versión de objcX que se ajustara a las nuevas API. El software se conocería como "GNUstep". [ 3 ]

Arquitectura de software

Los componentes de software del escritorio Linux incluyen el servidor de visualización , las bibliotecas de elementos de control gráfico y los intérpretes gráficos .

El Foundation Kit proporciona clases básicas como clases envoltorio y clases de estructuras de datos. El Application Kit proporciona clases orientadas a las capacidades de la interfaz gráfica de usuario . GNUstep contiene un conjunto de elementos de control gráfico escritos en el lenguaje de programación Objective-C.

La interfaz gráfica de usuario (GUI) de GNUMail se compone de elementos de control gráfico. GNUMail debe interactuar con el sistema de ventanas , por ejemplo, X11 o Wayland , y su interfaz gráfica de usuario debe renderizarse . El backend de GNUstep proporciona un pequeño conjunto de funciones que la biblioteca de interfaz de usuario utiliza para interactuar con el sistema de ventanas . También cuenta con un motor de renderizado que emula funciones comunes de Postscript . El paquete gnustep-back proporciona los siguientes backends:

  • cairo – backend predeterminado que utiliza la biblioteca de gráficos 2D Cairo .
  • winlib: backend predeterminado en sistemas Microsoft Windows. Variantes de la API de Cairo y Windows .
  • art – backend antiguo (obsoleto) en sistemas tipo Unix. Utiliza la biblioteca de gráficos 2D basada en vectores tipo PostScript Libart .
  • xlib – antiguo (obsoleto) backend de X11.

GNUstep hereda algunos principios de diseño propuestos en OPENSTEP (GNUstep es anterior a Cocoa, pero Cocoa se basa en OPENSTEP), así como el lenguaje Objective-C .

Además de la interfaz Objective-C, algunos proyectos pequeños bajo el paraguas de GNUstep implementan otras API de Apple:

  • La biblioteca Boron pretende implementar la API de Carbon . Está muy incompleta.
  • La biblioteca CoreBase está diseñada para ser compatible con Core Foundation . No es lo suficientemente completa como para que el componente Base (Foundation Kit) sea simplemente un envoltorio a su alrededor.
  • La biblioteca QuartzCore implementa las API de Core Animation . La biblioteca Opal implementa Quartz 2D .

A partir de febrero de 2020 No existen proyectos que compilen el lenguaje de programación Swift utilizando el entorno Objective-C de GNUstep.

Aplicaciones

Aquí tenéis algunos ejemplos de aplicaciones escritas para GNUstep o adaptadas a este entorno.

Original

Adaptado de NeXTSTEP, OPENSTEP o macOS

Bifurcaciones de GNUstep

Véase también

Referencias

  1. "Herramientas para desarrolladores de GNUstep - RIGS" . www.gnustep.org . Consultado el 10 de abril de 2018 .
  2. GScheme Archivado el 18/12/2005 en Wayback Machine
  3. "Historia de GNUstep" . gnustep.made-it.com . Consultado el 10 de abril de 2018 .
  4. "Window Maker Live: Aspecto retro genial, rendimiento aún mejor" . LinuxInsider . 28 de agosto de 2017.
  5. "Los mejores gestores de ventanas de Linux de la vieja escuela que aún se mantienen vigentes" . ZDNET . 1 de octubre de 2024.
  6. "GNUstep Objective-C Runtime 2.0" . GitHub . Nota: El proyecto WinObjC de Microsoft contiene una bifurcación amigable de esta biblioteca que incluye una solución alternativa para el problema de enlace incremental.
  • Sitio web oficial
  • Proyecto de aplicación GNUstep
  • Entrevista de 2003 con el desarrollador de GNUstep, Nicola Pero. Archivada el 7 de enero de 2007 en la Wayback Machine.
  • Entrevista semanal de FLOSS con Gregory Casamento y Riccardo Mottola de GNUstep.