Pour ceux qui sont interessés par le développement sous OS X, je peux leur assurer que les outils de développement fournis sont de très haut niveau (je ne cesse de le repéter), en effet une fois qu'on a compris le principe de leur utilisation, on peut développer en en rien de temps des choses que l'on croit tout à fait impossibles. Et cela très facilement et surtout très rapidement.
A mon avis la meilleure façon c'est de suivre la démarche suivante :
- Apprendre le langage C qui est la base. N'oubliez pas que c'est le langage natif d'OS X qui est un UNIX et que UNIX est développé en C.
- Comprendre ce qu'est un langage objet. Cequi n'est pas du tout compliqué. On peut lire la doc Objective C ci-après qui l'explique très bien.
http://developer.apple.com/techpubs/macosx/Cocoa/ObjectiveC/ObjC.pdf
En gros pour vous donnez un aperçu de la démarche de développement sous cocoa, il faut retenir ceci :
Cocoa est basé sur les frameworks. Ce sont un ensemble d'objets préfabriqués et fournis par Apple.
Tout développement d'une application consiste à créer des composants à partir de ces objets de base.
Un composant est un assemblage d'objets de base. Il peut également contenir d'autres composants. On peut créer des composants génériques que l'on utilise par la suite pour créer des composants plus spécialisés. Apple fourni également quelques composants très évolués. Par exemple le composant NSTextView est à lui seul quasiment un traitement de texte. Les fonctionnalités principales sont fournies. On le trouve dans la palette d'Interface Builder.
D'autre part et c'est très important, sous Cocoa les fonctionnalités communes à toutes les applications sont fournies par le Framework sous forme de composant également. Composant que l'on peut bien sur réadapter pour créer un composant plus riche et qui correspond au besoin de votre application.
Exemple : toute application qui produit un document doit fournir à l'utilisateur le moyen de l'imprimmer. Le framework fournit le composant NSPrintPanel qui permet à l'utilisateur d'imprimer. Tout ce que le développeur doit faire c'est l'utiliser en lui fournissant les infos du document à imprimer.
La force de cocoa c'est qu'on construit une maison avec comme éléments de base des murs, des fenêtres, des portes, etc au lieu de partir du ciment, des pelles, du sable etc...
Vous pouver sous cocoa dès que vous avez une idée, créer un composant et l'insérer dans un framework personnel; une espèce de bibliothèque de composants. Lorsque vous développer une appli et que vous avez besoin d'une fonctionnalité, vous aller voir dans votre framework ou dans ceux fournis par Apple s'il n'existe pas un composant qui le fait déjà.
Généralement, on a au moins le tiers du boulot qui est fait en cherchant bien. Autrement, on crée un composant toujours à partir de ceux fournis.
Pour vous donner une idée de la puissance de ces frameworks, sachez par exemple qu'un navigateur comme omniweb monopolise à peine 2 ou 3 personnes au plus chez omnigroup. Vous savez combien il en faut pour IE?
En vous fournisqsant les outils de dev Apple vous invite à utiliser ce qui se fait de mieux en la matière. Ces outils il y a à peine quelques années valaient une fortune, et étaient prisés dans des Entreprises faisant partie de Fortune 500 aux US.
C'est une chance inouîe, ne la gachez pas. Foncez je vous assure vous ne le regretterez pas bien au contraire.
Une dernière chose. Les composants dont je vous parle, cocoa (OnpenStep sous NeXT) permet de le faire cela fait plus de 15 ans.
Aujourd'hui on commence à peine à faire la même chose (et en moins bien) en Java et on les appellle par un nom ronflant les Java Beans.
Je suis plié en deux lorsque j'entends les développeurs Java qui se vautrent derrière des termes hypper techniques en parlant de EJB (Enterprise Java Bean), etc...
Tout ce qu'ils découvrent dans Java aujourd'hui, les frameworks OpenStep le font depuis des annèes.
Sachez que ces frameworks ont été retravaillés et completés par de nouvelles fonctionnalités comme QuickTime, OpenGL, HTML, XML, etc... et sont appelés COCOA.
J'espère vous avoir mis l'eau à la bouche. Je vous encourage à vous jeter à l'eau. Posez des questions j'y répondrais.
Salut.