Quelles sont les bibliothèques open-source que tout développeur iOS devrait connaître ? Nous pouvons créer un wiki de réponses avec cet effort.


Voici 10 bibliothèques que nous pensons que chaque développeur iOS devrait connaître !

1. Alamofire


Lorsque vous voulez faire abstraction et simplifier la mise en réseau dans votre application, Alamofire est la voie à suivre. Alamofire est une bibliothèque de mise en réseau HTTP, construite au-dessus de NSURLSession et du système de chargement d'URL Foundation. Elle enveloppe joliment les mécanismes de mise en réseau dans une interface Swift élégante et simple.

2. SwiftyJSON

Les types explicites en Swift nous assurent de ne pas'faire d'erreurs dans notre code et de ne pas causer de bugs à cause d'eux. Mais parfois, il est plutôt pénible de s'en occuper, surtout lorsqu'on travaille avec JSON. Heureusement, SwiftyJSON est là pour nous aider à traiter les données JSON en Swift d'une manière plus lisible. Le déballage optionnel est également géré automatiquement pour vous !

SwiftyJSON joue également très bien avec Alamofire.

3. ObjectMapper

Si vous'avez déjà écrit une application qui télécharge des informations via une API, vous'avez probablement passé beaucoup de temps à écrire un code pour mapper une réponse à vos objets. ObjectMapper vous aide à convertir une réponse JSON en votre objet modèle, et vice versa. En d'autres termes, il vous aide à convertir JSON en objets, et les objets en JSON. Les objets imbriqués sont également pris en charge.

Il'est également intéressant de mentionner AlamofireObjectMapper, une extension Alamofire qui convertit les données de réponse JSON en objets Swift lors de l'utilisation d'ObjectMapper.

4. Quick

Quick est un cadre de développement orienté comportement pour Swift, inspiré deRSpec, Specta et Ginkgo. Quick est livré avec Nimble, qui est un framework de matcher pour vos tests.

5. Eureka

Eureka vous aide à écrire des formulaires dynamiques de type table-view d'une manière simple et élégante. Il se compose de lignes, de sections et de formulaires. Si votre application contient beaucoup de formulaires, Eureka s'avère être un véritable gain de temps.

6. RxSwift

RxSwift est un framework Swift pour la programmation fonctionnelle réactive. Pour être plus précis, RxSwift est une version Swift de Rx et son objectif est de permettre la composition facile d'opérations asynchrones et de flux d'événements/données. L'observation de KVO, les opérations asynchrones et les délégués sont tous unifiés sous l'abstraction de la séquence, ce qui fait de RxSwift un cadre si puissant. Si vous'avez déjà travaillé avec ReactiveCocoa, vous êtes familier avec le concept.

7. SnapKit

SnapKit est une bibliothèque de mise en page automatique qui simplifie l'écriture de la mise en page automatique dans le code avec une quantité minimale de code nécessaire sans perdre la lisibilité. Il est type safe par conception pour vous aider à éviter les erreurs de programmation lors du codage de votre interface utilisateur.

8. Spring

Spring est une bibliothèque d'animation qui vous aide à créer des animations à la fois dans le code ou directement dans Storyboard. Vous pouvez créer des animations dans Storyboard en utilisant des attributs d'exécution (définis par les propriétés IBInspectable). Spring est devenu une bibliothèque d'animation entièrement développée qui prend en charge un assez grand nombre d'animations, de transitions et de propriétés déjà écrites.

9. Kingfisher

Kingfisher est une bibliothèque légère pour le téléchargement et la mise en cache d'images sur le web. Le téléchargement et la mise en cache se font de manière asynchrone. Les images téléchargées sont mises en cache à la fois en mémoire et sur le disque, ce qui pourrait améliorer considérablement l'expérience de votre application.

10. CoreStore

CoreStore est une bibliothèque wrapper pour Core Data. Son objectif est de fournir la sécurité de type et l'élégance de Swift lors de l'interaction avec Core Data. L'API de CoreStore's fournit toutes les méthodes courantes pour interagir efficacement avec votre base de données.

.