District Core pour Swift
Le noyau Swift que partagent les applications District AI pour iPhone, iPad et Mac : les modèles, le réseau, les données, la logique de connexion et les machines à états des appels qu'elles ont en commun, en un seul paquet Swift de six modules. Il se compile et exécute ses tests sous Linux comme sur les plateformes Apple : presque toute la logique des applications est donc testée sans simulateur, sans réseau et sans compte.
Utilisé par
Six modules, un seul paquet
Un seul noyau pour les applications Apple
Testé sans simulateur
Aucun module n'utilise de cadre d'interface d'Apple : le paquet entier se compile et exécute ses tests sous Linux comme sous macOS. Les tests doivent atteindre chaque ligne de chaque module, sinon l'intégration continue échoue.
Vérifié contre les réponses du service
Le dépôt contient des réponses enregistrées du service District AI, et ses tests décodent puis réencodent chacune d'elles, en échouant sur tout champ que les modèles ne contiennent pas. Les décodeurs eux-mêmes ignorent un nouveau champ : une application installée continue donc de fonctionner quand le service en ajoute un.
Un changement arrive dans une application par une version
Un changement arrive d'abord ici, dans une demande de fusion accompagnée de ses tests. Une publication est une étiquette de version, et chaque application y passe dans une demande de fusion distincte, fixée à cette version exacte.
- Licence
- Apache-2.0
- Construit avec
- Swift, Swift Package Manager
- Utilisé par
- District AI pour iOS et District AI pour Mac
Ce qui est à code source ouvert, et ce qui ne l'est pas
Ce qui est à code source ouvert
Ce paquet, sous licence Apache 2.0 : vous pouvez le lire, le compiler, le modifier et l'utiliser. Les noms, les logos et les icônes d'application District AI et Distronode sont des marques de commerce : une application que vous distribuez avec ce paquet porte donc son propre nom, sa propre icône et son propre identifiant de paquet.
Le paquet ne signale aucun plantage : aucune bibliothèque de signalement des plantages ne figure parmi ses dépendances, dont le seul paquet extérieur est swift-crypto d'Apple.
Ce qui ne l'est pas
Le service District AI avec lequel le paquet communique. La connexion exige un compte District AI; sans compte, vous pouvez quand même compiler le paquet et exécuter tous les tests.
Sans compte chez nous
Aujourd'hui, les applications ont besoin d'un compte District AI pour se connecter. Nous voulons qu'elles fonctionnent aussi sans compte chez nous. Nous n'avons pas encore établi à quoi cela ressemblerait, ni si c'est faisable, et la réponse dépend de ce à quoi les gens voudraient les relier : nous posons donc la question avant de construire quoi que ce soit. La discussion est en anglais, mais vous pouvez y écrire en français.
Participer
Les tickets et les demandes de fusion sont les bienvenus sur GitHub. Signalez une vulnérabilité en privé, comme l'indique la politique de sécurité, et non dans un ticket public.
- Guide de contribution
- CONTRIBUTING.md
- Politique de sécurité
- SECURITY.md
- Journal des modifications
- CHANGELOG.md

