Mac4Ever Refurb Guide d'achat Apple - Des conseils sur toute la gamme Apple Débuter sur Mac
Une nuit avec WatchKit : prise en main, et premières impressions du SDK dédié à l'Apple Watch
Actu Dossiers Forum Photos/Podcasts Petites Annonces V.I.P.
1230 connectés

Une nuit avec WatchKit : prise en main, et premières impressions du SDK dédié à l'Apple Watch

Le 19/11/2014 à 18h05
Jean-François Grang (Jeff pour les intimes), un lecteur de longue date et développeur iOS confirmé (voir plus bas) a découvert WatchKit dès hier soir et il a souhaité faire partager ses premières impression avec le SDK dédié à l'Apple Watch. Cet article s'adresse donc avant-tout au développeurs mais aussi aux geeks un peu curieux.

Il est 20h en France, la nouvelle tombe, WatchKit est enfin disponible. Le temps de le télécharger, de regarder les premiers tutoriels et de l’installer, il est 23h. Le clavier chauffe et brulera jusqu’à tôt dans la matinée mais impossible de se coucher sans avoir fait le tour de ce nouveau SDK fourni par Apple.

En deux heures, je suis passé d’un « Hello World » à une application fonctionnelle et sans rien connaitre du SDK. Une heure de plus et cette application aurait pu être poussée sur le store.



Sujet du développement

Je développe appstories.com une solution à destination des développeurs et responsables marketing permettant de suivre ses applications ou celles de ses concurrents sur l’App Store (classements, ventes, SEO, …). L’application iPhone (bientôt disponible) permettra de suivre ses ventes, classements dans les stores en un coup d’oeil. Objectif de la nuit : faire une application qui permet de retrouver les téléchargements sur la montre sans passer par l’iPhone.

Les types d'applications

Tout d’abord, il convient de préciser que pour pouvoir déployer une application sur WatchKit, il faut une application iPhone. Celle-ci se présente comme une extension de l’application originale au même titre que les Today’s Widgets.

Comme pour le Today’s Widget il suffit d’ajouter une target Apple Watch pour commencer à jouer.

Il y a donc 3 types de d’interaction avec la montre :

- Une vraie application avec plusieurs écrans, des interactions etc.

- Une « Glance », qui est une seule vue, sans interaction, un clic dessus ouvre l’app. Ceci permet de mettre sur un écran un résumé. Par exemple le solde de ses comptes pour une application bancaire, le cours actuel du CAC 40 pour pour une application de bourse, le score du dernier match de son équipe préférée … C’est assez proche du Today’s Widget dans l’usage. On peut n’en avoir qu’un, il est sélectionné par l’utilisateur c’est une info interactive rapide à consulter.

- Les notifications actives comme vu avec iOS8.

AppleWatch et iPhone indisociables

Je craignais un peu de devoir faire beaucoup de travail pour faire parler mon application Watch et mon application iPhone mais l’architecture mis en place par Apple rend tout ceci invisible.

En effet, tout le code est exécuté par l’iPhone et les fichiers d’interface et les ressources statiques sont, eux, sur la montre. Quand l’application est lancée sur la montre, l’extension se charge sur l’iPhone. Ceci ressemble à de l'émulation terminal.



Ceci permet :

- d’alleger la montre avec ces traitements mais en mettant les interfaces côté montre
- de pré-charger les éléments « lourds » en local côté montre pendant que l’application côté iPhone se charge
- d'avoir accès à la puissance du téléphone
- de pouvoir échanger les informations entre l’app iPhone et WatchKit plus facilement (sans devoir gérer le bluetooth, …)



Les applications iOS et Apple Watch étant séparées (deux processus distincts) et les données n'étant pas communes (sandboxing) il faut passer par un Shared App Group pour échanger les données. Dans mon cas, j’ai réutilisé le même que pour mon Today’s Widget ce qui me permet de mutualiser le code.

Création des interfaces

Tout est basé sur le « storyboard », outil permettant de créer les écrans et leurs enchainements. Pour les développeurs qui ne s’y étaient pas mis, il va falloir le faire ! Mais de toute façon, impossible de réutiliser ceux de vos apps (qui auraient été probablement trop petits).

Pourquoi ? Parce que tous les composants sont différents : au même titre qu’entre Mac OS et iOS, il y a des composants qui se ressemblent mais qui n’ont pas le même nom, fonctionnalités. Ainsi, le UISwitch devient le WKInterfaceSwitch, le UILabel devient WKInterfaceLabel, …

Globalement ces objets sont des versions légères des objets que nous connaissions et beaucoup d’options ne sont pas disponibles comme cela avait été le cas avec iOS2. Quelques composants apparaissent comme un séparateur et des labels de date et heure ou de chronomètre, probablement pour profiter de la précision de la montre dans ce domaine. De la même manière, il est possible d’ajouter un menu à son application pour accéder à jusqu’à 4 éléments.

Si vous étiez habitués aux contraintes permettant de dire à tel composant comment se redimensionner, il faudra en changer. Des options permettent de choisir si on veut une taille fixe ou s’adaptant à la taille de la montre. Un nouveau système basé sur la taille du contenu (size to fit content) qui « pousse » les autres composants, fait son apparition.



Code

D’un point de vue code, l’approche est très simple. Tous les objets créés sur votre application pourront être ajoutés à la target Watch App en cochant la case dédiée et de facto, une large réutilisation de votre code est prévue sauf … pour la partie interface. Cependant rien n’est très compliqué car les objets sont proches d’iOS et plutôt simple avec seulement quelques méthodes chacun donc rapide d’en faire le tour.

Pour les applications ayant une architecture avec des objets métiers et une couche de service n’ayant pas d’adhérence avec les interfaces; tout ira pour le mieux. Le mieux étant d’avoir un .framework ou un CocoaPods pour ajouter son code et éviter ainsi de devoir ajouter les fichiers un par un dans sa target.


Documentation

Je craignais un peu de voir un nouveau SDK sortir du bois sans que l’on ait eu de présentation à la WWDC ou de Tech Talks mais Apple a bien fait les choses sur son portail . Une vidéo explique les principes, un programming guide synthétique (par ici), des exemple de code et une documentation complète.

Conclusion



En seulement 2 heures, j’ai pu créer une application fonctionnelle. Apple a vraiment mis toutes les chances de son côté pour qu’un maximum d’applications soient disponibles dés le lancement.

En ayant désormais la connaissance des possibilités techniques, il va maintenant falloir se pencher sur les usages et anticiper ce qu’attendent les clients des apps Apple Watch. Mais surtout, il faudra être capable d'identifier quels types (motif, glance, app) sont les plus pertinents suivant les usages au risque de surcharger l'utilisateur avec des composants peu utiles ou mal adaptés.

Cet article a été rédigé par Jean-François Grang, président de 2 App à Z, cabinet de conseil et développement sur les technologies mobiles et éditeur de AppStories.com une plateforme d’analyse des applications sur l’App Store. C’est l’un des premiers développeurs iOS beta dés 2008 et éditeur à son compte d’iTimeSheet mais aussi de nombreuses applications pour le compte de ses clients et partenaires.
partage email

Un Apple Store éphémère à Londres pour un hommage très fruité

Sur l'App Store, les applications ne sont plus "gratuites"

chargement des réactions

Réagissez à ce dossier !

Pour réagir directement dans le forum, cliquez ici.
Pour réagir, vous devez être identifié.
Si vous ne possédez pas de compte, créez-en un !
Identifiant :
Mot de passe :
Gras Italique Souligné Image URL Smiley confus Smiley cool Smiley M. Vert Smiley malsain Smiley mort de rire Smiley geek Smiley surpris
Important : soyez concis, courtois et pertinents. (plus d'infos ?) Les messages injurieux et hors sujet seront effacés. En cas de non respect de ces instructions, le compte d'un utilisateur pourra être bloqué sans préavis.
Pour toute erreur dans un article, merci de nous le signaler en nous contactant ici.

Conseils d'achat

  • Macintosh

  • iPhone, iPad & iPod

iMac 27" 5k Indicateur orange Informations 06/2017 2099 € L'iMac 27" (Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3, GPU dédié et puces Kaby-Lake. On attend des modèles Coffee Lake (à 6 coeurs) d'ici le courant du printemps/été 2018.
iMac 21,5" 4k Indicateur orange Informations 06/2017 1499 € L'iMac 21,5" (Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3, GPU dédié et puces Kaby-Lake. On attend des modèles Coffee Lake (à 6 coeurs) d'ici le courant du printemps/été 2018.
Apple TV 4k Indicateur vert Informations 09/2017 199 € L'Apple TV 4k est une petite évolution de l'Apple TV pour les téléviseurs 4k. Il gère le HDR, le HDMI 2a et tous les codecs récents. Si vous avez une télévision OLED 4k, il s'agit du modèle idéal. Son prix est raisonnable par rapport à la version HD, qui reste au catalogue.
iMac Indicateur orange Informations 06/2017 1299 € L'iMac 21,5" (non Retina) a été mis à jour le 5 juin 2017 avec Thunderbolt 3 et puces Kaby-Lake. On attend des modèles Coffee Lake (à 6 coeurs) d'ici le courant du printemps/été 2018.
iMac Pro Indicateur vert Informations 12/2017 5499 € L'iMac Pro est actuellement le Mac le plus puissant du marché. Il ne sera pas renouvelé avant une bonne année, sauf surprise. N'hésitez pas à consulter nos tests et nos vidéo avant de vous décider ! A noter qu'Apple va sortir un Mac Pro courant 2018 (ou 2019), donc si vous n'êtes pas trop pressé, il sera + modulaire...
Mac Mini Indicateur rouge Informations 10/2014 549 € Le Mac mini a été mis à jour fin 2014, avec quelques améliorations notables, comme Thunderbolt 2, WiFi ac. Son prix a également fortement baissé, mais au prix d'un boiter moins évolutif (RAM soudée) et d'absence de quadri-coeur. Une renouvellement pour la rentrée (voire fin 2017) est possible, même si Apple n'a pas l'habitude de mettre à jour cette machine très souvent. Regardez aussi du côté du Refurb, où l'on trouve régulièrement des modèles à partir de 459€ !
Mac Pro Indicateur rouge Informations 10/2013 3339 € Apple a annoncé un nouveau Mac Pro courant 2018 (voire 2019), plus modulaire et moins fermé que la version actuelle. Dans tous les cas, surtout n'achetez pas les modèles "tube" datant de 2013 et désormais assez dépassés.
MBP Retina 13" Indicateur vert Informations 06/2017 1499 € Le MacBook Pro 13" a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake. Vous pouvez encore acheter tranquillement, aucune mise à jour prévue avant le printemps/été 2018 (avec des puces à 4 coeurs en vue !)
MBP Retina 15" Indicateur vert Informations 06/2017 2799 € Le MacBook Pro 15" a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake et de "nouveaux" GPU. Vous pouvez encore acheter tranquillement, aucune mise à jour prévue avant le printemps/été 2018 (avec des puces à 6 coeurs en vue !)
MacBook Air Indicateur orange Informations 06/2017 1099 € Le MacBook Air a été "mis à jour" le 5 juin 2017, avec des fréquences légèrement supérieures, mais aucune autre nouveauté. Cette machine est en fin de vie et Apple ne lui accordera plus aucune vraie mise à jour. Achetez le plutôt sur le Refurb !
MacBook Indicateur vert Informations 06/2017 1499 € Le MacBook Pro a été mis à jour le 5 juin 2017, avec peu de nouveautés, en dehors du passage à Kaby-Lake. La prochaine mise à jour n'est pas attendue avant l'été 2018 (voire en milieu de printemps).
Apple TV 2015 Indicateur vert Informations 10/2015 159 € L'Apple TV 2015 est sortie fin 2015 et Apple le garde au catalogue malgré l'arrivée de la version 4k. Avec en prime, une petite baisse de prix ! Si vous n'avez pas de TV 4k, cela reste une bonne affaire.
Téléchargez nos
applications mobiles
À découvrir sur Mac4Ever
b 1  b 2 
Mon Mac4Ever
Pour participer, vous devez être identifié.
Si vous ne possédez pas de compte, vous pouvez en créer un gratuitement !
Identifiant :
Mot de passe :
Sondage
Addiction aux smartphones et les enfants ? Que faut-il faire ?
782 votes
app
  • Nouveautés

  • Gratuites

  • Payantes

A propos | Mentions légales | Infos Cookies | Contacts | Emploi | RSS | Apps