|
|||||||
| Mac Forum d'entraide sur environnement et développement OS X et iOS. Avant de poster : lire la FAQ Mac ; voir la page Outils ; voir les tutoriels. |
|
|
Publicité ' | |||||||||||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 |
|
Membre du Club
![]() ![]() Inscription : mars 2007 Messages : 24 ![]() |
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 |
|
|
10
|
|
|
#2 |
|
Membre Expert
![]() ![]() Sylvain GamelConsultant informatique Inscription : février 2008 Messages : 47 ![]() |
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. |
|
20
|
|
|
#3 |
|
Membre du Club
![]() ![]() Inscription : mars 2007 Messages : 24 ![]() |
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. |
|
|
10
|
|
|
#4 | |
|
Inscription : août 2009 Messages : 147 ![]() |
Citation:
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. |
|
|
|
10
|
|
|
#5 |
|
Membre du Club
![]() ![]() Inscription : mars 2007 Messages : 24 ![]() |
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. |
|
|
10
|
|
|
#6 |
|
Membre régulier
![]() ![]() |
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 ? |
|
|
10
|
|
|
#7 |
|
Membre Expert
![]() ![]() Sylvain GamelConsultant informatique Inscription : février 2008 Messages : 47 ![]() |
|
|
10
|
|
|
#8 |
|
Membre du Club
![]() ![]() Inscription : mars 2007 Messages : 24 ![]() |
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"). |
|
|
10
|
|
|
#9 |
|
Membre actif
![]() Inscription : septembre 2010 Messages : 84 ![]() |
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. |
|
|
20
|
|
|
#10 |
|
Membre du Club
![]() ![]() Inscription : mars 2007 Messages : 24 ![]() |
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... 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é...). |
|
|
10
|
|
|
#11 |
|
Membre régulier
![]() Inscription : août 2009 Messages : 28 ![]() |
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. |
|
|
10
|
|
|
#12 |
|
Membre du Club
![]() ![]() Inscription : mars 2007 Messages : 24 ![]() |
OK, merci pour cette suggestion
|
|
|
10
|
|
|
#13 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 706 ![]() |
|
|
|
10
|
|
|
#14 |
|
Membre du Club
![]() ![]() Inscription : mars 2007 Messages : 24 ![]() |
Quand j'ai commencé à chercher des ressources c'est là que je suis allé en premier, et je garde un oeil dessus bien entendu
|
|
|
10
|
|
|
#15 |
|
Membre confirmé
![]() sadlig rossDéveloppeur Web Inscription : mai 2007 Messages : 152 ![]() |
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 http://www.amazon.fr/Programmation-Cocoa-sous-Mac-OS/dp/2744022942 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 |
|
10
|
|
|
#16 |
|
Membre du Club
![]() ![]() Inscription : mars 2007 Messages : 24 ![]() |
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 ! |
|
|
10
|
|
|
#17 |
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 1 ![]() |
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) |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com