Ouvrir le menu principal

MacGeneration

Recherche

Ce que la création d’apps Swift Playgrounds nous apprend du futur de Xcode

Florent Morin

vendredi 12 novembre 2021 à 13:15 • 34

Logiciels

Il y a quelques semaines sortait la version bêta de Xcode 13.2. Avec elle arrivait un aperçu de ce que pourra réaliser le très attendu Swift Playgrounds 4 dont la principale nouveauté est la conception d’apps destinées à l’App Store. En explorant ce nouveau format de projet Xcode, nous avons un aperçu de ce que pourrait être le futur de l’outil phare des développeurs Apple.

Il est maintenant possible de concevoir un projet d'app Swift Playgrounds depuis Xcode

Initialement, Swift Playgrounds était un outil pour découvrir le développement de manière ludique. Puis, d’année en année, l’outil s’est enrichi en intégrant la possibilité de faire appel à des frameworks externes notamment. En parallèle, Xcode s’est allégé. Depuis la version 9, le fichier de projet s’appuie sur la structure des répertoires pour organiser le code source. Depuis Xcode 11, Swift Package Manager fait partie intégrante de l’outil.

Aujourd’hui, il est tout à fait possible de gérer ses dépendances internes et externes via Swift Package Manager qui s’avère léger et performant. Le tout fonctionne de mieux en mieux avec git, le gestionnaire de versions de code source le plus utilisé. À l'heure actuelle, le seul poids du développeur Apple reste donc le fameux fichier xcodeproj qui gère toute l’organisation des projets iOS / macOS.

Un projet d'app Playgrounds ressemble fortement à un projet d'app Xcode

Et c’est donc là que les choses deviennent intéressantes. Un projet d’app Playgrounds n’est qu’un répertoire utilisant l’extension swiftpm (Pour « Swift Package Manager ») et contenant un fichier Package.swift décrivant le package ainsi que le code source de l’app et les ressources associées. En gros, ce n’est qu’un package Swift.

Le contenu du fichier Package.swift

Ce qui est encore plus intéressant est d’explorer le format du fichier Package.swift. Il fait appel à un framework interne, AppleProductTypes, qui va étendre les propriétés du package Swift. Il va ainsi lui apporter un nouveau type de produit issu de la compilation : iOSApplication. Et à l’intérieur se trouve toute la configuration du projet à compiler. C’est une version allégée des propriétés d’un fichier xcodeproj.

Il suffirait probablement d’augmenter les capacités de ce framework pour pouvoir concevoir une application iOS telle que celles réalisées aujourd’hui. Cela s’applique également aux applications macOS, watchOS et tvOS qui pourraient s’appuyer sur un modèle identique à celui de iOSApplication. Swift Package Manager supporte également les codes sources en Objective-C, Objective-C++, C et C++ : même des projets un peu particuliers pourraient donc totalement fonctionner sur ce modèle.

Cela signifie-t-il que Swift Playgrounds et Xcode fusionneront à terme en un seul et même outil décliné sur iPad et Mac ? L’avenir nous le dira. En tout cas, les évolutions actuelles sont très prometteuses.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

John Giannandrea, responsable de l'IA, va quitter Apple et être remplacé par un spécialiste issu de chez Microsoft

01/12/2025 à 23:47

• 21


SMIC, un fondeur chinois, annonce l'arrivée de puces en 5 nm

01/12/2025 à 22:15

• 11


Black Friday : le MacBook Air M4 dévisse à 819 €, le 15" à 1 089 € !

01/12/2025 à 19:44

• 26


Black Friday : les offres les plus populaires

01/12/2025 à 19:08

• 18


Une extension Finder pour compresser en RAR grâce à la version Mac de WinRAR

01/12/2025 à 15:50

• 13


Vous avez un Mac ? L'offre CyberGhost à −83 % + 4 mois offerts s'envole pour le Cyber Monday 📍

01/12/2025 à 15:15

• 0


App Canal+ sur Apple TV : notre aperçu du tout nouveau lecteur vidéo en préparation, qui inclut le Picture in picture

01/12/2025 à 15:08

• 29


Black Friday : l’iPad Air M3 à partir de 500,5 € au lieu de 669, du jamais vu 🆕

01/12/2025 à 14:27

• 43


Un Raspberry Pi 5 avec 1 Go de RAM et de fortes hausses pour les autres versions pour contrer le prix de la RAM

01/12/2025 à 12:10

• 16


Cyber Monday : 75 % de moins sur l’année de CrossOver, pour jouer aux jeux Windows sur son Mac

01/12/2025 à 11:53

• 17


Protection totale pour votre Mac : antivirus + firewall + sauvegarde pour 29,99 €

01/12/2025 à 10:20

• 0


Freebox Ultra : un replay de « courte durée » ajouté pour la chaîne Canal+

01/12/2025 à 10:03

• 4


Flocons, guirlande : Snowy apporte la magie de Noël sur votre bureau 🆕

01/12/2025 à 08:15

• 17


Fin de Windows 10 : Dell ne s’attend pas à un boom des ventes de PC

01/12/2025 à 08:00

• 21


ChatGPT se prépare à afficher des pubs pour financer ses milliards de dépenses

01/12/2025 à 07:00

• 58


Carte Vitale numérique : déjà 2,1 millions d’assurés, mais l’activation prend du retard

01/12/2025 à 06:36

• 42