Apple

Project Catalyst vise à apporter des applications sur le Mac, améliorer les titres pour iPad

Par Maximus63 , le 14 juillet 2019 - 16 minutes de lecture

Project Catalyst est conçu pour permettre à un grand nombre d'applications iPad d'un million d'exécuter également en mode natif sur Mac, de manière à ce qu'il soit impossible de distinguer le logiciel Mac existant et qu'il soit transparent pour les utilisateurs. Dans le même temps, il devrait également contribuer à alimenter la fourniture d'applications optimisées pour iPad. Voici comment.

Cette semaine, lors de la conférence mondiale des développeurs, Apple a présenté les résultats de sa dernière année de travail pour amener les applications UIKit iOS sur Mac via Project Catalyst.

Le convertisseur catalytique

Comme son nom l'indique, Catalyst est un moyen de créer quelque chose de nouveau avec moins d'effort ou de coût. Par coïncidence ou non, le nom joue également contre macOS Catalina, qui sera nécessaire pour utiliser les nouveaux titres Mac créés à l'aide de celui-ci.

L'été dernier, Apple avait initialement introduit le concept de Catalyst – sans nom officiel – en tant qu'expérience interne visant à intégrer quatre titres créés pour iOS à macOS Mojave: News, Stocks, Home et Voice Memos.

À l'époque, nous avions décrit les nouvelles applications de la version bêta publique comme "un travail en cours", tout en montrant clairement "le potentiel des applications exclusivement iOS de passer au Mac avec moins de travail pour les développeurs tout en offrant meilleure expérience pour les utilisateurs que de se voir simplement proposer une interface d’application Web. "

L'application Home de Mojave était initialement bloquée fermement sur iOS, mais elle a montré le potentiel des applications UIKit sur Mac

D'autres étaient beaucoup plus critiques, se concentrant sur les aspérités spécifiques des applications portées au lieu de voir le potentiel de la rondelle. Certains ont conclu qu'il serait impossible pour les applications iPad de se sentir à l'aise sur Mac. Le cynisme excessif était également une erreur commune il y a 20 ans, lorsque Apple a commencé à présenter le premier Mac OS X, qui se sentait au départ beaucoup moins optimisé et «accrocheur» par rapport à Mac OS Classic. Il a fallu du temps pour révéler que le nouveau logiciel d’Apple offrirait une expérience nettement meilleure.

Nous constatons déjà de vastes progrès dans Catalyst. Tout ce qu’il a appris au cours de l’année écoulée, Apple s’est servi de ses outils internes pour les ouvrir à des développeurs tiers, afin qu’ils puissent convertir leurs propres applications conçues pour iOS en applications UIKit natives capables de fonctionner sous macOS Catalina.

L'architecte logiciel en chef d'Apple, Craig Federighi, a décrit la stratégie comme étant "une évidence". Et Apple est suffisamment confiant dans Catalyst pour l'utiliser pour alimenter les principales applications de Catalina, y compris les nouvelles applications Find My et Podcasts.

Première étape: créer une excellente application pour iPad

Catalyst n'est pas conçu pour exécuter des applications de la taille d'un iPhone en tant qu'accessoires de bureau flottants sur le bureau Mac. Il est plutôt conçu pour créer des titres Mac complets, capables de tirer parti de pratiquement toutes les fonctionnalités de la plate-forme de bureau Apple. Pour cette raison, Apple appelle Catalyst le portage applications iPad sur le Mac, notant en particulier que la première étape de la conversion consiste à "créer une excellente application pour iPad".

Depuis que Steve Jobs a dévoilé l'iPad en 2010, Apple a affirmé de manière anodine que l'iPad était destiné à être une nouvelle expérience distincte, plutôt qu'un simple "gros iPod touch". La vaste bibliothèque d’applications spécialement optimisées pour iPad en est un élément de différenciation majeur par rapport aux autres tablettes servant d’applications téléphoniques étirées, ou «hybrides» PC, qui visaient à superposer des concepts tactiles ou de tablettes au-dessus d’un ordinateur de bureau Windows classique.

Après une décennie d'itérations sur leurs différentes approches, il est impossible d'affirmer qu'Apple avait tort. Les nombreuses années d’efforts de Google visant à faciliter l’exploitation d’applications de téléphone Android évolutives sur un spectre infini de tailles variées d’appareils Android ont abouti à une expérience de la tablette si pénible pour les utilisateurs le bord admet qu'il y a un problème.

Et s'il existe de fervents partisans des ordinateurs portables PC avec écrans tactiles ou des tablettes PC hybrides amovibles prenant en charge le fenêtrage conventionnel et un pointeur de type souris, aucun de ces produits ne se vend réellement en nombre significatif, pas plus qu'ils n'induisent une bibliothèque exceptionnelle de logiciels optimisés. logiciel qui utilise très efficacement le toucher ou un facteur de forme ardoise.

Les silos intentionnellement séparés d'Apple pour les applications iPhone, iPad et Mac ont non seulement abouti à la création d'une vaste bibliothèque d'applications optimisées pour les tablettes sans précédent, mais ont également conduit Apple à vendre de loin le plus grand nombre de tablettes sans écraser ses ventes de Mac conventionnels. En fait, Apple continue de maintenir une base installée croissante d'utilisateurs Mac, alors même qu'elle a créé une base d'utilisateurs encore plus large. Plutôt que d'être une mode temporaire comme les netbooks, l'iPad d'Apple a mis en place une plate-forme durable d'utilisateurs ayant des besoins spécifiques, servis par une expérience de tablette simplifiée. Et pour beaucoup, l'iPad est complémentaire à l'utilisation d'un Mac tout en étant une expérience distincte.

L'année dernière, Craig Federighi, responsable logiciel chez Apple, a clairement fait savoir que "NON", Apple ne cherchait pas à annuler cela ou à "faire converger" ses plateformes iOS et Mac. L’expérience Catalyst visait plutôt à tirer parti du fait qu’il existait de nombreuses applications iOS qu'il serait bien d’avoir sur Mac, si seulement il existait un moyen de les transférer et de les convertir en une expérience nettement différente, optimisée pour le poste de travail, familier aux utilisateurs de Mac et non comme un adaptateur de compatibilité hébergé étrangement étranger.

Pourquoi un catalyseur était nécessaire

Alors qu'iOS et macOS ont toujours partagé la plupart de leurs logiciels de base et proposent des approches très similaires dans la conception de leurs applications, il existe des différences importantes dans les détails des frameworks d'API utilisés par les développeurs pour écrire des applications AppKit pour Mac ou UIKit pour iPhone et iPad. Dans certains cas, cela est dû à des différences matérielles ou à la nature très distincte du pointeur de la souris au pixel près du Mac par rapport à l'ombre tactile beaucoup plus grande d'un geste du doigt iOS. Dans d’autres domaines, Apple a simplement écrit des éléments d’API iOS différemment, car elle avait l’occasion de tout recommencer à l’eau et de s'affranchir des contraintes de compatibilité héritées.

En conséquence, pour maîtriser le codage Mac et iOS, un développeur devrait comprendre toutes ces différentes implémentations et approches. Au-delà, le code écrit pour chaque code doit être géré séparément. Ainsi, chaque modification, ajout de fonctionnalité ou correction de bogue doit non seulement être effectué deux fois, mais également de manière légèrement différente. Il existe évidemment des entreprises qui gèrent les versions Mac et iOS de leurs logiciels, mais dans de nombreux cas, celles-ci sont gérées par des groupes entièrement différents.

En déployant énormément de travail pour gérer lui-même bon nombre de ces différences avec Catalyst, Apple permet désormais aux développeurs iOS de n'effectuer qu'un nombre limité de modifications spécifiques à l'implémentation pour que leur code UIKit existant soit exécuté sur macOS Catalina. Le code source pour les deux peut désormais être maintenu dans le même projet Xcode, permettant à la plupart des modifications d'être apportées une seule fois, simplifiant considérablement le travail requis pour la maintenance et l'optimisation du code en évolution.

Construire un meilleur trope de souris

Le fait de déplacer une application iPad sur un Mac à l'aide de Catalyst implique de cocher une case cible de plate-forme dans Xcode qui compile le code pour le Mac. Le travail effectué dans les coulisses est en grande partie géré par Apple, exploitant son travail de compilation pour générer du code portable dans toutes ses architectures matérielles, et les nouveaux cadres de macOS Catalina conçus pour prendre en charge UIKit en tant que cadre Mac natif.

Apple indique que lorsque les développeurs ajoutent "Mac" comme cible dans leurs projets iPad Xcode, "des fonctionnalités fondamentales de bureau et de fenêtrage Mac sont ajoutées, et que les commandes tactiles sont adaptées au clavier et à la souris. Des éléments d'interface utilisateur personnalisés créés avec votre code apparaissent. Vous pouvez ensuite continuer à implémenter des fonctionnalités dans Xcode avec les API UIKit pour vous assurer que votre application est superbe et qu'elle fonctionne de manière transparente. "

La société a également précisé que Catalyst ajoute automatiquement le support Mac pour les préférences système, la saisie tactile, les menus contextuels pour la modification de texte et la gestion de fichiers. Des modifications spécifiques au système d'exploitation sont également apportées à des fonctionnalités telles que la vue Activité, la vue Divisée, le navigateur de fichiers et la feuille de formulaire. Les développeurs doivent comprendre comment aménager des interfaces cohérentes sur Mac. Apple note que "les conventions iOS telles que le balayage pour supprimer, les commandes de feuille d'action et les commandes au bas de l'écran sont optimisées pour les interactions tactiles sur un périphérique de poche", contrairement aux "conventions macOS telles que les touches dédiées et les raccourcis clavier, les menus." Les commandes et commandes situées en haut de la fenêtre sont optimisées pour les interactions clavier, souris et pavé tactile, ainsi que pour un affichage séparé. "

Catalyst est conçu pour fournir des applications avec des fonctionnalités spécifiques à la plate-forme

Les directives d'interface humaine d'Apple décrivent de nombreuses manières différentes, dans lesquelles les conventions Mac sont fondamentalement différentes de celles d'iOS, notamment la convention de mise en page et les conventions de navigation, qui peuvent être spécifiques au type et à l'objectif de l'application livrée. Les développeurs ont donc plus de travail à faire que simplement cliquer sur un bouton, mais c'est beaucoup moins que de partir de zéro sur Mac ou de transférer une application mobile dans un service Web générique accessible via un navigateur.

Une partie du travail que feront les développeurs pour personnaliser leurs applications iPad pour Mac les aidera également à créer de meilleures applications iPad qui tirent pleinement parti de l'environnement plus sophistiqué offert par iPadOS. Cela inclut la prise en charge d'une zone de travail plus grande permettant plusieurs applications simultanées à l'aide de la vue fractionnée, du survol et de l'image dans l'image, avec des interactions glisser-déposer entre elles. Apple recommande également aux développeurs d’ajouter une prise en charge des raccourcis clavier attendus par les utilisateurs de Mac et une amélioration pour les utilisateurs d’iPad qui choisissent d’utiliser un clavier.

ARM et un lag?

Catalyst ne se positionne toutefois pas comme l'avenir singulier de la création de toutes les applications Mac. Les développeurs AppKit actuels n'ont plus à craindre d'être obsolètes dans un avenir rapproché. En fait, Apple continue d’améliorer AppKit avec diverses fonctionnalités, notamment la nouvelle SwiftUI. Au lieu de cela, Catalyst vise simplement à permettre au monde plus vaste des développeurs UIKit iOS d’apporter leur travail sur Mac sans apprendre la plupart des API uniques qui ont été utilisées par le passé pour créer un logiciel Mac.

C'est essentiel pour les petites équipes travaillant sur un projet iOS qui ne peuvent pas vraiment justifier l'écriture d'une version Mac de leur application à partir de zéro. Il est également important pour les développeurs internes à l'entreprise de créer une série d'applications personnalisées pour iPad et de rechercher un moyen efficace de mettre ces produits à la disposition des utilisateurs de Mac. En général, la stratégie Catalyst d’Apple promet de rendre les développeurs plus productifs de manière à créer un spectre plus large de logiciels plus cohérents sur toutes les plateformes d’Apple.

Catalyst n'est pas une "émulation" qui impliquerait d'exécuter du code ARM sur un CPU Mac prétendant être une puce iPad. De plus, ce n'est pas une étape nécessaire pour qu'Apple fournisse à l'avenir des Mac basés sur ARM. En fait, c'est un peu l'inverse, car cela permet de compiler le code UIKit pour qu'il soit exécuté de manière native sur les processeurs Intel du Mac.

Il ne s’applique pas non plus au concept universel de «machines virtuelles Java ou Android» «écrivez une fois, exécutez n’importe où», qui héberge le bytecode traduit sur une machine virtuelle sur différents matériels. Les applications Mac Catalyst sont en code natif; il est simplement développé avec un ensemble d'outils différent, plus familier aux programmeurs expérimentés qui travaillent sur des projets iOS.

Un malentendu fondamental

Écrit pour Tendances numériquesTyler Lacoma a écrit: "L'objectif de Catalyst est de rendre les applications sur les deux systèmes d'exploitation universelles, ce qui signifie que les applications Mac pourront également passer à iOS." Il a également suggéré que cela fasse partie des projets de "fusion officielle de l'iPadOS et du MacOS à un moment donné", mais aucune de ces idées n'est exacte.

Owen Williams a mis en place une approche beaucoup plus étrange Moyen Catalyst avait imaginé les efforts déployés par Apple pour détruire Electron, un outil multiplate-forme permettant de créer des applications Web qui semblaient avoir une apparence native sur diverses plates-formes. Il a décrit cyniquement le Catalyst d’Apple comme une "grêle Mary conçue pour ramener les développeurs sur la plate-forme de la société", utilisant des paragraphes de langage dramatique qui tentaient désespérément de décrire la société de technologie la plus prospère de la planète comme un dinosaure épaté qui crachait son dernier halète à la pertinence tandis que les acteurs vraiment importants dans le monde, comme Spotify et Slack, se tournent vers les applications Web.

Il s'est moqué des partenaires Apple qui ont démontré sur scène à la WWDC utilisant Catalyst pour proposer leurs applications iPad sur Mac comme étant "un jeu de course dont personne n'a entendu parler, et une poignée d'autres produits oubliables", tout en se demandant tout haut pourquoi "de grands noms comme Netflix ou Amazon Prime Video "n’était pas là, sans même mentionner Twitter.

Williams a également cité ce qu'il a appelé "un meilleur exemple de cette idée" dans les efforts de Google pour intégrer les applications Android sur les Chromebooks. L’article au complet était semé de mépris et de dérision, mais il ne comprenait pas l’intérêt de Catalyst.

Catalyst n'est pas un stratagème pour obtenir des services Web afin de créer des applications Mac natives. Il s'agit simplement d'un moyen de tirer parti du fait qu'il existe une multitude d'applications iPad natives, motivées par le fait qu'environ 400 millions d'iPad sont utilisés. Il n’ya "que" 100 millions de Mac dans la base installée active et, de manière proportionnelle, moins de développeurs maîtrisant parfaitement le logiciel AppKit Mac.

Le développement de l'iPad est renforcé par le fait qu'il y a même beaucoup plus d'iPhones en cours d'utilisation. La possibilité de tirer parti de la base existante de développeurs expérimentés dans le codage UIKit pour produire rapidement de nouveaux titres Mac sera considérable. L’été dernier, Upwork a cité UIKIt comme l’une des vingt compétences les plus dynamiques parmi les pigistes.

Catalyst apportera des jeux iPad sur Mac avec des graphismes Metal natifs

Les jeux sont un domaine en particulier où les titres iPad existants peuvent faire sensation sur le Mac. Apple a souligné le travail de Gameloft pour amener son jeu de course populaire Asphalt 9 sur Mac à l'aide de Catalyst, affirmant que l'équipe avait été en mesure de faire la transition initiale en un jour. Étant donné que les jeux pour iPad modernes appellent Metal pour dessiner leurs graphiques, Catalyst peut exploiter Metal sur Mac pour restituer des graphiques agrandis à l'aide de leurs GPU plus puissants.

Williams s'est moqué d'un jeu dont il n'était pas au courant, mais le jeu sur iOS est énorme, car iOS lui-même est énorme. Faire en sorte qu'il soit très facile de porter la vaste bibliothèque de jeux pour iPad sur Mac deviendra un véritable succès.