iOS 9.3 et OS X 10.11.4 : nouveautés pour les développeurs

Nicolas Furno |

iOS 9.3 est de sortie ce soir avec une première bêta très riche en nouveautés pour les utilisateurs, mais il y en a aussi pour les développeurs. Comme toujours, ils peuvent déjà compter sur une nouvelle version de Xcode, l’outil de développement qui sert à créer des applications iOS et OS X.

Xcode 7.3 complète mieux

Xcode 7.3 contient les dernières versions des kits de développement pour iOS 9.3, watchOS 2.2, tvOS 9.2 et OS X 10.11.4. Cette mise à jour améliore aussi l’autocomplétion du code, une fonction essentielle pour les développeurs. D’après Apple, on peut s’attendre à de meilleures performances, tout en proposant plus d’options et des options mieux adaptées.

Cliquer pour agrandir

L’autocomplétion a besoin de moins caractères pour suggérer du code, et Xcode ne se soucie plus de la casse. On peut se contenter de taper un bout de code en minuscule et le logiciel se chargera de trouver tout ce qui correspond, que ce soit en minuscule ou en majuscule. Et puis la fonction devrait être plus intelligente et suggérer, par exemple, tout ce qui a un rapport avec de la couleur quand le code que vous essayez de compléter concerne une couleur.

Cette nouvelle version doit aussi améliorer la prise en charge des toolchains open-source en Swift, c’est-à-dire l’ensemble des composants nécessaires pour compiler le code et en faire une application.

Le plein de nouveautés dans WebKit

Les deux mises à jour d’iOS et d’OS X sont livrées avec une nouvelle version de Safari. Notée 9.1, cette mise à jour semble assez mineure pour les utilisateurs, mais elle contient plusieurs nouveautés intéressantes pour les créateurs de sites.

À commencer par la prise en charge de l’élément <picture> qui permet d’afficher des images différentes en fonction de la taille de l’écran et du contexte. Safari gérait déjà la balise srcset, qui est parfaite pour optimiser une même image, mais cet élément va plus loin encore et intègre d’ailleurs cette balise. L’idée est de définir une image parfaitement adaptée à chaque contexte : on a une photo de base allongée (un paysage par exemple), puis une version carrée pour les iPad, une version portrait pour les iPhone, etc.

Méthode traditionnelle (gauche) ou moderne (droite), avec la balise picture. Images tutsplusCliquer pour agrandir

Tous les appareils disposent ainsi d’une version optimisée et surtout adaptée : le cadrage peut changer d’une version à l’autre. Safari était le dernier navigateur majeur à ne pas avoir adopté <picture>, ce sera donc chose faite avec iOS 9.3 et OS X 10.11.4.

L’inspecteur web de Safari a également été revu avec cette nouvelle version. La vue « Chronologie » devrait être plus rapide et la barre latérale dédiée au CSS a été enrichie de nouveaux contrôles plus simples à utiliser. Pour modifier les marges par exemple, on peut désormais saisir les valeurs avec une interface graphique qui permet de savoir immédiatement ce que l’on modifie.

Le nouvel inspecteur, avec des contrôles revus pour modifier le style d’un site plus simplement. Cliquer pour agrandir

À propos de CSS, l’autre nouveauté majeure de cette version tient dans la prise en charge des variables dans les feuilles de style. Sur ce point, Apple est plutôt en avance, puisque pour le moment, seul Firefox prenait en charge cette fonction qui permet, par exemple, d’enregistrer une couleur et de la modifier partout immédiatement. D’autres ajouts également en matière de CSS, notamment sur les variantes des polices (pour les ligatures) ou encore le retrait d’un préfixe -webkit.

La liste de nouveautés est encore longue, on a une nouvelle propriété de viewport (qui sert à définir le comportement du site sur un appareil mobile) pour la vue partagée sur les nouveaux iPad. Et comme prévu, les tapotements seront plus réactifs sur les appareils iOS, tandis que les développeurs pourront utiliser des gestes plus complexes, comme la rotation, sur les écrans tactiles et sur les trackpad des Mac.

Autres nouveautés

Les applications tvOS sont désormais suivies par l’outil de statistiques d’Apple, directement dans iTunes Connect (lire : tvOS : des statistiques qui s’affinent pour les développeurs). Un alignement bienvenu sur les applications iOS, mais on peut noter que les développeurs OS X n’ont toujours rien de tel…

Cliquer pour agrandir

Les développeurs pour l’Apple TV peuvent insérer des cartes dans leurs applications. La nouvelle version de tvOS intègre MapKit, la brique qui contient tout ce qu’il faut pour afficher une carte et la contrôler avec la télécommande. Si vous voulez tester, vous pouvez utiliser ce projet Xcode qui génère une application avec une carte en plein écran. Si vous avez un câble USB-C, vous pouvez mettre à jour l’Apple TV et installer le projet en utilisant Xcode 7.3.

Une carte sur l’Apple TV. En appuyant sur le bouton lecture, on affiche ces options. On peut aussi déplacer la carte avec le trackpad, et changer le niveau de zoom en glissant le trackpad sur la droite.
Une carte sur l’Apple TV. En appuyant sur le bouton lecture, on affiche ces options. On peut aussi déplacer la carte avec le trackpad, et changer le niveau de zoom en glissant le trackpad sur la droite.

Petite démonstration en vidéo de l’interface de tvOS pour les cartes :

Par ailleurs, Apple a mis à jour les serveurs utilisés pour les notifications Push et ils utilisent désormais le plus moderne et surtout plus rapide HTTP/2. Le HTTPS était déjà obligatoire, cela ne change a priori rien pour les développeurs.

avatar Hideyasu | 

Il manque juste un meilleur développement pour le Mac App Store. Dommage car l'idée de centraliser est bien meilleur que de télécharger des logiciels à droite à gauche.

avatar r e m y | 

Je trouve que les versions d'iOS et de OS X sont de plus en plus liées... J'ai l'impression qu'iOS 9.3 va imposer de passer à OS X 10.11.3 (ne serait-ce que pour les notes cryptées)

Je trouve ça vraiment pénible (d'autant que je ne serais pas étonné que les développements soient faits pour tester compatible avec d'anciennes versions de Windows)

avatar patrick86 | 

"J'ai l'impression qu'iOS 9.3 va imposer de passer à OS X 10.11.3 (ne serait-ce que pour les notes cryptées)"

M'enfin si c'est que pour les notes chiffrées, il y a de quoi faire sur l'App Store pour ne pas changer d'iPhone ou ne Mac juste pour ça. :-)

C'est pas tant que les 2 OS sont liés, que la fonction est ajoutée en même temps des 2 côtés. C'est finalement plus cohérent que quand on avait un AirDrop différent sur le Mac et l'iPhone.

avatar r e m y | 

Je voulais écrire 10.11.4.... mais on ne peut pas éditer sur l'app MacG iOS

avatar Frizlab | 

À noter avec horreur que dans le nouveau Xcode, cmd-left arrow ne revient plus en début de ligne comme il se doit (et comme il a toujours fait), mais seulement en fin d'indentation de la ligne (c'est à dire au début des "vrais" caractères).
J'espère vraiment que ce n'est que provisoire !! Ou au moins qu'on ait une option pour revenir au mode précédent…

avatar Tomn | 

@Frizlab :
Ah perso ça m'arrange tellement, ça fait des années que ça m'énervait, que j'ai installé un plug-in rien que pour ça

avatar Frizlab | 

M'ouais je sais que tous les env de devs font comme ça… ça m'insupporte ! Mais du coup je comprends qu'ils le fassent……… au moins qu'ils laissent un option pour revenir au comportement précédent ! C'est n'importe quoi de changer des habitudes de plusieurs années d'un éditeur de texte sous prétexte que les autres font autrement…

avatar BeePotato | 

@ Frizlab : « C'est n'importe quoi de changer des habitudes de plusieurs années d'un éditeur de texte sous prétexte que les autres font autrement… »

Tout à fait d’accord. D’autant plus que ce raccourci n’a pas juste à quelques années d’usage dans Xcode, mais est le fonctionnement par défaut dans tout Mac OS (sauf dans quelques applications mal écrites) depuis toujours. Changer ça pour coller à ce qui se fait sur d’autres plateformes, c’est tout simplement aberrant et à l’encontre de l’esprit de Mac OS.

avatar marc_os | 

@ Frizlab:
Et si tu le fais deux fois ?
Je veux dire, si tu tapes deux fois de suite le raccourci, ça le fait pas ?
Je peux pas tester, je suis toujours sur Xcode 5.1.1. ;-)

avatar Frizlab | 

Ça le fait. Mais finalement ce n'est pas tellement la question ! ;)

avatar Apollo11 | 

Svp, Safari sur Mac : un niveau de zoom par défaut pour chaque page...

C'est pourtant pas compliqué.

Sinon, on doit installer une extension qui fait pas vraiment bien le travail ou encore une feuille de style css qui fait pas mieux.

avatar iGeek07 | 

@Apollo11 :
Tout à fait d'accord.

avatar Nicolas Hoizey | 

"on a une nouvelle propriété de viewport (qui sert à définir le comportement du site sur un appareil mobile) pour la vue partagée sur les nouveaux iPad"

En fait, cette nouvelle propriété était déjà dans iOS 9, mais utile dans Safari quel que soit le mode, pour compenser ce que je considère comme un bug. J'en parlais dans ce billet.

C'est visiblement abandonné pour Safari en mode standard, et conservé uniquement dans la vue partagée. C'est un peu mieux, mais l'abandonner partout aurait été bien mieux AMHA…

avatar nicopulse | 

Apple à pensé au problème WIFI des MacBook Pro ?

avatar micka44 | 

Quel problème ?

avatar mocmoc | 

j'ai cru une fenetre windows.

avatar Vivid | 

"L’autocomplétion"

si c'était aussi moins verbeux....

avatar marc_os | 

@ Vivid
T'as qu'à écrire en assembleur, les mots sont plus courts.

avatar Vivid | 

pas que les mots.

avatar Glop | 

Rien ne vaut l'hexadécimal !
A0F7 C917 0543 DE21

CONNEXION UTILISATEUR