Objective-C pour le développeur avancé

ChachaChacha Membre
00:05 modifié dans Actualités #1
Salut à  tous,

Les anciens se rappelleront peut-être de moi, mais il est clair que ça fait longtemps que je n'ai plus le temps de participer au forum (je survole, mais Aligator répond toujours avant moi aux questions qui m'intéressent :-)
En opportuniste sans scrupules, je viens tout de même vous signaler que j'ai écrit un livre !
"Objective-C pour le développeur avancé", publié chez Eyrolles ici, mais dispo à  la Fnac ou chez Amazon.

Ce livre est basé sur une doc gratuite toujours disponible sur mon site, qui a dû être bien retravaillée pour le format livre.
couv-objc-book.png



La particularité de ce document est qu'il ne s'adresse pas aux débutants. Quand on sait déjà  programmer, il est pénible de découvrir Objective-C à  travers les bibles de 300 pages qui en profitent pour enseigner le modèle objet. Là , on essayer d'aller directement à  l'essentiel.

Beaucoup de gens ont apprécié cette doc, je suis heureux que ce projet ait abouti à  un livre !

Voilà , j'ai fait ma pub :-)

+
Chacha

Réponses

  • ImtheRipImtheRip Membre
    00:05 modifié #2
    Il est enfin disponible en librairie ?
    Je l'attendais depuis son annonce, je l'ai vu sur le store d'iBooks mais je suis encore assez fan du papier...

    Merci pour l'info, je serais chez Eyrolles ce soir!
  • ChachaChacha Membre
    00:05 modifié #3
    dans 1277800868:

    Il est enfin disponible en librairie ?
    Je l'attendais depuis son annonce, je l'ai vu sur le store d'iBooks mais je suis encore assez fan du papier...

    Je ne suis pas encore allé voir à  la FNAC de Dijon, mais normalement il est sorti.
    Si tu veux te faire une idée du contenu, n'hésite pas à  lire la doc originale ! Elle est moins complète, mais le style est le même.
  • muqaddarmuqaddar Administrateur
    00:05 modifié #4
    Bravo Chacha !
    ça alors !  :o 

  • ImtheRipImtheRip Membre
    00:05 modifié #5
    dans 1277801109:

    Je ne suis pas encore allé voir à  la FNAC de Dijon, mais normalement il est sorti.
    Si tu veux te faire une idée du contenu, n'hésite pas à  lire la doc originale ! Elle est moins complète, mais le style est le même.


    Mais c'est parce que j'ai une idée de son contenu (via ce doc original) que j'ai hâte de l'acheter  ;)

    Je viens du C++, et je débute en ObjC donc c'est vraiment le type de document que je recherche!
  • yoannyoann Membre
    00:05 modifié #6
    ça peut être très intéressant effectivement, est-ce que tu parles des spécificités de l'ObjC 2.0 dans ce livre ainsi que des fonctionnalités des différents runtimes ?

    Si ce n'est pas le cas, est-ce que quelqu'un connait des ouvrages complémentaires à  propos du runtime (hors doc Apple)
  • ChachaChacha Membre
    00:05 modifié #7
    dans 1277805048:

    ça peut être très intéressant effectivement, est-ce que tu parles des spécificités de l'ObjC 2.0 dans ce livre ainsi que des fonctionnalités des différents runtimes ?

    J'explique les nouveautés syntaxique d'Objective-C 2, le garbage collector, je pointe quelques différences 32/64 bits, je montre des exemples de modifications au run-time (ajout de méthodes, swizzling) avec les nouvelles APIS de objc-runtime.h... mais comme dirait un philosophe grec, je ne sais pas ce que j'ignore :-)
    En plus je suis dég', pendant que le livre était à  l'impression, voilà  qu'on parle d'Objective-C 2.2
  • AliGatorAliGator Membre, Modérateur
    00:05 modifié #8
    Tiens, j'avais entendu parler du associative storage, ainsi que du fait que dans les nouveaux runtimes on pouvait se passer de la ivar associée à  notre @property, mais en pratique je ne les utilise pas encore (je trouve qu'il n'y a pas bcp de pub de la part d'Apple là  dessus d'ailleurs, dommage ils devraient nous les faire connaà®tre et nous inciter à  les utiliser)... d'autant que je ne sais pas comment ça gère côté gestion mémoire (cf mon commentaire sur la page de M-Cubed... quand il sera approuvé).

    Moi ce qui m'ennerve le plus c'est pas tant de devoir faire des @synthesize pour chaque @property que je crée, c'est plutôt certes les ivar qui font doublon avec la @property (faudrait que j'essaye de compiler pour le nouveau runtime et me passer de ces ivars), mais surtout de devoir implémenter le -void)dealloc juste pour releaser les ivars associées aux @property(retain) et (copy)...
  • muqaddarmuqaddar Administrateur
    00:05 modifié #9
    C'est clair :

    - ne plus "doubler" la property avec l'ivar serait le pied (gain de temps, de place...)
    - ne plus avoir à  faire de release dans le dealloc sur les property également (pas d'oubli)

    Je plussoie. 
  • CeetixCeetix Membre
    00:05 modifié #10
    Bravo Chacha ! Quelle fierté tu dois avoir ! Vraiment je suis admiratif. Je vais voir si je vais l'acheter ou le faire acheter par mon école ;)
  • ChachaChacha Membre
    00:05 modifié #11
    dans 1277802004:

    Bravo Chacha !
    ça alors !  :o 

    Merci merci ! Et si tu veux le mettre dans la "sélection livres" du site, n'hésite pas, hein, comme ça il se vendra bien et je serai riche à  millions je pourrai l'améliorer dans une deuxième édition  :D
  • GreensourceGreensource Membre
    00:05 modifié #12
    J'ai lu l'article ou tu as commenté Ali,
    le mec à  pas tout à  fait tord dans ce qu'il te répond, visiblement Obj-C se dirige vers une utilisation du GC pour tous, et il y a fort à  parier que l'iPhone y ai bientôt droit.

    Par contre ça semble quand même bien pratique toute ces petites améliorations.
  • AliGatorAliGator Membre, Modérateur
    00:05 modifié #13
    dans 1277888121:

    J'ai lu l'article ou tu as commenté Ali,
    le mec à  pas tout à  fait tord dans ce qu'il te répond, visiblement Obj-C se dirige vers une utilisation du GC pour tous, et il y a fort à  parier que l'iPhone y ai bientôt droit.
    Beeerk

    A la limite, qu'on nous autorise le GC, et que du coup chacun soit libre de l'utiliser ou non, pourquoi pas. Comme ça tout le monde est content
    (Ou de continuer à  gérer la mémoire comme avant, mais de l'activer juste au cas où on aurait oublié des trucs pour passer le coup de balai derrière, allez, je veux bien encore)

    Mais pour moi je reste dans l'idée que (1) savoir gérer manuellement la mémoire est un plus énorme, non seulement ça permet de comprendre certains mécanismes, mais surtout ça permet d'optimiser certains trucs côté mémoire, et (2) activer le GC n'est pas si simple, enfin je veux dire c'est pas si magique que ça peut en avoir l'air dans le sens où il faut quand même faire attention à  certains trucs (genre les __weak et __strong ou les auto-refs qui génèrent un retain-cycle implicite donc des objets jamais détruits par le GC, ...)

    Et donc ça me ferait ch***r qu'on soit obligé d'activer le GC pour profiter de ces possibilités (du @synthesize par défaut + de l'ivar inutile) et qu'on ait pas de possibilité de faire un release à  la main si on n'utilise pas le GC. A la limite en effet [tt]self.maprop = nil[/tt] serait la solution, mais (faudrait que je retrouve la raison exacte) il me semble que ce n'est pas conseillé dans le dealloc (enfin qu'il est conseillé de faire un "release" sur la ivar plutôt que mettre la prop à  nil), donc bon... Je reste sur ma faim là  (d'ailleurs il serait temps d'aller manger tiens)
  • zoczoc Membre
    00:05 modifié #14
    dans 1277895061:

    il me semble que ce n'est pas conseillé dans le dealloc (enfin qu'il est conseillé de faire un "release" sur la ivar plutôt que mettre la prop à  nil), donc bon... Je reste sur ma faim là  (d'ailleurs il serait temps d'aller manger tiens)

    Je pense que c'est lié au fait que "self.foo = nil" va potentiellement déclencher des "évènements" KVO sur un objet qui au final va être détruit.

  • GreensourceGreensource Membre
    00:05 modifié #15
    Je dit pas que le GC est mieux mais à  mon avis c'est ce vers quoi va pousser Apple, toujours dans l'optique de rameuté du développeur. Je pense que le GC est un argument marketing pour eux.
Connectez-vous ou Inscrivez-vous pour répondre.