GNUstep
overmac
Membre
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.
"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...
Le Lundi 20 Décembre 2004, on pouvait lire sur le site Mac4ever, un article sur GNUstep.
"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...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
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
GNUstep est en fait plus présent qu'on ne le pense dans le milieu de l'entreprise grâce à OpenGrouware.
Ne me dis pas que tu te passes des bindings ?
Et tu te passeras du futur core-data de la même façon ?
OK je sors
Quand au futur CoreData, eh bien ma fois, j'en aurai certes besoin. Mais je m'en passerai, sauf dans un plug-in .
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 ?
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 !
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.
Enfin, là je suis sur Debian unstable x86, faut voir si ça sera pareil sur Ubuntu ppc.
Je regarderais ce soir.
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...