À propos du projet
Kickstarter pour iOS est la version open source officielle de l'application iOS native de Kickstarter, partagée par l'entreprise comme ressource pédagogique sur la manière dont son équipe native construit et maintient l'application. Un équivalent Android est également publié en open source séparément.
Pour démarrer, il faut Xcode (le README indique la prise en charge de Xcode 14.3 / Swift 5.8) et cloner le dépôt. Définir `KsApi.Secrets.isOSS` sur `true` fournit une version simulée qui sert immédiatement des données codées en dur, ce qui permet d'explorer l'application sans identifiants de backend réels.
Pratiques d'ingénierie notables décrites dans le README :
- Tests de snapshot : chaque dossier de fonctionnalité dans `Kickstarter-Framework-iOS` contient un répertoire snapshots, totalisant ensemble près de 600 captures d'écran couvrant de nombreuses langues, appareils et états limites, utilisées pour maintenir la stabilité du comportement de l'interface.
- View models : utilisés comme moyen léger d'isoler les effets de bord autour d'un noyau fonctionnel, écrits comme de pures correspondances de signaux d'entrée vers des signaux de sortie, avec des tests approfondis incluant la localisation, l'accessibilité et le suivi d'événements.
Les tests peuvent être exécutés en ligne de commande avec `make test-all`, ou par schéma dans Xcode avec CMD+U. Une documentation supplémentaire se trouve dans le dépôt séparé `native-docs`.
Les dépendances incluent les bibliothèques internes Prelude (types et fonctions manquant à la bibliothèque standard Swift) et ReactiveExtensions (opérateurs ajoutés à ReactiveCocoa, construits sur ReactiveSwift), ainsi que des projets tiers tels qu'AlamofireImage, SnapshotTesting, Apollo, Stripe, Kingfisher, SwiftSoup, Facebook SDK, Firebase, Appboy et PerimeterX. Les mentions tierces figurent dans `NOTICE.md`.
Les contributions sont principalement bienvenues sous forme d'issues GitHub pour les retours et les rapports de bogues, avec pour consigne d'inclure le système d'exploitation, l'appareil, le numéro de version et les étapes de reproduction. Un code de conduite s'applique à tous les participants. Le projet est sous licence Apache License 2.0, Copyright 2021 Kickstarter, PBC.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.