Apprendre Cocoa

frederichahnfrederichahn Membre
20:46 modifié dans API AppKit #1
Bonjour,

Je suis débutant, pas en programmation, mais en Xcode/Cocoa.

J'ai acheté un livre "Step into Xcode" mais il est très mal foutu, car il utilise des concepts inconnus à  un non-initié à  Cocoa pour expliquer Cocoa. Bref, c'est le serpent qui se mord la queue !

Je me suis ensuite lancé dans la lecture de la doc d'Apple et là  c'est très bien expliqué, voire trop pour un débutant. Par contre, ça ne donne pas un schéma d'apprentissage avancé. On y apprend très bien comment faire un CurrencyConverter, mais ça s'arrête là . On n'est pas guidé du tout pour la suite, et Cocoa est tellement vaste qu'on ne sait pas par où commencer.

J'ai essayé les tutoriels mis à  disposition gracieusement sur des forums comme celui-ci, mais souvent c'est trop spécialisé que pour être utilisé par un débutant.

Est-ce que quelqu'un pourrait me conseiller un livre, un site ou autre chose ?

Frédéric

Réponses

  • BruBru Membre
    20:46 modifié #2
    Généralement, on se met à  l'Obj-c/cocoa parce que, derrière, il y a un projet, un but.
    C'est plus difficile quand c'est juste pour apprendre, sans plus.

    Côté bouquin, le choix n'est pas énorme (d'autant plus vrai si tu te limites au français).
    Mon préféré reste le Hillegass ("Cocoa programming for Mac OS X", en anglais).
    Ce bouquin n'aborde pas l'Objective-C (mais le pdf d'Apple est pas mal foutu; voire, celui de Chacha est parfait si tu connais le C++).
    Par contre, il va en profondeur dans les arcanes de cocoa, en expliquant un certain nombre de concepts propres à  ce framework.

    .

  • tabliertablier Membre
    20:46 modifié #3
    As-tu essayé le "Tutorial cacao pour débutant"?  Il permet une prise en main simple des outils, montre comment réaliser les propriétés de base d'une appli cocoa et il est fait pour ceux qui ont déjà  programmé dans d'autres langages.
    Par ailleurs, je suis d'accord avec Bru, il faut avoir un objectif pour se lancer dans l'apprentissage de cocoa et Objective-C. J'ajouterai que l'apprentissage de cocoa/Objective-C consiste en premier lieu a être patient, à  commencer petit avant de se lancer dans la réalisation d'une oe“uvre majeur, et à  ne pas hésiter à  poser des questions ici.
    Bon courage.  8--)
  • MulotMulot Membre
    20:46 modifié #4
    Salut à  toi !

    Etant un débutant avec Cocoa et l'Objective-C, j'ai commencé par éditer divers pdf, dont "The Objective-C programming language","Cocoa Fundamentals Guide", "Become an XCoder", "Cocoa application tutorial" et aussi "Memory Management Programming Guide for Cocoa". J'ai donc commencé par l'apprentissage de l'Objective-C avec le pdf, qui est très complet et qui exprime clairement les choses.

    Un exemple qui m'a assez "choqué", celui du cas Interface/Implementation que mes profs n'ont pas abordé ou alors très très mal expliqué, je l'ai vu dans le pdf, expliqué en moins d'une page avec un dessin, limpide.

    Petit soucis avec ce poly sur l'Objective-C, les exemples de codes pour des objets ou méthodes sont nombreux mais un peu trop abstraits pour savoir comment les réutiliser, les comprendres ou les exploiter correctement dans un code plus "vaste".

    Quelques tutoriaux sur le net m'on fait apprendre de nouvelles choses, puis je me suis mis à  lire le pdf traitant des bases de Cocoa, lui aussi très complet, mais qui devient vite abstrait si on a pas encore fait un petit projet simple.

    Depuis que je me suis inscris sur ce forum, j'ai commandé "Cocoa par la Pratique" (du même auteur que Bru à  cité précedément), et il m'apporte la touche pratique pour faire le lien entre toutes les belles paroles des pdfs et le concret, me faisant resaisir des notions lues qui étaient restées floues.

    En fait depuis ce moment je lis en parallèle : Cocoa par la Pratique et les pdfs de la doc Apple, et je pense que c'est un moyen assez simple pour s'en sortir. En picorant un peu dans chaque, Cocoa par la Pratique pour le "gros d'oeuvre", et la doc pour des petites choses.

    Pour ce qui est de Xcode, c'est assez déroutant à  utiliser quand on arrive de windows ou d'IDE comme Eclipse, ou NetBean. Mais avec encore Cocoa par la Pratique, les choses les plus courament utilisées sont très vite assimilées.

    Voilà , c'était mon point de vue sur la chose, en tant que débutant, en espérant avoir répondu à  tes questions !
  • CéroceCéroce Membre, Modérateur
    20:46 modifié #5
    dans 1184005108:

    Depuis que je me suis inscris sur ce forum, j'ai commandé "Cocoa par la Pratique" (du même auteur que Bru à  cité précedément), et il m'apporte la touche pratique pour faire le lien entre toutes les belles paroles des pdfs et le concret, me faisant resaisir des notions lues qui étaient restées floues.


    Cocoa par la pratique est la traduction en français du livre cité par Bru.
    Je te conseille également ce livre très pragmatique, dans lequel on trouve l'essentiel et même un peu plus.
  • frederichahnfrederichahn Membre
    20:46 modifié #6
    Bonjour à  tous, et un tout grand merci pour vos réponses complètes.

    Est-ce que quelqu'un a un livre " Cocoa par la pratique " ou " Cocoa Programming for Mac OS X " (Aaron Hillegass) à  revendre en seconde main ?

    J'ai des connaissances en C/C++, mais pas beaucoup d'expérience en programmation orientée objet. Par contre, j'ai déjà  écrit des très grosses applications de type base de données avec 4e Dimension que je maà®trise parfaitement. Ce qu'il manque d'ailleurs à  4D c'est la programmation orientée objet, et c'est pour cela que j'ai décidé de me lancer dans Cocoa en natif.

    Mon but premier est de pouvoir écrire une application simple du type Carnet d'Adresses en utilisant les meilleures techniques mises à  disposition par Cocoa (Bindings par exemple). J'ai envie de pouvoir utiliser des éléments d'interface graphique comme :
    - des onglets
    - des boutons dynamiques (comme les + et - dans Carnet d'Adresses)

    J'aimerai aussi pouvoir implémenter du glisser-déposer pour que l'utilisateur puisse réarranger l'ordre des informations dans les fiches du carnet (mettre un numéro de téléphone avant un autre, un peu à  la manière dont on peut réarranger les destinataires d'un mail en cours de rédaction dans Mail.app).

    Je dois pouvoir enregistrer les données automatiquement dans un fichier (sans que l'utilisateur ait à  choisir Enregistrer dans le menu Fichier).

    Voilà , tout cela n'est pas très compliqué, mais si j'arrive déjà  à  faire ça " très proprement ", je serais déjà  bien lancé pour la suite.

    Frédéric
  • MulotMulot Membre
    20:46 modifié #7
    Pour tout ce qui concerne tes attentes, Cocoa par la pratique y répond, sauf en ce qui concerne les bindings, qui n'étaient pas encore présents au moment de l'écriture du bouquin.

    D'ailleurs à  ce propos, j'en suis au chapitre sur les préférences utilisateurs, et l'auteur espérait qu'il ne soit plus nécessaire d'archiver un objet de type couleur pour l'écrire dans les préférences, cela a-t-il évolué depuis ?
  • BruBru Membre
    20:46 modifié #8
    dans 1184076230:

    D'ailleurs à  ce propos, j'en suis au chapitre sur les préférences utilisateurs, et l'auteur espérait qu'il ne soit plus nécessaire d'archiver un objet de type couleur pour l'écrire dans les préférences, cela a-t-il évolué depuis ?


    Hélas non.
    Il faut toujours passer par un archiver pour mettre un NSColor en plist.

    .
  • schlumschlum Membre
    20:46 modifié #9
    dans 1184076230:

    Pour tout ce qui concerne tes attentes, Cocoa par la pratique y répond, sauf en ce qui concerne les bindings, qui n'étaient pas encore présents au moment de l'écriture du bouquin.


    Il me semble que la seconde édition (en anglais) parle des bindings...

    PS : il va d'ailleurs sortir une troisième édition qui sera traduite en français. Un sujet en parle ici...
  • schlumschlum Membre
    20:46 modifié #10
    dans 1184138422:

    dans 1184076230:

    D'ailleurs à  ce propos, j'en suis au chapitre sur les préférences utilisateurs, et l'auteur espérait qu'il ne soit plus nécessaire d'archiver un objet de type couleur pour l'écrire dans les préférences, cela a-t-il évolué depuis ?


    Hélas non.
    Il faut toujours passer par un archiver pour mettre un NSColor en plist.

    .

    En même temps, vu que le type "Color" n'existe pas en XML...
  • CéroceCéroce Membre, Modérateur
    20:46 modifié #11
    D'après ce que je vois sur le site officiel la troisième édition n'est pas prévue: http://www.bignerdranch.com/products.shtml

    La seconde édition traà®te des Bindings mais pas de CoreData (qui se prêterait drôlement bien à  ton projet). C'est la première édition qui a été traduite en français.
  • BruBru Membre
    20:46 modifié #12
    dans 1184139841:

    En même temps, vu que le type "Color" n'existe pas en XML...


    Le dtd des plist aurait pu être mis à  jour pour définir ce type.
    Ou alors, des fonctions style NSColorFromNSString/NSStringFromNSColor auraient pu être ajoutées.

    Ce qui n'a pas été fait par Apple, et donc ce qui répond à  la question initiale de Mulot.

    .
  • schlumschlum Membre
    20:46 modifié #13
    Oui, bien sûr, mais je voulais dire que niveau archives, il y a quand même plus embêtant que de ne pas pouvoir archiver directement des NSColor.
    L'archivage des NSValue par les NSKeyedArchiver par exemple !

    Et puis le DTD des plist essaie de coller aux styles standard qu'on retrouve un peu partout.
Connectez-vous ou Inscrivez-vous pour répondre.