Storyboard ou à  la main ?!

AkslAksl Membre
juin 2016 modifié dans Objective-C, Swift, C, C++ #1

Bonjour à  tous,


 


Je me pose une question et les réponses que j'ai ne sont pas les mêmes .. Du coup je suis un peu pommé !


 


Je cherche surtout à  savoir quelle est la bonne pratique vu que les deux sont possibles :


 


Faut-il designer ses applications en utilisant Storyboard (+ code) ou alors seulement la programmation ?


 


Et même si j'utilise Storyboard, le mieux est de gérer les contraintes sur ce dernier ?


 


C'est sûrement une question idiote mais j'aimerais recueillir vos avis :)


 


Merci d'avance


 


Edit : Si jamais il existe déjà  un sujet qui parle de ça, n'hésitez pas à  me le dire


Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur

    De mon avis, comme professionnelle, Storyboard toujours. Tu peux voir tous les effets des contraintes et les vérifier.


     


    Je viens de faire un petit appli pour un festival jazz en moins de deux semaines


  • Storyboard c'est mieux, mais c'est loin d'être simple au début. Le maitriser c'est comme apprendre à  utiliser un instrument de musique. Difficile, mais ensuite tu fais des choses formidables en peu de temps. C'est indispensable pour un développeur professionnel comme Joanna.


     


    Je ne connais pas ton niveau, ni tes objectifs. Si tu veux juste t'initier au développement iOS et créer une petite application pour commencer, Storyboard n'est pas indispensable. D'autant plus qu'il est loin d'être aussi ergonomique et intuitif qu'il devrais l'être.

  • FKDEVFKDEV Membre

    Je dirais que la bonne pratique, c'est de se construire une méthode adaptée au projet en prenant le meilleur des outils disponibles, de s'y tenir tout en acceptant de se remettre en cause quand on atteint les limites de cette méthode.


     


    Par exemple, on peut utiliser storyboard pour définir les grandes lignes des écrans (header, footer, contenu) et les transitions puis utiliser le code pour définir le contenu des vues du storyboard.


    Cela permet d'utiliser le storyboard pour sa qualité de synthèse et de mise en page : on voit tout de suite l'enchaà®nement des écrans et ce qu'ils contiennent et d'utilisr le code pour sa capacité d'abstraction et de factorisation, si on a beaucoup de vues qui se ressemblent par exemple.


     


    Conclusion, utiliser à  fond une des deux approches est rarement le meilleur choix, car on finira par payer en temps de développement si on refuse trop le pragmatisme pour rester dans une approche. 


     


     


    En ce moment, je fais tout pour créer la mise en page par storyboard en utilisant les contraintes et les stackviews. Si je dois créer une contrainte par code, c'est un petit peu un échec de ma méthode. Par contre, je n'hésite pas à  fixer la valeur d'une contrainte par code. Sinon je me retrouve avec des magic numbers dans le storyboard qui sont un enfer à  maintenir.


     


    Je trouve aussi le storyboard un peu faible pour la customisation des vues aux différentes tailles d'écran, les size traits sont une fausse bonne idée, donc je ne les utilise pas, je fais la customisation par code en faisant varier les contraintes. Je crois que l'équipe de Xcode commence à  le reconnaà®tre en introduisant les vrais tailles d'écrans des devices dans Xcode 8.

  • TofTof Membre
    juin 2016 modifié #5

    Par défaut le Storyboard : Avec le Storyboard tu peux définir tes contraintes. Comme le dit @Draken y a une phase d'apprentissage au début. Mais dans la plus part des projets le Storyboard convient parfaitement. Et si tu développes à  titre professionnel c'est un outil que tu dois connaitre et maitriser. 
    Quelque fois au niveau du code : Le Storyboard fait normalement une bonne job donc c'est assez rare d'avoir besoin de gérer les contraintes dans le code. Mais il peut arriver que pour des écrans dynamiques, pour certains effets visuels ou quand tu développes un composant il faille jouer sur les contraintes ou même en rajouter au runtime. À ce moment là  c'est au niveau du code qu'on fait ça. 


  • Joanna CarterJoanna Carter Membre, Modérateur
    juin 2016 modifié #6

    Voici quelques captures d'écran que j'ai fait de mon dernier app. Avec un storyboard, il est beaucoup plus facile à  changer les contraintes qui s'appliquent à  l'iPad ou l'iPhone, en portait ou paysage. Je n'aurais pas voulu le faire en code !


  • Je vous remercie tous pour vos réponses :)


     


    Je pense que ce sujet pourra en aider quelques uns !


  • @Aksl voici une formation pas très longue mais intéressante pour ceux et celles qui souhaitent s'initier aux storyboards sur Xcode :

    Lynda.com - iOS UI Development with Visual Tools with Scott Gardner


  • Ah très bien, merci beaucoup d'avoir pensé à  moi :D


  • Le seul truc qui me gene dans le storyboard c'est quand tu travailles a plusieurs dessus... toujours plein de conflits lorsque tu merges ton travail. Un solution est d'utiliser un storyboard pour chaque flow, comme ca tu gardes la possibilité de créer des contraintes, tu gardes en mis en page, meme si c'est un peu moins bon, et surtout tu gagnes en epic merge :D

Connectez-vous ou Inscrivez-vous pour répondre.