IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

GNUstep, un environnement de développement multiplateforme, orienté objet à code source ouvert
Basées sur la spécification originale OpenStep développé par NeXT

Le , par Bill Fassinou

221PARTAGES

8  0 
GNUstep est un ensemble de bibliothèques Objective-C polyvalentes basées sur la spécification originale OpenStep développé par NeXT (maintenant propriété d'Apple et incorporée dans Mac OS X). Il fournit un framework de développement d'applications orientées objet et un ensemble d'outils à utiliser sur une grande variété de plateformes informatiques. En savoir plus sur le projet GNUstep, les alternatives, etc.

Quelques rappels sur comment le projet GNUstep a vu le jour

Après avoir quitté Apple, le feu Steve Jobs a créé une nouvelle société, NeXT, dans le but de produire l'ordinateur parfait. En 1989, le système d'exploitation de cette machine, nommé NeXTStep, a été publié. Bien qu'il ne soit initialement disponible que sur le NeXT Cube, NeXTStep a eu une grande influence. Le premier navigateur Web, WorldWideWeb (rebaptisé plus tard Nexus), a été développé sur cette machine. (L'auteur, Tim Berners-Lee, a affirmé que son navigateur n'aurait pas été possible sans le superbe environnement de développement de NeXTStep.) Parmi les autres logiciels développés sur les machines NeXT figure Doom.



Quelques années plus tard, en 1993, NeXT s'est associé à Sun pour produire la spécification OpenStep. Il s'agissait d'une version simplifiée des API de NeXT, destinée au développement multiplateforme. Elle était divisée en deux composants :

  • le Foundation Kit fournissait des bibliothèques de bas niveau, comme les chaînes de caractères, les tableaux associatifs et les entrées/sorties de fichiers ;
  • les kits d'application fournissaient une boîte à outils d'interface graphique et des services associés ;


Sun a brièvement pris en charge OpenStep sur Solaris, tandis que NeXT a publié une nouvelle version de son système d'exploitation, confusément appelée OPENSTEP, qui a été mise à disposition pour un certain nombre d'architectures, y compris x86. NeXT a également fourni une implémentation de la spécification qui fonctionnait sous Windows. À l'époque, le projet GNU s'est montré très intéressé par le système NeXT. Beaucoup considéraient OPENSTEP comme le système d'exploitation UNIX idéal. Pendant un certain temps, le système d'exploitation GNU était destiné à être très similaire à NeXTStep.

Le noyau GNU HURD était basé sur les mêmes fondements Mach que NeXTStep, mais avec une conception plus ambitieuse. La couche d'interface graphique aurait été fournie par une implémentation GNU des API de NeXT. Le projet GNUstep a véritablement pris de l'ampleur après la publication de la spécification OpenStep en 1994, mais souffrait de quelques problèmes. L'un des problèmes majeurs de GNUstep était le fait que très peu de développeurs avaient été exposés à NeXTStep ou OPENSTEP. Puis vint le rachat d'Apple par NeXT, ce qui a permis de baisser le prix du matériel NeXT et populariser le système d'exploitation NeXTStep.

Comme de plus en plus de développeurs se sont habitués à l'élégance de l'API OpenStep grâce à l'implémentation d'Apple, connue sous le nom de Cocoa, l'intérêt pour le projet a été ravivé. Dans les années 2000, GNUstep implémente plus ou moins toute la spécification originale d'OpenStep ainsi que plusieurs extensions d'OS X.

Qu'est-ce que GNUstep et quelles sont ses caractéristiques ?

Le noyau de GNUstep fournit une version open source des API et des outils de Cocoa qui prend en charge plusieurs plateformes populaires. GNUstep fournit une implémentation robuste des bibliothèques AppKit et Foundation ainsi que des outils de développement, notamment le concepteur d'interface avancé Gorm (l'InterfaceBuilder) et l'IDE ProjectCenter (ProjectBuilder/Xcode).

GNUstep cherche à être compatible avec le code source de Cocoa, il peut donc être utilisé pour développer et construire des applications multiplateformes entre les plateformes Macintosh (Cocoa), Unix (Solaris) et Unix-like (GNU/Linux et GNU/Hurd, NetBSD, OpenBSD, FreeBSD) ainsi que Windows. GNUstep n'est pas écrit en C. Le principal langage de développement de GNUstep est l'Objective-C, mais GNUstep ne s'y limite pas.

Les bibliothèques GNUstep sont couvertes par la licence publique GNU Lesser (Library). Cela signifie généralement que vous pouvez utiliser ces bibliothèques dans n'importe quel programme (même les programmes non libres) sans affecter la licence de votre programme ou de toute autre bibliothèque avec laquelle GNUstep est lié. Si vous distribuez les bibliothèques GNUstep avec votre programme, vous devez rendre librement disponibles les améliorations que vous avez apportées aux bibliothèques GNUstep. Les outils autonomes de GNUstep sont sous licence GPL standard.

GNUstep n'est pas un gestionnaire de fenêtres

Il y a souvent une certaine confusion sur ce qu'est exactement GNUstep. GNUstep est un environnement de développement. C'est un ensemble de bibliothèques et d'outils de développement qui peuvent être utilisés pour écrire des applications. Le gestionnaire de fenêtres le plus couramment utilisé avec les environnements GNUstep est WindowMaker, bien qu'il n'utilise pas réellement GNUstep.

Il utilise plutôt une bibliothèque appelée WINGS (WINGS Is Not GNUstep) pour implémenter certaines des fonctionnalités de GNUstep en C. GNUstep n'est pas non plus "WINE pour OS X". GNUstep implémente une grande partie des fonctionnalités d'OS X, mais au niveau de l'API. Il est important de noter que les ABI sont très différentes, du fait qu'Apple maintient son propre moteur d'exécution Objective-C plutôt que d'utiliser la version GNU.

GNUstep n'est pas un bureau ni un clone de système d'exploitation

Le projet GNUstep fournit plusieurs applications officielles par défaut, comme un gestionnaire d'espace de travail et une application de préférences, mais le projet GNUstep lui-même n'est pas un projet de bureau. Plusieurs applications GNUstep ont été écrites pour...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !