[swift-evolution] [Discussion] Resources

Karl Wagner razielim at gmail.com
Thu Sep 21 11:50:56 CDT 2017

Hi everybody!

I’m really happy that Swift 4 is out, and it’s great that there’s already so much active discussion about Swift 5 (concurrency, etc). I find I’m running in to language roadblocks less and less, and the improvements to the generics system have really improved a lot of my code. It’s really enjoyable to program in Swift, so thanks to everybody who made it possible.

When I think about what’s missing from Swift, I think of modules. We all like to write modular code, and aside from the entire discussion about submodules, the way that you glue separate modules together in to an application is supposed to be via the package manager. For Swift 5, I would personally really like it if we could flesh out the package manager a bit more so that it can really be the basis of a thriving Swift developer community in production environments.

The thing that hits me the most with SwiftPM currently is that it doesn’t support resources, and it has very limited support for cross-platform modules (the type of thing you’re likely to have as a Model or Model Controller layer). Without support for bundled application resources, there’s no way for the package manager to support GUI apps or frameworks and unit-tests can’t reliably point to bundled test resources.

I have some ideas about ways we could improve the situation, but first I thought I’d send this out for some community feedback. Do you think SwiftPM is as important as I do for v5? Which improvements would give you the most benefit?

- Karl

More information about the swift-evolution mailing list