Quelques conseils aux développeurs qui débutent sur iOS

Ecrit par le Lundi 28 Avril 2014

Quelques conseils aux développeurs qui débutent sur iOS
De plus en plus de smartphones, de plus en plus d'applications, à un rythme effréné, et, dans le même temps et sur le même rythme, de plus en plus de développeurs en herbes qui veulent développer leurs propres applications mobiles.

Mais, par quel bout commencer ? C'est la question que se posent beaucoup de développeurs débutants. Pour leur répondre, j'ai interviewé 2 développeurs de notre équipe iOS: Mathieu Fancello et Alex Manzella. Je leur ai demandé de m'indiquer quelles sont les connaissances élémentaires à posséder pour entrer du bon pied dans le monde du développement iOS.

De quoi a-t-on besoin pour devenir un développeur iOS ?

Pour démarrer sur iOS, il faut avoir un minimum de connaissances en algorithmique et en programmation orientée objet.

L'Objective C (ObjC) peut s'avérer un peu ardu si vous commencez votre apprentissage par ce langage de programmation. Il est préférable de faire ses premières armes sur un langage plus classique, comme le C, afin de se familiariser avec les concepts de la programmation orientée objet (OOP).

Si vous êtes un warrior et que vous voulez vous attaquer directement au plus haut niveau, vous trouverez de la documentation sur l'Objective C dans le Framework d'Apple.

Quelles sont les principales différences entre le dev mobile et le dev "classique" ?

En apparence, on a l'impression que c'est la même chose; mais en réalité, ce sont 2 mondes complètement différents.

Quand vous faites du développement mobile, vous devez être beaucoup plus vigilant sur l'utilisation des ressources. C'est très important de gérer la mémoire de façon la plus optimisée possible car les téléphones et les tablettes n'ont pas encore autant de puissance que les ordinateur de bureau, même si ces terminaux sont chaque jour encore plus puissants.

Les utilisateurs attendent des applications mobiles qu'elles soient rapides et réactives. Aussi, vous devez user et abuser du multi threading afin de réduire les temps de chargement. Cela fait appel aussi à la mise en oeuvre de concepts de programmation asynchrone. Le multi threading vous permet de construire l'interface de l'application et en parallèle de récupérer le contenu qu'elle va afficher.

A-t-on besoin uniquement de connaissances techniques ?

Bien sûr que non. Il faut également posséder des notions de design et de de création d'UX (user experience).
Durant la phase de développement, comme nous l'avons évoqué plus haut, il faut créer l'UI (interface utilisateur) en gardant à l'esprit qu'elle doit être la plus intuitive possible.
Mettez-vous à la place des utilisateurs finaux, et imaginez comment il vont utiliser l'application. Essayez alors de leur proposer la meilleure expérience utilisateur. 

Il faut garder en tête que l'interaction d'un utilisateur avec une application mobile est complètement différente de celle qu'il peut avoir avec une application de bureau. Les smartphones n'ont pas de souris mais un écran tactile et leur écran est beaucoup plus petit. Il faut donc repenser complètement l'expérience utilisateur.

Pourquoi choisir iOS plutôt qu'une autre plate-forme ?

iOS est une plate-forme très populaire, aussi bien du coté des développeurs que des utilisateurs.

Lorsqu'on débute sur iOS, on peut avoir le sentiment que c'est plus compliqué qu'Android, mais ce n'est pas vrai. En fait, même si java est plus accessible qu'ObjC, et que les développeurs le trouve plus simple, il s'avère qu'Android est une plate-forme très fragmentée. 
Si vous vous plongez dans Objective C, vous verrez qu'il n'est pas si compliqué qu'il n'y parait. Le framework Apple est très bien pensé et l'utiliser pour développer devient très plaisant. De plus, il est facile de trouver de l'aide auprès de la communauté ou bien dans la documentation. (UIKit, ...)

Un conseil perso

Parmi les nombreux conseils qui vous seront donnés, voici celui que je considère le plus important : Ne débutez pas à partir de storyboards.

Selon Apple : "Un storyboard est une représentation visuelle de l'interface utilisateur d'une application iOS, qui présente les différents écrans et les relations entre ces différents écrans. Un storyboard est composé d'une succession de scènes, chacune représentée par une vue contrôleur et ses vues; les scènes sont connectées entre elles par des objets segue, qui sont une transition entre 2 vue contrôleurs."

Les débutants ont pour habitude de démarrer leur apprentissage d'iOS en utilisant des storyboards, mais ceci peut s'avérer contre productif dans la mesure où vous apprenez à développer selon un schéma. Le problème, c'est que quand vous voulez vous attaquer à des choses plus complexes, qui ne peuvent pas être matérialisées par un dessin, vous n'arrivez pas à réfléchir sans vous appuyer sur un schéma.

Apprendre à développer à partir du code, en limitant le recours aux storyboards, va accroître votre connaissance du framework, de l'objective C et du runtime. Cela sera un véritable atout lorsque vous aurez à résoudre des problèmes complexes. Lorsque vous serez un peu plus expert sur la plate-forme, vous pourrez utiliser les storyboards si vous pensez que cela peut accélérer votre processus de production. De notre coté, on pense que ce n'est pas le cas :)
Quelques conseils aux développeurs qui débutent sur iOS

Après avoir lu cet article, vous devriez en savoir un peu plus sur le développement iOS, et par quel bout commencer pour créer vous-même votre première application iOS.

Si vous avez des questions ou si vous souhaitez obtenir davantage de conseils, n'hésitez pas à poster un commentaire, nous nous ferons un plaisir de répondre.



Entrez votre adresse email