Stratégie d'adaptation à iOS 7
Sans vouloir enfreindre le NDA.
J'imagine que beaucoup d'entre vous ont déjà téléchargé Xcode 5 et testé leur app sous Simulateur ou sur le Device.
Vous avez constaté que le travail à fournir pour "passer" correctement sous iOS 7 est plus important que pour n'importe quelle version précédente.
J'ai une app que je trimballe d'OS en OS depuis la version 3 d'iOS, du coup pas de storyboard, pas de auto-layout, pas de parentController, etc.
- En profiter pour reprendre l'app avec les dernières techno (auto-layout, storyboard, parent/child controller). Mais j'ai l'impression que cela ne me garantie pas une compatibilité iOS6 et iOS7 au niveau de l'UI.
- Faire une nouvelle app (version 2), et pénaliser les clients actuels.
Dans le deuxième cas, comment continuer à supporter iOS 6 et iOS 7 en parallèle pendant la phase de transition des utilisateurs ?
Il me faudrait pratiquement deux versions. L'ancienne pour iOS 6 et une nouvelle pour iOS 7 mais ce n'est pas possible...
Pour moi cette release d'iOS 7 aurait dû s'accompagner d'une vraie gestion de version sur l'app store.
Par exemple la possibilité de créer une branche pour la version précédente de l'OS.
Parce que là j'ai l'impression que j'ai un problème de fragmentation...
Réponses
Dis-donc, elle fait peur niveau travail cette version iOS 7 !!!
Je ne l'ai pas encore téléchargée donc je ne sais pas te conseiller.
J'ai téléchargé iOS 7 pour me familiariser avec l'UI. Ai lu la doc dev. adéquate.
Mais je n'ai pas fait tourner mon appli dessus : j'envisage de faire d'importants changements (même si j'utilise déjà storyboard et auto layout) pour adopter la philosophie de cette version d'IOS.
Avec iOS 7 il y a peut-être là une opportunité de se démarquer face aux gros concurrents : ces derniers auront-ils le temps de revoir de fond en comble leurs applis ?
Je viens de tomber là dessus : http://www.igen.fr/iphone/ios-7-nouvelle-interface-nouvelles-opportunites-106656
Cela rejoint ce que je dis précédemment.
@FKDEV : Peut-être qu'il est temps de prendre une décision radicale :-)
J'en profiterai pour faire une V2.
Ca vaut vraiment le coup le Storyboard ? J'y ai jamais touché encore ...
Bref sinon pour mes nouvelles apps je les fait direct iOS 7 et pas de compatibilité inférieure. Un user iOS met à jour son téléphone super rapidement donc fuck off.
L'histoire de la V2 me semble pas mal mais bon on pert quand même une base utilisateur conséquente ... Tiens si ça peut t'aider à être uniforme de iOS 6 à iOS 7 : https://github.com/youknowone/UI7Kit
Pourquoi vous parlez tous de storyboard ? Etes vous en train de dire qu'il est dorénavant obligatoire ?
Moi je trouve que oui. Mais bon chacun a ses habitudes.
Non.
ouf
J'ai utilisé Storyboard sur mes 4 dernières app et vraiment, ça clarifie le code et accélère le développement.
Et tu peux voir un clin d'oeil la navigation de ton app.
Et c'est perturbant au début ? Le temps d'adaptation est long ?
J'ai récemment adapté toutes mes apps aux écrans 4", mais je reste sans story board, ni auto-layout (juste les auto-resizing masks).
Maintenant, je ne vois pas en quoi iOS 7 va à ce point tout bouleverser. Mes tests ne donnent que quelques adaptations mineures...
Après, si vous voulez profiter d'iOS 7 pour revoir complètement l'apparence et tout passer en "flat design", c'est autre chose.
Si notre app est super customisée (NavBars, polices), qu'est ce que ça change ?
J'ai du mal à voir, il me tarde de faire tourner mon app dessus.
Je vais sortir une V2 dans 15 jours, elle est un peu "flat design" pour iOS 6.
J'ai remarqué de mon coté les navbar et évidemment tous les éléments UISwitch, UIProgressView, UIPickerView, etc.
Cela se passe globalement bien, sauf pour le UIPickerView qui n'a plus de fond.
Va jeter un oeil sur les sessions videos de la wwdc 2013...
Un article intéressant sur le sujet.
C'est sur qu'un bouton "glossy" ou aluminium ça fait tâche sur iOS 7.
D'une manière générale, je ne trouve pas iOS "flat" du tout, au contraire, j'ai l'impression que plutôt que naviguer, on "plonge" dedans.
Par exemple, l'ouverture d'un dossier entraà®ne un léger zoom du background.
AMHA, s'il y a un mot qui devrait résumer iOS 7 c'est "mouvement". ça bouge tout le temps.
Suis pas sûr qu'il existe une définition précise du flat design (mais je suis pas designer non plus hein).
Il me semble toutefois que le flat design se distingue par l'utilisation de couleurs (dans iOS 7 les couleurs sont utilisées par exemple pour indiquer les éléments intéractifs), la typographie (gros taf la dessus sur iOS 7). L'ensemble devant apporter plus de clarté à l'interface (en éliminant au passage les ombres et dégradés).
Quand tu dis "on plonge" ou que "ca bouge", ce principe n'est pas antinomique avec le flat design s'il est utilisé pour hiérarchiser les éléments de l'interface (ce qui permet à l'utilisateur de ne pas perdre le fil conducteur d'une application).
Dans la session #201 tu as un bon chapitre "Adapting your app for iOS 7"
C'est a 00H42 a peu pres.
Peut etre que cela peut te donner quelques pistes de reflexion.
OK merci, je vais regarder.
Mon problème en fait est le suivant:
Dans iOS7, certains barres d'outils, certains boutons ne sont pas affichées comme dans iOS6 donc certains boutons ne sont plus visibles par exemple.
De même certaines images vont devoir etre retravaillée pour s'accorder au style.
C'est facile à corriger, mais deux choses me gênent :
-la quantité de modifications (pour une app qui ne rapporte pas grand chose)
-les efforts à fournir pour supporter les quatre versions iPhone/iPad + iOS 6/7
Mon intuition, c'est qu'en utilisant auto-layout, je vais avoir moins de test en dur dans le code pour détecter les versions.
D'autant que Xcode 5 facilite l'utilisation d'auto-layout.
Je vais quand même devoir doubler certaines images,donc au final pour une image, j'ai parfois toute ces versions :
iPhone iOS 5,6
iPhone IOS 5,6 retina
iPad iOS 5,6
iPad iOS 5,6 retina
iPhone iOS 7(retina)
iPad iOS 7(retina)
A propos d'auto-layout, mon intuition c'est aussi que cette fonction va devenir indispensable pour supporter les futurs nouvelles tailles d'écrans qui ne manqueront pas d'arriver.
Donc contrairement à storyboard qui reste optionnel, auto-layout va devenir un must pour développeur dans l'ecosysteme Apple qui voudra garder sa santé mentale intacte.
Initialement, c'est un post de Marco Arment qui a souvent de bonnes idées : http://marco.org.
Je songe de plus en plus à faire une version 2 indépendante pour partir sur de bonnes bases.
J'essaye d'imaginer comment offrir la nouvelle app aux anciens clients (passage en gratuit pour une journée avec notification aux anciens clients, première mouture hyper limitée et gratuite permettant aux anciens clients de prendre l'app).
Encore une fois, c'est dommage qu'Apple ne fasse rien pour ce cas là . Pourtant ce serait facile pour eux d'offrir une app à tous les possesseurs d'une autre app (que ce soit en l'affichant gratuite pour eux, en éditant un promo code ou en faisant une transaction automatique à tarif 0.
Sur Mac, ils arrivent à faire des cas particuliers pour la distribution d'iLife, par exemple, sur le store.
Cette année on a eu le transfert d'app peut-être que l'année prochaine, on aura la capacité d'offrir une app au possesseur d'une autre app.
Je pars from scratch por une nouvelle app. elle sera seulement iOS 7 et donc plus besoin de me faire chier avec la version non retina
Et si Apple sort un low cost non-retina ?
Tu me fais chier et d'autant plus parce que tu as raison
Je pense aussi, mais bon, sur iPad on a toujours du retina et non retina à gérer, car l'iPad mini est un beau succès.
Du coup mon avis c'est de continuer à supporter encore un peu le non rétina. ne serait-ce que si tu compte adapter ton app de l'iPhone à l'iPad, bon bah t'auras déjà certains glyphs, fond, etc qui seront potentiellement utilisable.
Et que de toute façon, si le graphique bosse bien, ça lui coûte pas plus cher de faire retina et non retina en même temps.
Après, je conseille néanmoins vivement de n'inclure dans le bundle iPhone que le version retina si tu supporte que iOS7. ça allègera l'ipa (donc cool pour le download et préserver du stockage)
Surement. D'autant qu'il y a du json (et non du plist) dans l'affaire...
J'déterre, j'pensais à iOS7 et le futur boulot comme ça... Ce que je pourrais faire, et j'me suis rappelé cette conversation...
Intéressant. Je vais voir ça de plus près...
Je pensais déjà à faire moi-même un UIImage+iOS7Complient (notamment), avec [UIImage imageNamed7:@""], vu que c'est ce que j'utilise essentiellement, qui retournerait ce qu'il faut en fonction de la version d'iOS...
Et les équivalences pour d'autres classes si besoin (j'pense aux UIColor que j'utilise déjà , mais avec une p'tite update), mais j'ai pas encore touché à iOS7, j'viens à peine de passer à surbooké, à booké