stringtranslate.com

GNU paso

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

GNUstep cuenta con un IDE orientado a objetos y multiplataforma . Además de la interfaz Objective-C predeterminada, GNUstep también tiene enlaces para Java , Ruby , [2] GNU Guile y Scheme . [3] Los desarrolladores de GNUstep rastrean algunas adiciones a Cocoa de Apple para seguir siendo compatibles. 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 técnicamente ambiciosas y amigables para el programador de NeXTSTEP.

Historia

GNUstep comenzó cuando Paul Kunz y otros en Stanford Linear Accelerator Center querían portar HippoDraw desde 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 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 del código fuente de su aplicación. Después de que la especificación OpenStep se publicara en 1994, decidieron escribir un nuevo objcX que se ajustara a las nuevas API. El software se conocería como "GNUstep". [4]

Arquitectura de software

Ilustra los componentes de software de la pila de escritorio Linux, como el servidor de pantalla , las bibliotecas de elementos de control de gráficos o los shells gráficos .

Representación

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 está compuesta por elementos de control gráfico. GNUMail tiene que interactuar con el sistema de ventanas , por ejemplo, X11 o Wayland , y su interfaz gráfica de usuario tiene que ser renderizada . El backend de GNUstep proporciona un pequeño conjunto de funciones utilizadas por la biblioteca de interfaz de usuario para interactuar con el sistema de ventanas real . También tiene un motor de renderizado que emula funciones Postscript comunes . El paquete gnustep-back proporciona los siguientes backends:

Paradigmas

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 .

Otras interfaces

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

A partir de febrero de 2020 , no hay proyectos que creen el lenguaje de programación Swift contra el entorno GNUstep Objective-C.

Aplicaciones

A continuación se muestran algunos ejemplos de aplicaciones escritas o trasladadas a GNUstep. [8]

Escrito desde cero

Portado desde NeXTSTEP, OPENSTEP o macOS

Bifurcaciones de GNUstep

Capacidades de la clase

Kit de base

El Foundation Kit proporciona clases básicas como clases contenedoras y clases de estructura de datos.

Kit de aplicación

El kit de aplicación proporciona clases orientadas a las capacidades de la interfaz gráfica de usuario .

Véase también

Referencias

  1. ^ Portado desde NeXTSTEP . Las compilaciones recientes, cuando se compilan con libobjc2, pueden usar una versión más nueva portada desde Mac OS X Snow Leopard .
  2. ^ "Herramientas para desarrolladores de GNUstep - RIGS". www.gnustep.org . Consultado el 10 de abril de 2018 .
  3. ^ GScheme Archivado el 18 de diciembre de 2005 en Wayback Machine.
  4. ^ "Historia de GNUstep". gnustep.made-it.com . Consultado el 10 de abril de 2018 .
  5. ^ "gnustep/libs-boron: El boro es el átomo que precede al carbono". GitHub . GNUstep. 23 de marzo de 2019.
  6. ^ "gnustep/libs-corebase". GNUstep. 19 de noviembre de 2019.
  7. ^ "gnustep/libs-quartzcore". GNUstep. 11 de diciembre de 2019.
  8. ^ "Categoría:Aplicaciones - GNUstepWiki". wiki.gnustep.org . Archivado desde el original el 23 de marzo de 2021 . Consultado el 10 de abril de 2018 .
  9. ^ "GNUstep Objective-C Runtime 2.0". GitHub . Nota: El proyecto WinObjC de Microsoft contiene una versión amigable de esta biblioteca que incluye una solución para el problema de los enlaces incrementales.

Enlaces externos