-
Xcode 5 ARC ou pas ARC ?
Bonjour et bonne année à tous !
:mrgreen:
Etant un jeune développeur iOS, j'aimerais avoir les conseils de développeurs aguerris sur le fait d'utiliser ARC ou non.
En effet, la quasi totalité des tutos qui traînent ici et là date de Xcode 4, voir plus bas... (voir meme des années 2000...)
Depuis , il me semble que beaucoup de choses importantes ont changé, notamment la gestion automatique des pointeurs d'adresses.
Quels sont les avantages et les inconvénients d'ARC ?
Merci de l'intérêt que vous voudrez bien me porter à exposer vos point de vues.
Quand n'est il du point de vue d'Apple ? Et au niveau de la bonne conception (si je puis dire) ?
-
Salut
L'intérêt d'ARC est simplement de réduire la quantité de code à écrire en t'évitant d'avoir à gérer toi même tes compteurs de références.
Maintenant, si tu es un jeune développeur comme tu le dis, je te conseille de ne pas utiliser ARC pour l'instant. Savoir gérer la mémoire manuellement est indispensable pour devenir un bon développeur. C'est un outil qui sert simplement à gagner un peu de temps et alléger le code pour les développeurs expérimentés.
L'avantage est qu'il réduit un peu la quantité de code à écrire.
L'inconvénient est qu'il ne te garantis pas le même niveau d'optimisation qu'en écrivant le code toi même.
Si tu n'es pas un magicien de la mémoire capable de jongler les yeux fermés avec les pointeurs et les compteurs de références, commences pas le devenir. Tu pourras décider d'utiliser ARC ou pas après.
-
merci de m'avoir exposé ton point de vue, Je code déjà sans ARC.
Je trouve que l'économie de code n'est pas flagrante ! un release par ci, quelques méthodes dealloc en plus... Bref pas de quoi prendre peur :mouarf:
Pour le moment je rencontre encore des soucis de compréhension au niveau des self (retain +1) et des @property...
tout n'est pas clair dans mon esprit.
Si d'autres membres veulent donner leur avis, hésitez pas !
Ce petit post à déjà plus de 65 vues et une réponse...
-
C'est vrai l'économie du code écrit n'est pas énorme.
Par contre je ne suis pas d'accord pour l'optimisation. Je pense que ARC est capable de mieux optimiser la mémoire, et est moins sujet aux fuites mémoires qu'un humain (Si on respecte les règles).
Ce qui est bien dans le développement Cocoa, c'est que la gestion mémoire n'est pas très difficile (contrairement au C++ par ex.), c'est toujours la même chose, sa en devient très vite rébarbatif.
Et justement ARC permet de ne plus écrire le code rébarbatif. C'est le compilateur qui l'écrit à notre place.
Ne pas oublier aussi, que ARC ne fait pas d'erreur de gestion de mémoire, contrairement à un humain. Et en général une erreur de gestion mémoire est souvent équivalent à un plantage de l'application.
-
lu,
voilà pourquoi j'ai crée ce post, chacun y va de sa version. Mais du coup on s'y perd.
Si apple à passé du temps à développer ARC je ne pense pas non plus que ça soit pour des prunes ;)
Après, certains "vieux" développeurs on leurs habitudes, mais là ce n'est plus le même sujet ... Il faut aussi utiliser les nouveaux outils et les comprendre.