- Swift convient bien à la création d’interfaces utilisateur grâce à sa syntaxe claire, son typage statique et ses fonctionnalités particulières qui facilitent l’écriture de code
- Adwaita for Swift exploite ces atouts de Swift pour offrir une interface intuitive de développement d’applications pour la plateforme GNOME
- GNOME est un environnement de bureau open source populaire pour Linux, axé sur la simplicité et l’accessibilité
Exemple de code
- Dans l’exemple de code utilisant Adwaita for Swift, une vue nommée
Counter est définie pour afficher la partie interface utilisateur à l’intérieur de la fenêtre
- Une vue peut être imbriquée dans d’autres vues ou ajoutée comme enfant d’une fenêtre, et son contenu peut être modifié de l’extérieur selon sa position dans la hiérarchie des vues
- Cela facilite la combinaison de vues pour produire différents résultats
Motivation
- Permettre l’écriture d’applications GNOME en Swift
- Les liaisons existantes pour libadwaita et GTK suivent un style de programmation impératif, où l’interface utilisateur est construite à l’aide d’une série de commandes
- Adwaita for Swift est conçu autour des données : par exemple, si l’on modifie la variable
count en appuyant sur un bouton, l’interface utilisateur se met automatiquement à jour
Facilité d’utilisation
- Avec les liaisons traditionnelles, il faut appeler des fonctions sur les objets pour que les widgets mettent à jour leur contenu à chaque changement de valeur
- Adwaita for Swift s’occupe du reste dès qu’on ajoute simplement un identifiant unique aux variables à conserver
Lisibilité
- L’approche centrée sur les données a un effet positif sur la lisibilité
- Grâce à la définition déclarative de l’interface utilisateur elle-même, on peut se concentrer sur l’apparence et le comportement de l’application plutôt que sur la manière d’obtenir le résultat
Développement d’applications multiplateformes
- Adwaita for Swift permet d’écrire des applications qui s’exécutent sur Linux, macOS et Windows à partir d’une base de code unique
- Il est possible de partager le code Swift backend entre des applications SwiftUI et des applications GNOME
- Swift permet de créer de nouvelles applications GNOME tout en offrant une excellente lisibilité du code et une bonne sûreté mémoire
Publication d’applications
- Adwaita for Swift fonctionne bien avec Flathub, ce qui simplifie l’installation et la publication d’applications pour le bureau Linux
- Il existe une extension Freedesktop SDK pour Swift 5 ainsi qu’un outil qui convertit les dépendances Swift Package Manager en sources Flatpak
Avis de GN⁺
- L’association de Swift et de GNOME offre aux développeurs de nouvelles possibilités de développement d’applications sur une nouvelle plateforme, en particulier grâce à la combinaison des puissantes fonctionnalités du langage Swift et de l’environnement convivial de GNOME, qui permet une expérience de développement efficace.
- Cet article propose une nouvelle approche de l’environnement de bureau Linux et met en avant la facilité de développement et la lisibilité d’un style déclaratif par rapport aux méthodes de développement existantes.
- Il souligne les avantages du développement multiplateforme et met en lumière l’importance de fournir la même expérience utilisateur sur différents systèmes d’exploitation
- Sur le plan technique, le typage statique et la sûreté mémoire de Swift peuvent contribuer à améliorer les performances et la stabilité des applications
- D’un point de vue critique, il faut prendre en compte la possibilité de problèmes de compatibilité ou de performances dans des environnements de bureau autres que GNOME
3 commentaires
https://stuff.mit.edu/afs/athena/…
La prononciation officielle de GNOME n’est pas « nome », mais « gnome ».
C’est excellent.
Avis Hacker News
Discussion autour d’un wrapper similaire à SwiftUI
Mentions d’autres projets et outils
Partage d’une expérience personnelle sur un projet
Comparaison avec une expérience passée
Problème d’exécution sur Mac
adwaita.hmanquant a été rencontré.Avis sur un « framework de rêve » personnel
Question sur le support 3D dans gtk4
Avis sur l’usage de clés dans les paramètres de fonction
Discussion sur les tests d’une base de code Swift
Constat que Swift devient une option intéressante pour le développement desktop