<RubyGems + Bundler
Pro mnoho, CocoaPods je první úvod do závislostí řízení programování projektů. Mnoho nápadů pro CocoaPods pocházelo z podobných projektů (například RubyGems, Bundler, npm a Gradle).
Pochopení Ruby řízení závislost je užitečné, protože to umožňuje určit verzemi CocoaPods nebo jiné drahokamy a ensureall vývojáři v týmu mají stejnou verzi. Tato příručka je určena pro lidi, kteří chtějí zajistit konzistenci ve svých týmových závislostech nebo pro použití neuvolněných verzí CocoaPods.
< RubyGems
RubyGems je hostovaná knihovní služba ruby. Centralizuje, kde hledáte knihovnu, a instalaci knihoven / aplikací ruby.Uvidíte gem install xxx
. Ty jsou instalovány do centrální databáze verzí. Pokud si představit, že CocoaPodsinstalls všechny knihovny/frameworky do Systémové složky a jsou spojeny v runtime, pak máte hrubý plán, jak, jak RubyGems udržuje všechny drahokamy.
nevýhodou je,že neexistuje žádný způsob, jak zajistit, aby projekt, který potřebuje konkrétní verzi knihovny, mohl použít, vždy by používal nejnovější verzi. Takže jako vývojář byste byli opatrní při instalaci nové verze knihovny, protože by byla použita v každé knihovně / aplikaci. To je problém, který bundler řeší.
<Bundler
Bundler vytváří konzistentní aplikační prostředí pro vaši aplikaci, tím, že umožňuje určit verzi knihovny.Vzali jsme tento nápad téměř celý-prodej pro CocoaPods. Můžete definovat Gemfile, který říká, co knihovny chcete zahrnout, a canoptionally určit verzi nebo rozsah. Spustíte bundle install
a vygeneruje Gemfile.lock říká přesnou verzi všech vašich knihoven a pak někdo jiný běží bundle install
s tímto projektem dostane přesně stejné verze.
<co je Gemfile?
pokud jste si přečetli průvodce na Podfile, bude se cítit velmi podobně. Gemfile je soubor ruby, který definuje vaše rubydependencies. Zde je existující z projektu Cocoa.