Re:First-Class Automatic Differentiation in Swift
by skohan on Monday October 22, 2018 @10:19AM
(#18274838)
As someone who wants to see Swift succeed as a main-stream language I could not agree with you more.
I can forgive the API differences between SPM for swift 3 and 4, after all the ecosystem is evolving and I'm a fan of iterating interfaces early rather than having to keep early mistakes in the spec _forever_ for the sake of backward compatibility. But the Package Manager is still pretty far from being nice to use. In several of my projects which are using it, I also have a custom CLI implemented to streamline some of the worst pain points.
As far as dependency management, I think a huge issue is the lack of proper support for Swift Package Manager for iOS projects. Apple's 1st class solution for including software modules in iOS projects is "Just drag the framework into your XCode project", which is of course an absurd solution for any serious workflow.
Cocoapods (and to a lesser extent Carthage) have stepped in to fill the gap as 3rd party solutions, but there's still no real way to use Swift Package Manager to manage the dependancies for an iOS project. As a result a lot of libraries don't even bother with SPM support since the largest portion of their target audience will never use it. And thus adoption is slow, so there's not a large user-base demanding improvements.
I can forgive the API differences between SPM for swift 3 and 4, after all the ecosystem is evolving and I'm a fan of iterating interfaces early rather than having to keep early mistakes in the spec _forever_ for the sake of backward compatibility. But the Package Manager is still pretty far from being nice to use. In several of my projects which are using it, I also have a custom CLI implemented to streamline some of the worst pain points.
As far as dependency management, I think a huge issue is the lack of proper support for Swift Package Manager for iOS projects. Apple's 1st class solution for including software modules in iOS projects is "Just drag the framework into your XCode project", which is of course an absurd solution for any serious workflow.
Cocoapods (and to a lesser extent Carthage) have stepped in to fill the gap as 3rd party solutions, but there's still no real way to use Swift Package Manager to manage the dependancies for an iOS project. As a result a lot of libraries don't even bother with SPM support since the largest portion of their target audience will never use it. And thus adoption is slow, so there's not a large user-base demanding improvements.