GNUstep

overmacovermac Membre
22:34 modifié dans Actualités #1
Je ne sais pas si c'est le bon forum pour poster, sinon l'administrateur me pardonnera...

Le Lundi 20 Décembre 2004, on pouvait lire sur le site Mac4ever, un article sur GNUstep.

11840_3445.png

"Connaissez-vous GNUstep ? Il s'agit d'un projet libre de framework permettant développer des applications cross-platfromes.

" Et en quoi cela m'intéresse-t-il ? " Allez vous me demander. Eh bien, en clair, GNUstep est un ensemble de fonctions et d'objets (des fenêtres, des boutons, des sockets réseau, des objets de gestion de fichiers...) calqués sur l'API Cocoa d'Apple. Historiquement, Cocoa vient de NeXT Step, d'où le step, et pouvait tourner sur différente plateformes

Le fait que GNUstep soit très proche de Cocoa permet aux développeurs écrivant une application avec GNUstep de la compiler avec Xcode, sur Mac pour en faire une application 100% Cocoa. Mais il pourra également la compiler sous Linux ou sous Windows en utilisant l'API GNUstep à  la place de Cocoa, l'application aura le même comportement que sur Mac, mais n'utilisera pas les mêmes composants graphiques, réseau...

A l'image d'un Qt, mais en version GNU et créé pour être utilisé avec le langage Objective-C, GNUstep est donc un exellent moyen d'écrire des logiciels multi-plateform.

Un bel exemple d'application "presque Cocoa" est GNUmail. Il s'agit d'un logiciel de mail assez proche de celui d'Apple mais bien plus rapide et intégrant quelques fonctions supplémentaires. Il fonctionne plutôt bien et, après une longue période de gestation est arrivé à  un état stable et complètement fonctionnel. Il tourne sous Mac OS X, Linux et FreeBSD.
"

- Plus d'info sur GNUstep
- Plus d'info sur GNUmail

Peut-être qu'un jour, on pourra créer des applications 100% Cocoa et multi-plateformes...

Réponses

  • 22:34 modifié #2
    GNUstep est une bonne bibliothèque mais elle avance lentement. Du fait du peu d'empressement de la communauté du libre (en fait, je pense aux développeurs Linux) à  la soutenir. Elle préfère se concentrer sur GTK ou KDE qui répondent plus pour eux à  la philosophie du libre que le fait de devoir suivre Apple (http://linuxfr.org/2004/10/19/17458.html pour des exemples de réactions).
    Un autre frein est qu'Apple ne soutient pas ce projet ce qui fait que les bindings ne seront pas prêts d'être gérés par exemple (ainsi que d'autres composants).

    Alors peut être qu'un jour un pourra faire du développement Cocoa cross-platforms mais il ne vaut mieux faire ses développements avec cette idée en tête car ce n'est pas prêt d'arriver :(
  • 22:34 modifié #3
    Pas tout à  fait d'accord, il vaut mieux faire ses développements en veillant à  avoir limiter ce qui est spécifique à  OS X à  l'interface, et que les routines "de base" (un framework par exemple) soient elles compatibles GNUStep, de façon à  faciliter les portages.

    GNUstep est en fait plus présent qu'on ne le pense dans le milieu de l'entreprise grâce à  OpenGrouware.
  • ClicCoolClicCool Membre
    22:34 modifié #4
    dans 1103566073:

    Pas tout à  fait d'accord, il vaut mieux faire ses développements en veillant à  avoir limiter ce qui est spécifique à  OS X à  l'interface ...


    Ne me dis pas que tu te passes des bindings ?
    Et tu te passeras du futur core-data de la même façon ?bangin.gif

    OK je sors hors-sujet.gif
  • 22:34 modifié #5
    Non, je les utilise pour certains plug-ins en fait. L'application de base est par contre 100% bindings free.

    Quand au futur CoreData, eh bien ma fois, j'en aurai certes besoin. Mais je m'en passerai, sauf dans un plug-in ;).
  • cbrandtcbrandt Membre
    22:34 modifié #6
    Bonjour à  tous

    Je m'était déjà  intéressé à  GNUStep pour faire une version windows (argh) d'une application. il y a cepandant une chose que je n'ai pas compris en lisant les pages web:
    est-il possible de réaliser pour windows une application utilisant GNUStep sans que l'utilisateur ne doive compiler/installer au préalable GNUStep ? Et par ailleurs, l'application aura-t-elle un look windows ou nextstep ?
  • 22:34 modifié #7
    Pour l'instant, il est nécessaire d'installer GNUStep au préalable pour Windows. Les applications gardent le feel de GNUStep. Pour ce qui est du look, pour l'instant (GNUStep Windows n'est qu'à  ces débuts), c'est gnustep aussi, mais avec les couleurs choisies dans Windows.
  • 22:34 modifié #8
    dans 1103559920:

    Peut-être qu'un jour, on pourra créer des applications 100% Cocoa et multi-plateformes...


    J'essaie actuellement de porter une de mes applications sous GNUstep et pour ce qui est de la portabilité je dirais qu'il est plus simple de faire une appli GNUstep qui tourne sous Mac OS X que l'inverse.

    En fait si on veut pouvoir porter son appli sous GNUstep il faut :
    1. se limiter aux méthodes de base de Cocoa et ne pas utiliser celles que Apple rajoute petit à  petit.
    2. se limiter à  Cocoa, cad à  Foundation et AppKit. Tout les frameworks d'Apple n'existent pas pour GNUstep.
    3. s'attendre à  devoir refaire ses fichiers .nibs (nib2gmodel lors de mes tests n'a rien donné de bon).
    4. prévoir pas mal de temps pour installer une version récente de GNUstep sur un Linux afin de pouvoir compiler son application (en fait deux linux pour toucher les ppc comme les x86). Sous Debian (enfin Ubuntu) par exemple on peut installer GNUstep et ce qui va avec d'un simple clic ou ligne de commande mais ce n'est pas la version la plus récente (hors pour mon projet il me faut la plus récente) et malgrès de nombreux essais je n'ai toujours pas réussi à  installer la version la plus récente (erreur de compilation venant de gcc-3.4 apparamment).
    4.bis : oui prévoir gcc-3.4 pour pouvoir user et abuser des #import plutot que des #ifdef #define #endif


    Mais j'y arriverais un jour à  ce que mon programme tourne sous Linux !
  • 22:34 modifié #9
    Si tu es en unstable, je pense que c'est la version de GNUStep la plus récente que tu as. Et puis autre chose: GNUStep pourra enfin être thémé, plus besoin de supporter l'antique gris de nextstep.

    L'appkit et foundation reste quand même plus complets dans Cocoa, il faut vraiment faire gaffe aux méthodes utilisées, certaines n'existant pas sous cocoa.
  • 22:34 modifié #10
    Exact ! Mais c'est récent, j'avais vérifié avant les vacances de Noel et Gorm était toujours en 0.7.7 alors que là  je viens de le voir en 0.8

    Enfin, là  je suis sur Debian unstable x86, faut voir si ça sera pareil sur Ubuntu ppc.

    Je regarderais ce soir.
  • 22:34 modifié #11
    Les thèmes ne dépendent pas de gorm, mais d'une extension nommée Chameleon. Je ne sais pas quand sera la release publique.
  • 22:34 modifié #12
    Ce n'est pas de Chamelion dont j'ai besoin mais de Gorm 0.8 pour pouvoir faire des .gmodel ne contenant qu'un NSView et pas de NSWindow.

    Bon ceci dit Gorm 0.8 est dans Debian/unstable mais pas dans Ubuntu Warty. Il faudrait que je passe dans Hoary mais j'aimerais bien garder un truc stable...
Connectez-vous ou Inscrivez-vous pour répondre.