- XTool est un outil de développement multiplateforme capable de remplacer les fonctionnalités de Xcode sur plusieurs systèmes d’exploitation
- Grâce à SwiftPM, il permet de compiler et déployer des apps iOS sur Linux, Windows et macOS
- Les développeurs peuvent interagir de manière programmatique avec les Apple Developer Services
- Il fournit des sous-commandes en CLI pour la gestion des appareils, l’installation, l’exécution d’apps, etc.
- La bibliothèque XKit permet d’utiliser directement ces fonctionnalités depuis l’intérieur d’une app
Présentation du projet XTool
- XTool est un outil de développement multiplateforme offrant des fonctionnalités similaires à Xcode, et fonctionne sur Linux, WSL et macOS
- Contrairement à Xcode, il permet aussi sous Windows et Linux de compiler des paquets SwiftPM en apps iOS, puis de les signer et installer sur de vrais appareils
- Les développeurs peuvent s’intégrer programmatiquement aux Apple Developer Services et mettre en place un environnement de développement iOS même sans macOS
Fonctionnalités principales
- Prise en charge de la compilation de paquets SwiftPM et de leur conversion en apps iOS
- Possibilité de signer (Sign) et installer (Install) des apps iOS
- Intégration avec les Apple Developer Services : fournit des fonctions d’authentification et d’accès aux services
Exemples d’utilisation représentatifs
Interface en ligne de commande
xtool fournit diverses fonctionnalités via plusieurs sous-commandes liées au développement, aux appareils et à la configuration
setup : configuration de l’environnement de développement iOS
auth : gestion de l’authentification développeur Apple
sdk : gestion du Darwin Swift SDK
new : création d’un nouveau projet SwiftPM
dev : compilation et exécution du projet
ds : interaction avec les Apple Developer Services
devices : consultation de la liste des appareils
install : installation d’un fichier ipa sur un appareil
uninstall : suppression d’une app
launch : lancement d’une app installée sur l’appareil
Utilisation de la bibliothèque XTool (KIT)
- En ajoutant la bibliothèque XKit comme dépendance SwiftPM, il devient possible d’appeler directement depuis l’app en cours de développement des fonctions comme le contrôle des Apple Developer Services ou des appareils iOS
- Les développeurs Swift peuvent l’intégrer facilement au projet via les déclarations
.package() et .product()
Résumé des avantages
- Permet le développement et le déploiement d’apps iOS sur diverses plateformes, notamment Linux et Windows, et pas seulement macOS
- Compatible avec divers outils de développement comme VSCode
- Repose sur des standards ouverts et prend en charge des flux de développement génériques et automatisés
- Offre une forte valeur comme alternative lorsque l’utilisation de Xcode est impossible
1 commentaires
Avis Hacker News
Cet outil parle de « remplacement de Xcode » et de « développement sans Xcode », mais je pense qu’il est impossible de construire une app sans Xcode. En cherchant davantage comment ils remplacent les bibliothèques, le compilateur et autres éléments, ce n’est en réalité pas le cas. Ils disent : « Le système de build Xcode n’est pas utilisé, mais l’installation de Xcode reste nécessaire pour le SDK iOS et la toolchain. » Je pense qu’ils devraient clarifier davantage leur message. Ce n’est pas un remplaçant ni une alternative complète, mais une couche ajoutée au système existant pour offrir une meilleure expérience
JetBrains avait autrefois développé AppCode. AppCode était un IDE intelligent pour le développement iOS/macOS, mais il n’est plus proposé comme produit commercial depuis le 14 décembre 2022
/dev/nullAvis faisant référence à https://forums.swift.org/t/… ainsi qu’au fil de discussion HN https://news.ycombinator.com/item?id=43952239
Je me demande si, en théorie, cet outil permettrait aux développeurs d’apps Flutter de construire et de déployer des apps iOS depuis Linux. J’aimerais vraiment que ce soit le cas
xcode, c’est cet outil qu’il faut télécharger pendant 9 heures tous les quelques mois, et qui modifie frénétiquement des fichiers XML et plist. Oui, ce Xcode-là
Cela fait penser à Sweetpad. L’installation de Sweetpad est un peu fastidieuse. XTool semble offrir une meilleure expérience développeur (DX). J’espère que ce projet va continuer à se développer
Il y a déjà eu des discussions sur le sujet « construire des apps iOS sur Linux et Windows ». Voir https://news.ycombinator.com/item?id=43952239
J’ai remarqué que le nom de l’organisation GitHub est « xtool-org ». Je me demande si l’entreprise XTool (fabricant de graveurs laser et de technologies de loisirs créatifs) n’y verra pas un problème
Ce serait formidable s’il existait aussi un outil similaire, séparé de Xcode, avec une fonctionnalité d’aperçu en temps réel pour les interfaces basées sur Swift UI
Il y a une icône vscode dans la capture d’écran ?