Swift Playgrounds a commencé comme une petite app éducative pour apprendre à coder en Swift, mais Apple l’a enrichie au fil des années et depuis la version 4, elle permet à elle seule de créer des apps pour l’iPhone et l’iPad. Sans jamais utiliser de Mac, elle permet de coder des apps en Swift et SwiftUI et de les soumettre à l’App Store. Nous en avions profité pour écrire une série avec un exemple simple, mais au moins un développeur a exploité cette option et il est allé jusqu’au bout du processus.
Créez une app avec Swift Playgrounds, notre série pour le Club iGen est complète 🆕
ToDon’t n’est pas l’app la plus impressionnante de l’App Store pour sûr, mais ce gestionnaire de tâches qui propose par défaut des dizaines de tâches à ne pas faire a malgré tout été développée exclusivement sur un iPad. Elle fonctionne sur les iPhone comme les tablettes d’Apple et elle permet bien d’ajouter des tâches saisies par l’utilisateur comme des tâches à ne pas faire suggérées par le développeur. Quand on coche tout, elle affiche même une animation qui ressemble à une explosion d’emojis.
Elle est très simple et il lui manque de multiples fonctions attendues pour une app de cette catégorie, comme les notifications ou même la synchronisation. C’est en partie parce que cette app est avant tout un exercice de son développeur, qui voulait tester jusqu’où il pouvait aller avec Swift Playgrounds, et en partie aussi à cause des limites actuelles de l’outil. Le développeur a publié un article de blog avec le détail des avantages et aussi des défauts de l’app.
S’il n’y a pas de synchronisation, c’est parce qu’il n’est pas possible d’utiliser CloudKit, le framework d’Apple qui permet à une app de synchroniser des données facilement et gratuitement. C’est un problème connu et lié à SwiftUI, mais pour l’heure il faut faire sans. Parmi les fonctions qui manquent encore, notons les widgets qui ont été mis en avant depuis iOS 14 et qui ne peuvent pas être créés dans Swift Playgrounds, alors même qu’ils sont écrits en SwiftUI.
Il faut aussi faire avec d’autres limites, comme un test plus compliqué des achats in-app. Rien n’est prévu dans Swift Playgrounds, il faut passer par TestFlight, ce qui ralentit le processus. À ce sujet, il est aussi impossible de tester l’app sur un iPhone sans passer par TestFlight, ce qui veut dire que l’on peut passer à côté de bugs spécifiques. Ce développeur explique ainsi qu’il a réalisé tardivement que l’animation affichée quand la liste de tâches est complète n’était pas fluide sur les anciens iPhone.
Du côté du développement, cet utilisateur habitué à Xcode regrette l’absence de tout outil de suivi de version comme Git. Cela reste possible, mais il faut passer par une app tierce comme Working Copy, alors qu’Apple intègre tout le nécessaire dans son outil de développement dédié à macOS. Les outils de debug sont également trop limités et le développeur regrette quelques défauts et limitations de l’app. Cela dit, tout n’est pas noir, puisque Swift Playgrounds apporte plusieurs avantages.
You might think, oh, well, we’re done. All that’s left is writing the actual fun “Don’t”s to add to ToDon’t
— Matt Waller (@wattmaller1) December 21, 2021
But now, we CELEBRATE every time your list is done w/ the help of this package: https://t.co/VkCtyDI2yf
I created 4 different celebration screens chosen at random.
15/n pic.twitter.com/Os3V3hIEut
En particulier, l’aperçu affiché sur le côté est mis à jour quasiment en temps réel et il est bien plus réactif que sur un Mac, l’avantage de tourner directement sur la plateforme cible. Swift Playgrounds est le candidat idéal selon ce développeur pour créer des prototypes fonctionnels avant de compléter le projet dans Xcode. Mais l’app est aussi parfaite pour publier sur l’App Store, il y a très peu d’étapes et Apple se charge de tout.
Certes, Swift Playgrounds n’est pas Xcode pour l’iPad… comme son nom le souligne bien, note ce développeur. Néanmoins, cette app peut permettre de développer entièrement une app et surtout de la publier sur l’App Store, la preuve. Si Apple continue de la mettre à jour régulièrement, ses capacités devraient continuer d’augmenter et cela promet !
Source : 9to5 Mac