- Blogue
Swift 6 et Apple Intelligence : l’impact des nouveautés Apple pour les développeur·euses
3 juillet — 2024
Dans un monde où chaque nouveauté semble redéfinir les limites de ce qui est possible, Apple a su maintenir un cap innovant, mais toutefois discret. Cette année au WWDC, avec le déploiement de Swift 6 et l'introduction de l'Apple Intelligence, Apple marque une fois de plus son territoire dans l'univers de la programmation et entame son premier grand pas en intelligence artificielle.
Comment les développeur·euses peuvent tirer parti d'Apple Intelligence ?
L'intelligence artificielle (IA) est sur toutes les lèvres. Les organisations se bousculent pour lancer la dernière innovation en la matière. Au travers de toute cette frénésie, une entreprise a choisi de rester dans l’ombre : Apple. Du moins, à première vue.
En réalité, Apple a opté pour une discrétion totale concernant ses projets en cours. L'entreprise dispose d'un blogue entier dédié à la recherche en apprentissage automatique. Néanmoins, le projet qui retient particulièrement l'attention est le dévoilement d'OpenELM en avril, qui promet des modèles de langages d'une grande efficacité. De plus, la révélation faite par Apple lors de la WWDC vient renforcer cette vision de l'avenir de l'intelligence artificielle au sein de son écosystème, sous le nom évocateur d'Apple Intelligence. Sans vous dévoiler tous les détails ici, nous vous invitons à consulter notre précédent article sur le sujet.
Alors, en tant que développeur·euses, comment pouvons-nous tirer parti d'Apple Intelligence ?
Il est important de souligner d'emblée que l'apprentissage machine (machine learning) constitue la pierre angulaire de bon nombre de fonctionnalités, souvent à notre insu. Et ce qu'Apple nous offre, c'est l'accès à ces cadres (framework) et outils pour améliorer nos propres applications. C'est aussi une déclaration éloquente de ne pas désigner cette technologie par "Intelligence Artificielle", parce qu'en vérité, elle ne l'est pas. Ce que nous appelons communément IA est essentiellement l'apprentissage machine : des technologies et modèles hautement spécialisés, entraînés pour exécuter des tâches spécifiques. Désormais, cette technologie existe localement, à portée de main, dans chacun de nos appareils estampillés de la célèbre pomme.
1. Writing Tools et Image Playground
Pour tirer profit des fonctionnalités d’IA génératives du système.
La façon la plus simple et clé-en-main d’intégrer Apple Intelligence dans son application réside dans deux nouvelles fonctionnalités système : Writing Tools et Image Playground. Writing Tools met à disposition des outils linguistiques pour n'importe quel champ de saisie de texte standard, afin de faciliter l'écriture. Image Playground, quant à lui, permettra aux utilisateur·rices de facilement générer une image, comme une photo de profil par exemple. Cependant, intégrer cette capacité directement dans une application afin que les utilisateurs puissent créer leurs propres images risque de nécessiter davantage d’efforts de développement. Ces fonctionnalités représentent toutefois la porte d’entrée la plus simple et directe pour tirer parti d'Apple Intelligence.
2. App Intents
Pour fournir davantage de contexte sur votre application et ses logiques d’affaire.
Si votre application emploie déjà App Intents, l'intégration est immédiate. Siri se voit alors doté de la capacité d'interagir avec l'application pour accomplir des actions au nom de l'utilisateur. Divers frameworks sont déjà en place pour faciliter des opérations telles que le traitement du langage naturel, la transcription de la parole en texte et l'analyse de sons, sans oublier le framework Vision. Ce dernier se spécialise dans l'intelligence visuelle, offrant des fonctionnalités comme l'extraction de texte, la détection de visages, la reconnaissance de poses corporelles et, nouveauté de cette année, la détection de la pose des mains. Par ailleurs, un cadre dédié à la traduction linguistique fait son apparition, simplifiant la traduction d'une langue à une autre.
3. CreateML
Pour entraîner et exécuter son propre modèle en local sur les appareils Apple compatibles.
Adressé aux professionnel·les du Machine Learning, CreateML offre la possibilité de personnaliser chaque framework d'Apple en formant un modèle avec des données plus adaptées à leurs besoins. Additionnement, il est possible d’exécuter son propre modèle spécifiquement adapté à ses besoins comme Stable Diffusion, Mistral ou OpenELM. Grâce aux outils Core ML et à des bibliothèques d'entraînement telles que PyTorch, il est possible d'entraîner, de créer et de convertir efficacement un modèle Core ML pour une intégration directe. Cela permet aux modèles de fonctionner avec une accélération matérielle et entièrement en local.
Alors que nous explorons les possibilités offertes par Apple Intelligence, nous sommes également témoins de l'évolution continue du rôle du développeur logiciel. Notre curiosité et notre ouverture à accueillir l'innovation sont essentielles pour nous aider à travailler plus intelligemment. Les deux dernières années ont été riches en nouveautés, pour accueillir l'IA dans les produits que nous développons mais également pour améliorer nos méthodes de travail. Avec Swift, Apple continue de nous accompagner dans cette démarche, en nous offrant de nouvelles possibilités pour améliorer autant les produits que nous développons que notre façon de travailler.
Dixième anniversaire de Swift
Swift, le langage de programmation d'Apple, célèbre son 10e anniversaire! En une décennie, Swift a démontré sa flexibilité en passant du développement d'applications mobiles à une utilisation dans divers domaines, tels que les frameworks, les firmware, les services réseaux, les kernels et les systèmes embarqués.
Aujourd'hui, Swift est disponible sur une variété de distributions Linux et Windows, ouvrant une fois de plus de nouvelles portes pour les développeur·euses. Cette expansion a nécessité un effort considérable, notamment avec une seule implémentation de Foundation, réécrite en Swift, qui est désormais utilisée sur toutes les plateformes supportées. Apple affirme que l'adoption de Swift améliore la qualité de ses logiciels et continue de l'adopter dans ses produits, grâce à son interopérabilité avec les langages C, C++ et Objective-C, permettant une transition fluide et une adoption progressive.
Lancement de Swift 6
Swift 6 sera lancé plus tard cette année, marquant une nouvelle étape dans l'évolution du langage. La fonctionnalité clé de cette version est le "data-race safety", qui permet au compilateur Swift de détecter les situations de compétition à l'accès de données mutables et de les traiter comme des erreurs de compilation. Cette avancée majeure améliore la sécurité des programmes concurrents, une priorité pour les développeurs travaillant sur des systèmes parallèles et distribués.
Les situations de compétition sont un type d'erreurs de programmation courantes dans les systèmes concurrents. Ces erreurs sont souvent subtiles, difficiles à reproduire et se manifestent en comportements inattendus, ou pire, en crash. Le compilateur Swift peut désormais nous aider à identifier la présence de ces erreurs et nous guider dans leur correction. Cette fonctionnalité est un autre exemple de la façon dont Swift utilise son compilateur pour assurer la sécurité de ses programmes.
Comme cette fonctionnalité aura un impact considérable sur le code existant, la détection d'erreur de "data-race" est offerte par un "Language Mode" spécifique auquel il faut choisir d'adhérer. Cette fonctionnalité n'est pas activée par défaut, permettant une adoption incrémentale en activant ce mode un module à la fois. Heureusement, l'utilisation de Swift 6 ne nécessite pas ce mode; le compilateur ainsi que d'autres nouveautés du langage seront disponibles à tous, peu importe le "Language Mode" sélectionné.
Croissance de l'écosystème Swift
L'écosystème Swift connaît une belle croissance, grâce aux travaux d'Apple et ceux de sa communauté open source. En plus de favoriser la collaboration au sein de la communauté de développement, ça nous offre aussi un précieux aperçu sur la manière dont Apple travaille sur quelques-unes de ses technologies fondamentales.
Comme résultat de cette croissance, Swift déploie ses ailes et déménage vers sa propre organisation GitHub. Ce nouvel espace indépendant d’Apple dédié à Swift va héberger des projets essentiels à l'écosystème, comme le compilateur Swift, Foundation et d'autres bibliothèques clés. Cette migration met la table à une nouvelle ère pour Swift et trace la voie vers un langage encore plus polyvalent et accessible.
« This migration reflects the growth and maturity of the Swift community and highlights Swift’s versatility beyond Apple’s own ecosystems. Over the last decade, many inspiring individuals’ hard and creative work has elevated Swift into various creative and practical applications. With a GitHub organization dedicated to Swift, we are creating an even more conducive environment for collaboration and innovation. This change will allow Swift to expand its reach to more platforms and use cases, sparking fresh possibilities and broadening Swift’s impact across the technology landscape. »
⏤ Ted Kremenek, Directeur, Langages et Runtimes chez Apple et membre de l'équipe principale de Swift.
Avec Swift 6 et Apple Intelligence, Apple propose des nouveautés qui visent à enrichir l’expérience et l'écosystème de développement. Ces innovations offrent aux développeur·euses de nouvelles possibilités pour créer des applications plus sûres et intégrer l'intelligence artificielle de manière intuitive.