Utilisation des xibs

samirsamir Membre

Hello,


 


J'ai plein de questions en ce moment :).


 


Est-ce que ça se défend encore l'utilisation des xib dans un nouveau projet iOS ? J'avoue que je ne travaille qu'avec des xibs et je n'ai aucun souci mais je me dis que peut être la maintenance du code va être difficile (peut être les futurs développeurs n'auront-ils même pas entendu parler des xibs).


 


Qu'est-ce que vous en pensez ?


 


 


Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur
    Moi, j'utilise les deux, storyboards et xib, selon leur utilité. Notes, j'utilise souvent plusieurs storyboards dans le même projet
  • AliGatorAliGator Membre, Modérateur
    Pareil, les deux.

    - Des XIB pour les écrans isolés, que je réutilise à  plusieurs endroits dans l'appli... etc

    - Des Storyboard pour les "tunnels" (genre 3 écrans qui s'enchaà®nent tout le temps car c'est par exemple un process d'upload d'image, y'a l'écran de choix de l'image, l'écran de choix du nom de l'image, l'écran des options, et l'écran de validation que l'upload s'est bien terminé... c'est 4 écrans c'est ce que j'appelle un "tunnel" dans la navigation)

    - Jamais plus de 3-4 scènes par Storyboard. Sinon ça devient le foutoir, compliqué à  s'y retrouver à  naviguer dedans, avec des Segue partout qui se croisent dans tout les sens, c'est vite pas maintenable. Donc je préfère avoir plusieurs petits Storyboard de 1 à  3 écrans que un gros Storyboard qui contient tout et devient illisible.

    Au final, une appli type je peux avoir 6 StoryBoard et 15 XIB par exemple c'est tout à  fait courant de mélanger les 2.
  • Belle réponse Ali ! Tu mérites bien ton turban ;-)


  • Et pour le travail collaboratif? Le fait d'avoir un (ou plusieurs) storyboard sur lequel peuvent travailler plusieurs personnes ne risque-t-il pas de provoquer des conflits dans les merge etc...?


     


    Je pensais que l'utilisation des Xibs avait cet avantage de bien séparer les choses permettant à  chacun de travailler sur son fichier indépendamment des autres.


     


    Qu'en pensez-vous?


  • Joanna CarterJoanna Carter Membre, Modérateur
    Comme dit Ali et comme j'ai dit, on peut avoir plusieurs storyboards dans une app. Du coup, si l'on prenait un storyboard du système de contrôle de version, c'est juste comme avec les XIBs.
  • Question bête mais quel est l'avantage des storyboard si on en cumule "presque" autant que les Xibs? La simplicité d'utilisation?


    Effectivement on peut avoir des enchainements logique des écrans dans les storyboards mais, selon moi, j'ai l'impression qu'on complexifie les choses en multipliant les storyboards et les xibs.


     


    Après je n'ai peut-être pas assez d'expérience sur la combinaison des deux et je m'en remet à  vous pour me donner votre retour d'expérience à  ce sujet.


  • samirsamir Membre
    mars 2015 modifié #8

    @NSMaxime : Avec les storyboard  c'est moins du code, c'est plus rapide à  mettre  en place la navigation de l'application et c'est plus parlant pour l'architecture graphique globale de l'application. 


     


    Le mélange entre les deux est la parfaite solution.


  • Merci à  tous pour ces infos. Je vais m'empresser de regarder tout ça en détail!




  • Et pour le travail collaboratif? Le fait d'avoir un (ou plusieurs) storyboard sur lequel peuvent travailler plusieurs personnes ne risque-t-il pas de provoquer des conflits dans les merge etc...?


     


    Je pensais que l'utilisation des Xibs avait cet avantage de bien séparer les choses permettant à  chacun de travailler sur son fichier indépendamment des autres.


     


    Qu'en pensez-vous?




     


    Tout le monde travaille avec le même fichier xcodeproj et ce n'est pas plus gênant que ça. Le gestionnaire de version se débrouille pour fusionner les xcodeproj, les xib, les storyboard, ...


    Le travil collaboratif n'est pas un critère pour choisir l'une ou l'autre solution. Comme l'on dit mes prédécesseurs le critère est plutôt la réutilisation des liens entre vues :


    - si un lien entre deux vues est toujours réalisé de la même façon dans une application, on a intérêt à  regrouper les deux vues et le lien dans un storyboard. L'architecture en est simplifié ; une séquence logique de scènes se trouve dans un seul fichier.


    - si les liens sont plus complexes et dépendent du contexte, on a intérêt à  séparer les vues et éviter que le storyboard ne devienne un plat de spaghetti.

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