IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Niveau de difficulté de l'apprentissage du développement iPhone (iOS, Objective-C, Cocoa...)

Votants
32. Vous ne pouvez pas participer à ce sondage.
  • 1/5 (facile)

    3 9,38%
  • 2/5 (assez facile)

    4 12,50%
  • 3/5 (moyennement difficile)

    12 37,50%
  • 4/5 (difficile)

    7 21,88%
  • 5/5 (très difficile)

    6 18,75%
Apple Discussion :

Apprentissage développement iOS [Débat]


Sujet :

Apple

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 86
    Points
    86
    Par défaut Apprentissage développement iOS
    Quel est le niveau de difficulté d'apprentissage du développement iOS ?

    Cela fait maintenant 3 ans que je suis développeur PHP et je souhaite me former au développement iOS. A la base j'ai une formation de programmeur polyvalent, et bien que cela remonte un peu j'ai déjà développé en Java, C++ (quelques bases de C aussi).

    J'ai déjà suivi une première formation en ligne sur Objective-C ainsi que des tutoriaux sur Cocoa, j'ai lu pas mal de docs techniques aussi sur ce dernier.
    Malgré tout je rencontre encore pas mal de difficultés de compréhension alors je souhaitais simplement savoir si d'autres ont eu des difficultés à aborder le développement iOS (ou Cocoa simplement).

    A la base, PHP n'est déjà pas un "vrai" langage objet (même si je l'utilisais plus ou moins comme tel) et n'est pas restrictif du tout ni particulièrement structuré, en fait tout repose sur l'utilisation qu'on en fait contrairement à d'autres langages. Alors passer d'un tel langage à Objective-C me semble déjà compliqué dans le principe, d'autant plus qu'il faut à la fois apprendre un nouveau langage ET l'utilisation des frameworks qui vont avec (Cocoa, Foundation...).

    J'aimerais donc avoir votre avis sur la chose et je vais essayer de joindre un sondage à ce post, c'est la première fois que je le fais donc j'espère ne pas me tromper

    Merci d'avance

  2. #2
    Membre éprouvé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 1 091
    Points
    1 091
    Par défaut Pas si difficile
    Certes ObjC n'est pas PHP ni Java. Il partage cependant de nombreux points communs avec ce dernier.

    Il ne faut pas se laisser avoir par la syntaxe "exotique". Au final seuls les principes comptent.

    Java et Objective-C sont très similaires tant sur les principes du langage que sur les bibliothèques de bases. NSString/NSMutableString ressemblent beaucoup a leurs pendants String et StringBuffer.

    L'heritage simple, les interface (protocoles en ObjC) sont aussi des points communs.

    Seul l'utilisation des blocs peut paraitre nouvelle, sauf si vous connaissez des langages fonctionnels comme Lisp et Scheme. Mais Java cherche a introduire lui aussi cette fonctionnalité (les closures).

    Le plus difficile est de surtout bien comprendre les frameworks et ne pas chercher a en détourner les usages.
    Il faut apprendre quelques design patterns: delegation, codage clef-valeur (KVC) et observation (KVO et Observer), sans oublier l'indétronable MVC qui est non seulement poussé par Apple mais totalement incontournable.

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 86
    Points
    86
    Par défaut
    Je suis tout à fait d'accord, je me rends bien compte en ce moment que le plus dur n'est pas d'apprendre le langage mais de comprendre l'architecture des frameworks d'Apple qui est assez complexe. Une fois familiarisé avec les frameworks on peut commencer à avoir de l'intuition sur des éléments qu'on ne connaît pas encore, mais en ce qui me concerne je trouve que le début n'est pas évident.
    Une autre chose qui n'est pas très intuitive pour ma part ce sont les liens entre les fichiers NIB et le reste, la présentation de ces derniers sous Interface Builder, le système d'Outlets...

    Mais en tout cas on sent que l'environnement fourni par Apple est très travaillé et cela peut expliquer le fait que l'apprentissage ne soit pas très intuitif.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 147
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par teumm Voir le message
    Je suis tout à fait d'accord, je me rends bien compte en ce moment que le plus dur n'est pas d'apprendre le langage mais de comprendre l'architecture des frameworks d'Apple qui est assez complexe. Une fois familiarisé avec les frameworks on peut commencer à avoir de l'intuition sur des éléments qu'on ne connaît pas encore, mais en ce qui me concerne je trouve que le début n'est pas évident.
    Une autre chose qui n'est pas très intuitive pour ma part ce sont les liens entre les fichiers NIB et le reste, la présentation de ces derniers sous Interface Builder, le système d'Outlets...

    Mais en tout cas on sent que l'environnement fourni par Apple est très travaillé et cela peut expliquer le fait que l'apprentissage ne soit pas très intuitif.


    Pour les liens entre les interfaces NIB et le code, tout cela va être simplifié dans xcode4 qui va pas tarder à sortir. Tout sera automatisé, il suffira de glisser, déposer une élément de l'interface dans la partie code pour créer une enveloppe de code associé puis a toi de la compléter.

    Je ne suis pas fan de la syntaxe de l'objective C, je prefère celle du C# mais
    la force du développement sur machine Apple (IOS ou mac) réside dans les librairies très riches, tout est quasi mâcher.

    Avant de coder quelque chose fouille bien, il y a 90% de chance que cela soit déjà fait.

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 86
    Points
    86
    Par défaut
    Wow, et moi qui commence seulement à me faire à XCode 3

    Pour l'instant je suis surtout à la recherche d'une base de tutoriels progressifs avec un minimum de pédagogie pour que tu apprennes rapidement à faire des choses par toi-même qui sortent du cadre des tutos. Bon j'en demande peut-être beaucoup là

    Pour l'instant tout ce que je connais dans le genre c'est ipup.fr, c'est plutôt pas mal mais les tutos pour commencer ne sont pas à jour et puis ça manque un peu de pédagogie.

    Si quelqu'un a des suggestions je suis preneur.

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 8
    Points : 85
    Points
    85
    Par défaut
    Je me suis mis à ObjectiveC y a seulement 2 semaines... et c'est vrai que c'est quand même pas simple.

    Je suis surtout Java et heureusement j'avais des connaissances en C/C++... du coup j'ai entamé la lecture de "Learn ObjectiveC For Java Developpers" et c'est pile ce qu'il me fallait

    Sinon comment as-tu réussi à avoir une version de XCode4 ?

  7. #7
    Membre éprouvé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 1 091
    Points
    1 091
    Par défaut
    Citation Envoyé par equesada Voir le message
    Sinon comment as-tu réussi à avoir une version de XCode4 ?
    XCode 4 est une béta couverte par l'accord de NDA des développeurs enregistrés. Il n'est donc pas possible d'en parler pour l'instant.

  8. #8
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 86
    Points
    86
    Par défaut
    Désolé, c'était une erreur, je parlais bien d'XCode 3.

    La seule différence c'est que, si mes souvenirs sont bons, en Java on ne gère pas du tout la mémoire ("garbage collected").

  9. #9
    Membre habitué
    Inscrit en
    Septembre 2010
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 84
    Points : 183
    Points
    183
    Par défaut
    Bin soit t'es un vrai programmeur, et alors peu importe le langage, tu t'y fera très vite. Ou alors t'es pas un vrai, et là t'as qu'à bosser en SS2I pour des contrats de deux mois

    Si tu veux un exemple parlant, je connais super bien le C++, j'ai eu aucun souci (évidemment) pour passer sur C# et Java, mais j'ai aussi aucun problème quand je dois écrire des macros en VBA.
    Certes je pleure, car c'est minimaliste, mais il n'empêche que je les écris bien.

    Un jour j'avais maudit un prof parce qu'il nous enseignait seulement la programmation, mais aucun langage, donc que des algorithmes écrit avec des mots courants.
    Jusqu'au jour où j'ai découvert le Prolog, le Small-C et le VBA, et là j'ai compris qu'il valait mieux penser en terme de concepts plutôt que parler la seule langue du C++ & co.

    De toutes manière, la majorité du boulot n'est pas d'écrire un programme, mais de comprendre toute les petites saloperies spécifiques à la plate-forme. Que ça soit les API de Windows, les subtilités du HTML ou le code assembleur de la machine.

    Et l'autre majorité de notre boulot est de faire comprendre notre boulot. On peut se la jouer comme bon nombre et ne pas savoir parler sans utiliser de termes techniques. Ou alors comprendre le sens du mot "vulgarisation", et donc être capable d'expliquer notre point de vue à n'importe qui, commerciaux et patrons, et même une fois qu'on se démerde à ce jeu, on pourrait vendre un verre d'eau à un dauphin juste parce qu'on appelle ça H20.

  10. #10
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 86
    Points
    86
    Par défaut
    Je partage ton avis quand tu dis joliment "comprendre toutes les petites saloperies spécifiques à la plateforme", car comme je l'ai dit plus haut le langage en soi n'est pas ce qu'il y a de plus dur.
    J'ai une formation de programmeur tout court, pas de programmeur dans tel ou tel langage, donc je suis aussi passé par la case algorithmique (en version longue d'ailleurs).
    Quand t'es passé par l'algorithmique tu peux aborder n'importe quel langage étant donné que ce n'est que la syntaxe qui change et pas les concepts qui sont derrière, c'est presque que de l'apprentissage par coeur. Il m'est déjà aussi arrivé d'avoir besoin d'une fonctionnalité qui n'existait pas dans Excel et de la pondre en VBA sans même jamais y avoir touché, mais l'environnement est relativement simple à appréhender comparé à d'autres.

    T'as l'air d'avoir vendu un verre d'eau à pas mal de dauphins toi (on peut vendre 1 verre d'eau à 1000 dauphins, on peut vendre 1000 verres d'eau à 1 dauphin... désolé).
    En quelques mots c'est quoi ton parcours ? (diplômes, nombre d'années d'expérience, nombre de boîtes dans lesquelles tu as bossé...).

  11. #11
    Membre régulier
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Points : 81
    Points
    81
    Par défaut
    Un bon livre pour commencer: http://www.pearson.fr/livre/?GCOI=27440100482780
    Il commence à dater un petit peu, bientôt un an, par conséquent il parle encore d'iOS 3, mais ce livre est bien pour commencer. Il aborde pas mal de concepts qui permettent d'avoir une bonne vue d'ensemble.

  12. #12
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 86
    Points
    86
    Par défaut
    OK, merci pour cette suggestion

  13. #13
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu as aussi des articles sur ios.developpez.com.
    On fait également le nécessaire pour en rajouter

  14. #14
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 86
    Points
    86
    Par défaut
    Quand j'ai commencé à chercher des ressources c'est là que je suis allé en premier, et je garde un oeil dessus bien entendu

  15. #15
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 153
    Points : 259
    Points
    259
    Par défaut
    Salut à tous,

    Je remonte ce sujet juste pour dire que je me suis retrouvé dans la présentation de teumm, je suis moi aussi une développeur PHP et j'ai dû me former au développement iphone.

    ça n'a pas été chose très simple, car en premier lieu cela demande du temps pour avoir tous les éléments en main afin d'être operationnel.

    ça m'a demandé un peu de taf et surtout grâce aux conseils que j'ai pû avoir sur le net je me suis d'abord concentré sur les bases du langages et les frameworks fournit par Apple pour le développement sous Mac, ayant beaucoup de mal à lire de la doc ou des tutos sur un écran je me suis payé ce bouquin [ame="http://www.amazon.fr/Programmation-Cocoa-sous-Mac-OS/dp/2744022942"]Programmation Cocoa sous Mac OS X: Amazon.fr: Aaron Hillegass: Livres@@AMEPARAM@@http://ecx.images-amazon.com/images/I/51ru6WTdhpL.@@AMEPARAM@@51ru6WTdhpL[/ame] qui est La référence sur le sujet, tout y est abordé: particularités du langage, design patterns... le tout avec beaucoup de pédagogie et d'humour.
    Après lecture de ce livre je me suis lancé dans le développement pour iPhone et là ça roulait tout seul car je connaissais les bases du framework qui composent cocoaTouch à savoir cocoa.

    Je te souhaite bon courage dans ton apprentissage, ne lâche rien si au début le tout te semble obscur par la suite tu découvriras qu'Apple a créé un outils de développement vraiment intuitif

  16. #16
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 86
    Points
    86
    Par défaut
    Salut Neo,

    Merci pour ton témoignage qui m'a bien fait plaisir !
    Je me disais bien que je n'étais pas le seul dans le cas

    J'ai bien noté la référence du bouquin que tu m'as indiqué, c'est une bonne idée que de commencer par apprendre Cocoa avant d'attaquer Cocoa Touch et l'environnement iOS.

    Bonne continuation à toi !

  17. #17
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Il existe au moins 2 autres solutions professionnelles (dont on parle peu)
    WINDEV Mobile 18 : 990 € HT
    http://www.pcsoft.fr/windevppc/devel...ur-mobiles.htm

    A partir du langage de programmation WLangage que tu pourras saisir en français, anglais (ou en chinois dernièrement), tu pourras générer des applications pour iOS (iPhone/iPad) mais aussi pour Android, Windows Phone, etc.

    L'interface est riche, il y a des assistants, pas mal d'exemples complet et didactiques livrés, l'ancrage des éléments est très aisée pour adapter son travail pour différentes résolutions (qui dépend de l'orientation ou du type de matériel utilisé).

    Une particularité pour la création d'une application iOS, l'outil nécessite Windows pour le développement et ensuite il faut un Mac pour déployer l'app.

    Si une fonctionnalité manque tu peux la coder en natif (Objective-C ou Java).

    L'outil est ouvert et propose une base de donnée gratuite et illimité c'est HyperFileSQL.

    Ce logiciel est surtout destiné au développement d'applications professionnelles, par exemple des applications de gestion de personnel ou de stock, carte de restaurant, bref tout ce qui est lié à l'affichage de données.

    -----

    FLASH CS6 : 699 € HT (ou abonnement sur 12 mois minimum)
    http://www.adobe.com/fr/products/flash.html

    La programmation se fait en Actionscript 3 et on peut générer des app pour Android et iOS (iPhone/iPad) directement depuis l'application indifféremment depuis un Mac ou un PC.

    Il n'y a pas d'assistant et finalement peu d'exemples livrés.
    Par contre on trouve quelques DVD vidéos dans le commerce et des livres sur le sujet (paradoxalement certains ont pour titre "Le développement d'applications Android avec Adobe Air", car sur pas mal d'aspect le développement pour Android ou iOS est strictement identique dans Flash).

    Ce logiciel est surtout destiné à des app de présentation et les jeux.

    Si une fonctionnalité manque tu peux la coder en natif (Objective-C ou Java).

    Tu peux utiliser SQL pour la partie base de données.

    NB :
    Regarde aussi du côté de Flash Builder.


    Bonne continuation
    (même si j'arrive un peu tard dans le fil de discussion : ça servira à d'autres)

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/02/2013, 17h09
  2. Formation au développement iOS avec video2brain
    Par FloMo dans le forum Apple
    Réponses: 0
    Dernier message: 29/11/2010, 09h43
  3. [Professionnalisation/Alternance] recherche site d'offre d'emploi en apprentissage développement Java
    Par RocKuro dans le forum Demandes
    Réponses: 0
    Dernier message: 23/12/2009, 11h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo