• # L'environnement NextStep.

    Posté par . En réponse au journal GNUstep sous les Étoiles. Évalué à 6.

    La barrière a l'entrée de Cocoa/NextStep/GNUStep n'est pas du tout l'Objective-C qui est honteusement facile a apprendre, mais bien l'API qu'il y a derrière. Jongler avec les nib, bundles et toute la structure qu'il y a derrière NextStep n'est pas une mince affaire, mais si ce n'est (presque) que du bonheur.

    NextStep piétine bien des choses, et c'est d'ailleurs la raison pour laquelle il n'a jamais vraiment percé : il ne suffit pas d'apprendre une API, mais bien tout les concepts que l'on a l'habitude de manipuler (au moins sous UNIX). Tout réapprendre et surtout tout remettre en cause dans sa façon de penser n'est pas aussi simple que l'on pourrait le penser.

    Pour ma part, j'ai réglé son compte à l'Objective-C juste avec un document de Pierre Chatelier [1], qui en comparant avec C++ éclaire merveilleusement toutes les facettes de l'Objective-C. Il n'y en a pas beaucoup, mais elle brillent ! C'est simple, c'est net, c'est beau, c'est tout ce qu'on demande d'une bonne technologie.

    Une fois cette 50aine de pages lues on est fin prêt pour attaquer NextStep.Ce document fait une vague introduction entre la "fusion" de l'Objective-C et de la librairie, qui fait que l'on est paré pour attaquer. Je te conseille de démarrer par un projet demandant d'utiliser le maximum de concepts, par exemple, moi j'ai démarré sous mac pour faire un TextFormatter (validation de champs de texte) avec assistance a la saisie pour les lattitudes/longitudes, le tout intégré a Interface Builder, donc c'était sous mac, mais les concepts sont repris par gorm il me semble.

    Il a fallut directement s'attaquer a l'API pour la maitriser toute la partie sur les TextField. C'est un beau casse tête, mais franchement agréable a utiliser.

    Il ne faut pas hésiter a aller dans la doc d'apple [3] (sur cocoa principalement), qui a respecté, dans l'ensemble, les spécification d'origine (OpenStep). Le seul point noir, c'est la doc - qui ne détaille jamais ce que tu voudrais - et la communauté, on est souvent seul face a ses problèmes.

    [1] http://www.projectomega.org/article.php?lg=fr&php=tuts_c(...) (comme dit dans le résumé, il n'y a pas de lien "download" qui clignote et prend la moitié de l'écran, il faut récupérer le PDF avec le lien "imprimer", bien planqué :) )
    [2] http://geoformatter.sourceforge.net/ http://sourceforge.net/projects/geoformatter/ (le code est encore labellé en bêta, il n'a pas été suffisament été testé, mais il n'y a pas de bug connu)
    [3] http://developer.apple.com/cocoa/ avec par exemple : http://developer.apple.com/documentation/Cocoa/Conceptual/Co(...)