Developpez.com

Une très vaste base de connaissances en informatique avec
plus de 100 FAQ et 10 000 réponses à vos questions

Quel est le niveau de difficulté d'apprentissage du développement iOS
(Objective-C, Cocoa...) ?

Le , par teumm, Membre régulier
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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de sgamel sgamel - Membre éprouvé http://www.developpez.com
le 27/01/2011 à 8:52
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.
Avatar de teumm teumm - Membre régulier http://www.developpez.com
le 27/01/2011 à 9:34
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").
Avatar de Virgil Scipion Virgil Scipion - Membre habitué http://www.developpez.com
le 27/01/2011 à 10:38
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.
Avatar de teumm teumm - Membre régulier http://www.developpez.com
le 27/01/2011 à 11:30
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é...).
Avatar de Dar0ck Dar0ck - Membre régulier http://www.developpez.com
le 28/01/2011 à 5:53
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.
Avatar de teumm teumm - Membre régulier http://www.developpez.com
le 28/01/2011 à 8:38
OK, merci pour cette suggestion
Avatar de Kerod Kerod - Inactif http://www.developpez.com
le 28/01/2011 à 9:35
Tu as aussi des articles sur ios.developpez.com.
On fait également le nécessaire pour en rajouter
Avatar de teumm teumm - Membre régulier http://www.developpez.com
le 28/01/2011 à 10:18
Quand j'ai commencé à chercher des ressources c'est là que je suis allé en premier, et je garde un oeil dessus bien entendu
Avatar de -Neo- -Neo- - Membre actif http://www.developpez.com
le 04/04/2011 à 15:14
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
Avatar de teumm teumm - Membre régulier http://www.developpez.com
le 04/04/2011 à 20:28
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 !
Avatar de iamhappy iamhappy - Nouveau Candidat au Club http://www.developpez.com
le 22/11/2012 à 12:34
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)
Offres d'emploi IT
Développeur IOS h/f
Paris&Co Incubateurs - Ile de France - Paris (75000)
Développeur ios junior
Mobiskill - Ile de France - Paris (75000)
Développeur C/C++, .net, IOS et android h/f
ALDANEA - Rhône Alpes - Coublevie (38500)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique iOS