J'aime l'open source, et j'aime encore plus les développeurs qui passent leur précieux temps libre à créer des merveilles. Remerciez-les de partager librement le fruit de leur dur labeur avec tout le monde. Auteurs et contributeurs open source, vous êtes vraiment incroyables, et merci pour toutes vos contributions.

Comme je suis du genre à ne pas pouvoir me reposer sans tout collectionner, j'ai sélectionné ici quelques bibliothèques open source iOS selon mon goût personnel. L'ordre de ces projets est complètement aléatoire, et chacun d'eux est absolument génial. La grande majorité prend en charge CocoaPods, donc les ajouter à votre projet Xcode est un jeu d'enfant.

À la fin de cet article, vous trouverez une version « longue lecture, à aborder avec prudence » — une simple liste ne contenant que des titres et des liens de projets. Si vous trouvez cet article utile, merci de le partager avec d'autres développeurs iOS. Même le meilleur vin a besoin d'une enseigne.

1. DZNEmptyDataSet

DZNEmptyDataSet est une approche iOS assez standard pour gérer les vues de tableau et les vues de collection vides. Par défaut, si votre vue de tableau est vide, l'écran est vide, ce qui n'offre pas une bonne expérience utilisateur.

7916618959919052905

Avec cette bibliothèque, il vous suffit de vous conformer à quelques protocoles, et iOS gérera automatiquement correctement les vues de collection et affichera des messages utilisateur de manière appropriée et attrayante. Chaque projet iOS peut le gérer automatiquement, sans avoir à fournir d'efforts pour chacun.

2. PDTSimpleCalendar

Votre application a-t-elle besoin d'un composant de calendrier simple, beau et fiable ? Il en existe désormais un — PDTSimpleCalendar est sans doute le meilleur composant de calendrier pour iOS. Vous pouvez le personnaliser de toutes les manières, tant au niveau du comportement que de l'apparence.

7916687129639967930

3. MagicalRecord

On dit que Core Data est simple et facile à utiliser. Ensuite, on dit que c'est génial et que ça fonctionne à merveille. Hein ? Vraiment, Apple ? L'énorme quantité de code passe-partout ajoutée à chaque projet est loin de répondre au standard de simplicité et de facilité d'utilisation. Sans parler de l'ajout, de la suppression et de la mise à jour d'une multitude d'entités, de l'enregistrement des contextes, de la création de différentes piles Core Data pour différents environnements, etc. Bien sûr, j'aime beaucoup Core Data, mais Apple pourrait vraiment le simplifier bien mieux — en utilisant l'approche MagicalRecord.

7917025779221885438

MagicalRecord est comme une surcouche autour de Core Data, qui masque toutes les parties non pertinentes. Si vous avez déjà utilisé le patron active record (comme dans Ruby on Rails), vous voyez ce que je veux dire. Hautement recommandé — si vous utilisez Core Data dans vos applications, vous devriez vraiment l'essayer.

4. Chameleon

Si vous avez lu jusqu'ici, je devine que vous êtes plus probablement un singe du code qu'un lion du design. Voici quelque chose de parfait pour vous.

7916513406802779586

Chameleon est un framework de couleurs pour iOS. Il étend UIColor avec des couleurs plates modernes d'une manière vraiment magnifique. Vous pouvez aussi l'utiliser pour créer des palettes avec des couleurs personnalisées. Il a beaucoup d'autres usages, alors consultez le readme. Si vous voulez que votre application soit superbe, ajoutez absolument cette bibliothèque à votre projet.

7916867449546916812

5. Alamofire

Alamofire est une bibliothèque réseau propre écrite en Swift. Avez-vous déjà utilisé AFNetworking ? Alamofire est son petit frère. Plus jeune et plus moderne, bien sûr (AFNetworking est écrit en Objective-C).

7916867449546916814

Si vous devez effectuer du travail réseau comme télécharger, envoyer, récupérer des JSON, etc., Alamofire est exactement ce qu'il vous faut. Avec plus de 8,000 étoiles sur GitHub, vous ne pouvez pas vous tromper.

6. TextFieldEffects

Ne trouvez-vous pas le UITextField standard un peu ennuyeux ? Moi aussi — rencontrez TextFieldEffects ! Assez parlé, regardez juste quelques exemples :

7916854255407382019

7917016983128864819

7917048868966067776

Oui, ce sont tous de simples contrôleurs prêts à l'emploi. Vous pouvez même utiliser IBDesignables dans votre storyboard.

Malheureusement, cette bibliothèque ne prend pas en charge CocoaPods (si vous venez du futur et que cela change un jour, n'hésitez pas à me le faire savoir sur Twitter), mais elle prend en charge Carthage. Téléchargez simplement le projet depuis GitHub et déposez-le dans votre espace de travail.

7. GPUImage

Avez-vous déjà écrit une application appareil photo ? Si non, vous êtes sûr de bientôt rencontrer cette bibliothèque.

7917025779221884764

GPUImage fournit un effet de caméra accéléré par GPU (pour les photos et les vidéos) et traite à une vitesse fulgurante. Des centaines d'applications de l'App Store utilisent cette bibliothèque. J'ai moi aussi une application qui utilise GPUImage. Elle a 8,869 étoiles sur GitHub et continue de croître.

7916491416570287001

8. iRate

Quelle est la meilleure façon d’obtenir plus d’avis sur l’App Store ? Je manque de données solides pour répondre à cette question, mais si je devais deviner, je suggérerais de demander aux utilisateurs. C’est peut-être un peu démodé — la plupart des développeurs créent désormais des alertes personnalisées dans l’application.

Mais si vous n’avez pas le temps, ou si vous ne voulez pas l’implémenter à partir de zéro, vous feriez mieux d’utiliser iRate. Voici iRate — une petite bibliothèque — vous pouvez l’intégrer à votre projet, oublier les invitations à répondre à des sondages et ce genre de choses, et iRate s’occupera du problème pour vous au bon moment.

9. GameCenterManager

Que vous aimiez ou non le patron singleton, gérer un seul GameCenter est bien mieux que les autres patrons opposés que nous connaissons. (Votre jeu n’a qu’un seul GameCenter, non ?)

7917081854314897416

Honnêtement, gérer GameCenter de base sur iOS n’est pas trop difficile, mais avec cette bibliothèque, c’est encore plus simple et plus rapide. N’est-il pas préférable de rendre une bonne chose encore meilleure ?

7916999390942818369

Je l’ai utilisé dans l’un de mes jeux et j’ai eu une excellente expérience.

10. PKRevealController 2

Faites attention à celui-ci — il est vraiment génial ! L’un de mes contrôles iOS préférés. PKRevealController est un menu latéral coulissant (peut coulisser vers la gauche, la droite, ou dans les deux directions en même temps) avec un simple glissement léger du doigt (ou une pression sur un bouton, mais ce n’est pas aussi cool lors du glissement).

7916931221221331262

J’ai essayé d’autres bibliothèques qui offrent ce genre de contrôle, et PKRevealController est la meilleure. Facile à installer, hautement personnalisable, et avec une excellente reconnaissance des gestes. Il pourrait passer pour un contrôle standard du SDK iOS.

11. SlackTextViewController

Avez-vous déjà utilisé l’application Slack pour iOS ? Si vous travaillez dans une grande entreprise de logiciels, c’est possible. Et pour ceux qui ne l’ont pas fait ? — Slack est impressionnant. Les applications qui utilisent Slack sont comme ça aussi, surtout lorsqu’il est utilisé comme un excellent contrôle de saisie de texte personnalisé. Ensuite, vous avez du code prêt à l’emploi à intégrer dans votre application.

Zone de texte à dimensionnement automatique ? Essayez-la.

Reconnaissance des gestes, remplissage automatique, fusion de médias ? Essayez-le.

Solution rapide à intégrer ? Essayez-la.

Que demander de plus ?

12. RETableViewManager

RETableViewManager vous aide à créer et gérer dynamiquement des vues de table. Il nous fournit des cellules prédéfinies (bool, texte, date, etc. — voir la capture d'écran ci-dessous), mais vous pouvez également créer des vues personnalisées et les utiliser aux côtés de celles par défaut.

7916702522802756705

La capture d'écran à gauche semble très rigide ! C'est tout ce que vous pouvez faire dans storyboard sans cette bibliothèque, mais parfois le code est meilleur qu'un éditeur visuel.

13. PermissionScope

Avec cette bibliothèque, vous pouvez informer les utilisateurs des autorisations système requises avant de les leur demander, offrant ainsi une meilleure expérience aux utilisateurs. Meilleure acceptation -> plus d'utilisateurs actifs -> taux de rétention plus élevé -> meilleures données -> taux de téléchargement plus élevés. Je recommande vivement ce pod.

7916854255407382018

14. SVProgressHUD

Cette image se charge normalement, sans avoir besoin d'attendre trop longtemps ni d'actualiser la page. C'est exactement le comportement de SVProgressHUD dans votre application. Si vous avez besoin d'un indicateur de chargement personnalisable, c'est celui-ci (peut-être le meilleur).

7916702522802756704

15. FontAwesomeKit

Font Awesome est incroyable. Avec lui, vous pouvez facilement ajouter des polices à votre projet et les utiliser de nombreuses façons.

7916764095453912512
 

16. SnapKit

Vous aimez Auto Layout ? Bien sûr que oui !Au moins, vous l'aimez quand il est créé dans le storyboard. Créer des contraintes uniquement en code est très pénible, mais heureusement, nous avons SnapKit. Dès que vous l'utilisez, vous pouvez écrire des contraintes simplement et intuitivement.

7916762995942284689
 

17. MGSwipeTableCell

C'est un autre composant d'interface utilisateur couramment vu dans de nombreuses apps. Apple devrait envisager d'ajouter quelque chose de similaire au SDK iOS standard. Les cellules de tableau glissables sont la meilleure description de ce pod, et aussi la meilleure.

55ae0953304a9

55ae09e206728

55ae09eeebdf6

Ce ne sont là que trois des types d'animation ; il existe de nombreuses autres variantes. Consultez le readme.

18. Tri rapide

Utilisé pour les tests unitaires en Swift (fonctionne aussi avec Objective-C), intégré à Xcode. Si vous êtes un fan d'Objective-C, je recommande plutôt Specta, mais pour les utilisateurs de Swift, Quick est le meilleur choix.

7916762995942284684
 
7916702522802756700
 

19. IAPHelper

Les achats intégrés nous donnent beaucoup de code d'exemple, et cette bibliothèque jette ce code, en fournissant un wrapper simple autour des tâches les plus courantes liées aux transactions monétaires.

20. ReactiveCocoa

Eh bien, celui-ci est un petit monstre.

ReactiveCocoa n'est pas comme les autres bibliothèques de cette liste ; ce n'est pas un petit projet que l'on intègre facilement. ReactiveCocoa apporte un style de programmation et une structure complètement différents, basés sur les signaux et les flux de données. D'abord, vous devez oublier tout ce que vous savez afin de comprendre comment cela fonctionne. C'est très difficile, mais très gratifiant.

7917081854314897412
 

Enseigner ReactiveCocoa ici n'est pas vraiment approprié, mais si cela vous intéresse, je vous fournirai quelques bonnes ressources :

  • Premiers pas avec ReactiveCocoa
  • Mattt Thompson:Reactive​Cocoa
  • Tutoriel ReactiveCocoa – L’introduction définitive : Partie 1/2

Remarque : Pour nos amis de la communauté du développement iOS, celui-ci sera légèrement technique.

21. SwiftyJSON

Simplifiez l’analyse JSON en Swift.

22. Spring

Améliorez les animations en termes de simplicité, de chaînage et de déclarativité.

7916931221221331258
 

23. FontBlaster

Simplifiez le chargement de polices personnalisées.

24. TAPromotee

La promotion croisée est l’une des meilleures stratégies marketing que vous puissiez mettre en œuvre gratuitement. Utiliser cette bibliothèque la rend extrêmement simple — si simple qu’il est impossible de ne pas l’utiliser. Ajoutez TAPromotee à votre Podfile, configurez-le gratuitement et profitez de plus de téléchargements.

7916702522802756701
 

25. Concorde

Vous chargez tout un tas de JPEG dans votre application ? Avec Concorde, vous pouvez résoudre cela d'une bien meilleure manière—c'est une immense amélioration.

7916764095453912513
 

26. KeychainAccess

Un petit utilitaire pour gérer l'accès au Keychain.

7916762995942284690
 

27. iOS-charts

Enfin, et non des moindres—la bibliothèque de graphiques iOS ! Très utile et magnifique, inutile d'en dire plus ici. Faites défiler vers le bas et vous verrez ce que vous pouvez faire avec.

7916854255407382020
 

C'est vrai, tout est devenu des composants prêts à l'emploi (ou peut-être des « composants à intégrer par code »).

7917016983128864820
 
7917048868966067777
 

Malheureusement, il ne prend pas encore en charge CocoaPods, vous devrez donc le glisser manuellement dans votre espace de travail Xcode.