- XTool es una herramienta de desarrollo multiplataforma que puede reemplazar funciones de Xcode en varios sistemas operativos
- Aprovecha SwiftPM para permitir la compilación y distribución de apps iOS en Linux, Windows y macOS
- Los desarrolladores pueden integrarse de forma programática con Apple Developer Services
- Ofrece subcomandos basados en CLI para gestión de dispositivos, instalación, ejecución de apps y más
- Con la librería XKit es posible usar directamente sus funciones dentro de la app
Introducción al proyecto XTool
- XTool es una herramienta de desarrollo multiplataforma que ofrece funciones similares a Xcode y funciona en Linux, WSL y macOS
- A diferencia de Xcode tradicional, también permite en Windows y Linux compilar paquetes SwiftPM como apps iOS y firmarlas e instalarlas en dispositivos reales
- Los desarrolladores pueden lograr integración programática con Apple Developer Services y construir un entorno de desarrollo iOS incluso sin macOS
Funciones principales
- Soporte para compilar paquetes SwiftPM y convertirlos en apps iOS
- Posibilidad de firmar (Sign) e instalar (Install) apps iOS
- Integración con Apple Developer Services: ofrece funciones de autenticación y uso de servicios
Ejemplos de uso representativos
Interfaz de línea de comandos
xtool ofrece funciones de desarrollo, dispositivos, configuración y más mediante diversos subcomandos
setup: configurar el entorno de desarrollo iOS
auth: gestionar la autenticación de desarrollador de Apple
sdk: gestionar el Darwin Swift SDK
new: crear un nuevo proyecto SwiftPM
dev: compilar y ejecutar el proyecto
ds: interactuar con Apple Developer Services
devices: ver la lista de dispositivos
install: instalar un archivo ipa en el dispositivo
uninstall: eliminar la app
launch: ejecutar una app instalada en el dispositivo
Uso de la librería XTool (KIT)
- Al registrar la librería XKit como dependencia de SwiftPM, es posible invocar directamente desde la app en desarrollo funciones como Apple Developer Services y el control de dispositivos iOS
- Los desarrolladores Swift pueden integrarla fácilmente al proyecto solo con declaraciones
.package() y .product()
Resumen de ventajas
- Permite desarrollar y distribuir apps iOS en múltiples plataformas, no solo macOS sino también Linux y Windows
- Posibilita la integración con diversas herramientas de desarrollo como VSCode
- Está basado en estándares abiertos y soporta flujos de desarrollo genéricos y automatizados
- Tiene alto valor como alternativa cuando no es posible usar Xcode
1 comentarios
Opiniones de Hacker News
Esta herramienta dice "reemplazo de Xcode" y "desarrollo sin Xcode", pero yo pensaba que era imposible compilar una app sin Xcode. Al investigar más sobre cómo reemplaza cosas como las librerías o el compilador, resulta que en realidad no es así. Dice que "no usa el sistema de compilación de Xcode, pero la instalación de Xcode sigue siendo necesaria para el SDK de iOS y la toolchain". Creo que deberían hacer su mensaje más claro. Esto no es un reemplazo ni una alternativa completa, sino una capa montada sobre el sistema existente que busca una mejor experiencia
JetBrains desarrolló AppCode en el pasado. AppCode era un IDE inteligente para desarrollo iOS/macOS, pero dejó de ofrecerse como producto comercial desde el 14 de diciembre de 2022
Opinión con referencia a https://forums.swift.org/t/… y al hilo de HN https://news.ycombinator.com/item?id=43952239
Me pregunto si, en teoría, esta herramienta permitiría que un desarrollador de Flutter compile y publique apps de iOS desde Linux. Ojalá de verdad fuera así
xcode es esa herramienta que cada pocos meses hay que descargar durante 9 horas y que se pone a editar archivos XML y plist por todos lados. Ese xcode
Me recuerda a Sweetpad. El proceso de instalación de Sweetpad es algo engorroso. XTool parece ofrecer una mejor experiencia de desarrollo (DX). Ojalá este proyecto siga creciendo
Antes ya se había hablado de "compilar apps de iOS en Linux y Windows". Ver https://news.ycombinator.com/item?id=43952239
Vi que el nombre de la organización en Github es "xtool-org". Me pregunto si la empresa XTool (fabricante de grabadoras láser y tecnología para manualidades) no les va a reclamar por eso
Estaría genial que también hubiera una herramienta similar, separada de XCode, con vista previa en tiempo real para interfaces basadas en Swift UI
¿Hay un ícono de vscode en la captura?