Qui utilise Storyboard ?

StephSteph Membre
novembre 2013 modifié dans Xcode et Developer Tools #1

Salut à  tous,


Je voulais savoir si certains d'entre-vous utilise storyboard et pourquoi ?


Franchement, quand c'est arrivé, je me suis dis : "Encore un truc pour faire venir des newbies non dev", mais je vois quand même sur le net quelques dev "experts" l'utiliser.


Au final, ça me semble aussi quelque peu aider voir forcer à  structurer son projet etc. Du coup, j'hésite, je n'ai encore jamais testé.


Vos retours d'expérience m'intéresse :)


++


«1

Réponses

  • christopheLchristopheL Membre
    août 2012 modifié #2
    Je l'utilise et je trouve ca très bien. Au delà  du fait, effectivement, que cela permet d'avoir une vue graphique des liens entre tes écrans, un peu à  la manière d'un graphe pour les bases de données (je n'utilise pas le graphe pour coredata par exemple en création, mais à  postériori, j'aime avoir une représentation visuelle de mon modèle de données) je trouve ça simple d'utilisation et de prise en main.



    Les + : augmente la productivité, améliore la vision globale sur son app (je me suis déjà  rendu compte, avec la représentation graphique que j'étais parti dans un cheminement un peu tordu et que, du coup, ca aurait pu perdre également l'utilisateur final)



    Les - : c'est gourmand et assez lourdingue (en tout cas sur mon poste pas très récent), parfois plantogène mais bon ce n'est pas le seul endroit d'Xcode pas toujours très stable



    Les ? : je ne sais pas ce que ca donne, voire même si c'est exploitable, lorsqu'une application a beaucoup beaucoup d'écrans.
  • J'utilise Storyboard depuis sa sortie. Mon projet contient actuellement + de 40 scenes (une scene = 1 écran). c.f. la vue d'ensemble jointe
  • Je vais essayer de m'y mettre à  la rentrée...
  • J'ai tenté de m'y mettre, mais la limitation iOS5 mini m'a obligé à  l'abandonner.
  • DrakenDraken Membre
    août 2012 modifié #6
    La limitation iOS 5 mini ??
  • spin0usspin0us Membre
    août 2012 modifié #7
    'Draken' a écrit:


    La limitation iOS 5 mini ??
    Vi, sauf changement depuis, il faut des devices qui tournent sur iOS 5 et supérieur pour que ça fonctionne avec le storyboard.

    Arrêtez moi si je me trompe, mais il me semble pas.
  • Ah oui, d'accord. Pour moi mini = Mac Mini, alors je ne comprenais pas.



    Je ne connais pas grand chose à  Storyboard, c'est trop moderne pour moi.
  • août 2012 modifié #9
    'Kubernan' a écrit:


    J'utilise Storyboard depuis sa sortie. Mon projet contient actuellement + de 40 scenes (une scene = 1 écran). c.f. la vue d'ensemble jointe




    Euh j'ai rapidement jeté un oeil à  ton screen.. mais ça veut dire que tu as autant de vue que de viewController?

    Parce que quand je vois le nombre de vues qui sont quasi identiques j'ose espérer que tu a fais des viewController communs.
  • 'ldesroziers' a écrit:
    Euh j'ai rapidement jeté un oeil à  ton screen.. mais ça veut dire que tu as autant de vue que de viewController? Parce que quand je vois le nombre de vues qui sont quasi identiques j'ose espérer que tu a fais des viewController communs.




    Quasi identiques en apparence (mais ils ne traitent pas du tout le même type de données et n'ont pas les mêmes fonctionnalités). Il y en a encore deux ou trois que je dois mettre en commun. Les communs sont ceux qui n'ont pas de segue (les flèches) et que j'instancie à  la mano, et ceux où plusieurs flèches convergent aux mêmes view controller.
  • J'ai regardé une vidéo de la WWDC 2012 et cela m'a convaincu de les utiliser dès que j'en aurai l'occasion.

  • Bon ben je vais commencer par les vidéos de la wwdc. Ce sera pour mon app suivante de toute façon, les deux en cours je n'utilise ni arc, ni storyboard image/tongue.png' class='bbc_emoticon' alt=':P' />
  • Salut,



    Pas encore utilsé mais testé et ce sera pour la prochaine app.



    A+
  • Storyboard ne nécessite pas moins de connaissance qu'auparavant : un newbie sera tout aussi perdu avec ou sans Storyboard.




    Faisant très humblement partie de cette catégorie ("newbie"), je dois avouer que stroyboard (tout comme ARC d'ailleurs) ne m'aide ni ne me complique plus la tache dans mes développements ... Lorsque j'ai commencé mon premier projet concret après ma phase d'apprentissage "programmationEnC-objectiveC-xCodeEtToutTiQuanti" et que j'ai valeureusement copié/collé mon premier code façon traditionnelle dans un projet ARC-Storyboard je vous dis pas le nombre de points d'exclamations que j'ai vu apparaitre image/crybaby.gif' class='bbc_emoticon' alt=' :'( ' />



    Mais bon, j'ai du faire à  ce moment là  un choix, soit laisser ARC-Storyboard de coté soit foncer dedans à  l'aveugle. J'ai bien sur choisis la seconde alternative qui a eu comme effet positif de m'obliger à  comprendre les ressources que je pouvais trouver de ci de là  et de les adapter ... Même si certains sujets me donnent encore bien des migraines, j'avance tout tranquillement.



    En conclusion, pour les nouveaux développeurs il me semble plus judicieux de se lancer dans l'aventure quitte à  galérer autant (voir plus finalement) que d'utiliser le travail à  l'ancienne ; quand aux "grands" je ne pense pas avoir à  leur donner quelque avis que ce soit ... image/baby.gif' class='bbc_emoticon' alt=' :o ' />
  • Hello,



    De mon côté je n'ai toujours pas utilisé les Storyboard, pour une raison simple : Je n'ai pas d'écran 27" image/smile.png' class='bbc_emoticon' alt=':)' /> et vu comme mon Mac à  parfois du mal à  ouvrir certains Nib, je n'ose imaginer la latence sur un Sotryboard :S



    Je me trompe peut-être mais pour le moment cela ne m'attire pas des masses. Le seul point positif est peut-être la gestion des transitions directement depuis le Story image/smile.png' class='bbc_emoticon' alt=':)' />
  • CéroceCéroce Membre, Modérateur
    Il y a au moins un autre avantage: créer des tables avec des cellules personnalisées. C'est 10 x plus rapide avec Storyboard.
  • Je suis d'accord avec Céroce pour les cellules personnalisées ! Et de voir son projet avec les liens entre les View et franchement un plus.



    Ensuite voir le type de liaison entre le view (Modal, push ..).
  • AliGatorAliGator Membre, Modérateur
    septembre 2012 modifié #18
    Faudra que je teste pour les cellules personnalisées, mais de mon côté j'ai fait une classe qui permet de les charger très facilement depuis un XIB externe et qui facilite grandement la vie, et du coup je suis pas sûr que cet avantage des Storyboard soit toujours d'actualité pour moi (et donc pour GranDav qui m'a déjà  piqué ma classe aussi image/tongue.png' class='bbc_emoticon' alt=':P' />)
    1. Mettre la UITableViewCell dans un XIB séparé ("MaTableViewCell.xib" par exemple), avec comme classe de File's Owner la classe OHNibLoader. C'est d'autant plus facile que j'ai créé un template pour faire un XIB de ce type, qui met le bon File's Owner mais aussi le bon cellIdentifier pour la UITableViewCell (identifier = nom de la classe custom) donc il n'y a plus rien à  faire de ce côté.
    2. Dans le code du dataSource de la tableView, faire ceci pour charger la cellule :

    // Dans le init de la classe qqpart pour définir le XIB associé à  la cellule. C&#39;est un peu l&#39;équivalent du &quot;registerNib:forCellReuseIdentifier:&quot; introduit par iOS5 si vous voulez<br />
    self.cellLoader = [OHNibLoader nibLoaderWithNibName:@&quot;MaTableViewCell&quot;];<br />
    <br />
    // Dans la méthode de dataSource ensuite, tout est géré par le NibLoader, y compris le reuse et la vérification du cellIdentifier :<br />
    -(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath<br />
    {<br />
       UITableViewCell* cell = [self.cellLoader reusableCellForTableView:tableView];<br />
       // Configurer la cell, en général j&#39;ai créé une méthode genre [cell fillWithObject:x] dans ma classe custom de UITableViewCell pour ça<br />
      return cell;<br />
    }
    


  • // Configurer la cell, en général j'ai créé une méthode genre [cell fillWithObject:x] dans ma classe custom de UITableViewCell pour ça


    Pas très MVC ça si ? image/tongue.png' class='bbc_emoticon' alt=':P' />
  • AliGatorAliGator Membre, Modérateur
    'JegnuX' a écrit:




    Pas très MVC ça si ? image/tongue.png' class='bbc_emoticon' alt=':P' />
    Je te l'accorde ^^
  • Allez je joue au fossoyeur et déterre un vieux sujet. Mais c'est bien la question que je me pose. Je pensais me mettre au storyboard et avoir l'appréciation de la communauté. Donc de ce fait je modifie la question par "Un an après les stroyboard vous en pensez quoi ? Avez-vous commencé à  travailler avec ? Quels sont les avantages et les inconvénients ?"


     


    *** range sa pelle en sifflotant *** 


  • Toujours pas... (et ARC non plus, comment ça je suis réac ?)


  • J'utilise, également, énormément le storyboard pour la réalisation des niveaux pour mon jeux.


    Juste une question au passage. Est-il préférable d'utiliser les segues ou utiliser "instantiateViewControllerWithIdentifier" ?


    Ou bien c'est équivalent?

  • Je n'utilise pas du tout. Mais comme je ne développe pas pour les devices sous iOSxx c'est normal.


    Pour Arc, j'ai fait quelques tentatives. Mais comme ce que j'ai fait doit marcher sous 10.5, 10.6 et 10.7 je continue majoritairement à  gérer la mémoire à  la main. 


  • J'utilise pas les storyboard parce que j'aime pas les merges :)


  • LeChatNoirLeChatNoir Membre, Modérateur

    je n'utilise pas par fainéantise... Cette année, je me met doucement à  CoreDate. Donc Storyboard, d'ici qques années ? :)




  • J'utilise, également, énormément le storyboard pour la réalisation des niveaux pour mon jeux.


    Juste une question au passage. Est-il préférable d'utiliser les segues ou utiliser "instantiateViewControllerWithIdentifier" ?


    Ou bien c'est équivalent?




     


    C'est équivalent (puisque le segue d'instance instancie ton controller de destination) à  condition que tu codes toute la séquence qui va bien jusqu'au push (par exemple). Mieux vaut utiliser les segue car : meilleur compréhension de ta scene dans le Storyboard, le code nécessaire à  la transition est localisée en un seul endroit : prepareForSegue:...


  • J'utilise pas les storyboard parce que j'aime pas les merges  :)



    Ah ben merges alors!


  • CéroceCéroce Membre, Modérateur

    Quels sont les avantages et les inconvénients ?"


    Avantages
    - On a une vue d'ensemble de l'appli.
    - La création de table views avec des cellules statiques est grandement simplifiée.
    - De même pour les barres de navigation: fini le code pour lier les boutons à  leur actions.

    Inconvénients
    - Difficile de travailler à  plusieurs dessus. Il y a effectivement des soucis de merge (réglés sous Xcode 5 dixit Apple).
    - Certaines choses deviennent difficiles voire impossible à  réaliser.
    - Il faut un écran de 24" pour concevoir une appli iPad sereinement.
    - (Les réglages s'appliquent forcément au fichier entier. Par ex., l'autolayout sera activé dans tout le storyboard).

    Je n'ai pas d'avis tranché sur la question. Je dirais que si l'application comporte beaucoup d'écrans, et surtout des formulaires, alors le Storyboard est plus intéressant. Par contre, l'approche est peu modulaire.
  • Je pense qu'effectivement cela dépend du projet sur lequel on travaille...

    Si je prend l'exemple d'un projet sur lequel on a travaillé en commun avec Céroce (même s'il ne le sait pas :p ), c'est effectivement très utile... quoi que... tout dépend du développement.



    Après en ce moment je travaille plus sur des applis utilitaires... Et l'avantage c'est que tu peux avoir les deux. Sur certains projets j'utilise xib ET storyboard (j'entend déjà  des gens me huer)... Pas de panique je ne peux pas dévoiler la nature de mes travaux mais c'est totalement justifié ^^


     


    Mais c'est vrai qu'a la longue les storyboard c'est bien, on s'habitue :) Moi j'aime bien :)



  • Et l'avantage c'est que tu peux avoir les deux. Sur certains projets j'utilise xib ET storyboard (j'entend déjà  des gens me huer)... 




     


    Te huer ? Je ne vois pas pourquoi. Ce n'est pas incompatible. Je procède ainsi pour éviter certaines redondances.

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