我是框架X的作者,我想分发一些胶水代码,以便可选与框架Y和Z集成。客户端应该能够独立使用X.框架,但如果他们也使用Y和/或Z,则能够使用集成代码。
标题问题是:目前是否有最佳做法,以及有哪些权衡?详细的子问题如下所示。
我的具体案例:我是Siesta的作者。只需一点点代码即可集成with SwiftyJSON或with Alamofire。但是,Siesta不需要这些框架中的任何一个。
我看到两个可接受的选项:
选项1乍一看似乎很有希望。这不正是可选依赖项的用途吗?但我担心因为:
Cartfile.private
中包含这些框架才能构建X. 选项2很简单,但我担心开销。甚至一个noop框架也会出现在> 250K。在最终的应用程序中它仍然是那么糟糕吗?如果我走这条路线,是否存在每个框架开销,我应该关注它?
还有其他权衡我不知道吗?