Suitcase crée des petites apps en SwiftUI à partir du terminal de macOS

Nicolas Furno |

Suitcase est un nouvel utilitaire pour macOS qui repose sur une drôle d’idée. Il s’utilise uniquement en ligne de commande dans le terminal, mais il sert à générer des interfaces en SwiftUI qui peuvent servir par la suite comme des apps. L’objectif de son créateur est d’offrir une solution pour ajouter une interface à un script, un petit peu comme le fait Pashua pour AppleScript, mais à l’ère de SwiftUI.

Un exemple « Hello world » en action : le code saisi dans le terminal à gauche génère la petite fenêtre à droite.

L’idée est bonne, le choix de faire un outil exclusivement disponible en ligne de commande l’est un petit peu moins à mon avis. Pour obtenir l’exemple de la capture d’écran, voici tout ce qu’il faut taper dans un terminal :

Suitcase --name="Demo App" --window-title="Hello World" \
  --window-width="200" --window-height="200" \
  --control-type="label" --control-title="Give a face to every voice…" \
  --control-type="button" \
  --control-title="🗣Dis bonjour" \
  --control-action="/usr/bin/say Bonjour le monde"

Chaque paramètre doit être saisi à la suite, et même en passant à la ligne avec \, ce n’est pas très pratique. Malgré tout, Suitcase pourrait avoir un intérêt, surtout quand on sait que l’on peut créer des fichiers avec l’extension ‌.command qui peuvent ensuite être exécutés sans avoir à tout saisir dans un terminal. On retrouve alors plus l’idée de créer une app native sans connaissance en développement, même si les possibilités en matière d’interface sont très limitées.

À ce stade, Suitcase est une idée intrigante qui mérite encore beaucoup de travail pour devenir vraiment utile. Si elle vous intéresse, vous pouvez la tester en téléchargeant l’app à cette adresse (choisissez le dernier fichier DMG proposé). Son code source sera publié ultérieurement, mais il n’est pas encore disponible, même si le projet est disponible sur GitHub.

SwiftUI oblige, Suitcase nécessite macOS Catalina pour fonctionner.

Accédez aux commentaires de l'article