< RubyGems + Bundler
Pour beaucoup, CocoaPods est la première introduction à la gestion des dépendances dans les projets de programmation. Beaucoup d’idées pour les CocoaPods provenaient de projets similaires (par exemple RubyGems, Bundler, npm et Gradle).
Comprendre la gestion des dépendances Ruby est utile car il vous permet de spécifier des versions de CocoaPods ou d’autres gemmes et de vous assurer que tous les développeurs de votre équipe ont exactement la même version. Ce guide s’adresse aux personnes qui cherchent à assurer la cohérence de leurs dépendances en équipe ou à utiliser des versions non publiées de CocoaPods.
< RubyGems
RubyGems est un service de bibliothèque ruby hébergé. Il centralise l’endroit où vous recherchez une bibliothèque et installe des bibliothèques / applications ruby.Vous aurez vu gem install xxx
. Ceux-ci sont installés dans une base de données centrale de versions. Si vous imaginez que Cocoapod installe toutes les bibliothèques / frameworks dans un dossier système et qu’ils sont liés au moment de l’exécution, alors vous avez l’idée approximative de la façon dont RubyGems conserve toutes les gemmes.
L’inconvénient de ceci est qu’il n’y a aucun moyen de s’assurer qu’un projet nécessitant une version spécifique d’une bibliothèque puisse l’utiliser, il utiliserait toujours la dernière version. Donc, en tant que développeur, vous feriez preuve de prudence en installant une nouvelle version d’une bibliothèque, car elle serait utilisée dans chaque bibliothèque / application. C’est le problème que bundler résout.
< Bundler
Bundler crée un environnement d’application cohérent pour votre application, en vous permettant de spécifier la version des bibliothèques.Nous avons pris cette idée presque en vente entière pour les CocoaPods. Vous définissez un Gemfile qui indique les bibliothèques que vous souhaitez inclure et peut spécifier une version ou une plage. Vous exécutez bundle install
et cela générera un fichier Gemme.verrouiller en disant la version exacte de toutes vos bibliothèques, puis toute autre personne exécutant bundle install
avec ce projet obtient exactement les mêmes versions.
< Qu’est-ce qu’un fichier Gemme ?
Si vous avez lu le guide sur le Podfile, cela vous semblera très similaire. Un Gemfile est un fichier ruby qui définit vos rubydependencies. En voici un existant d’un projet Cocoa.