Swift ThoughtsSwift Thoughts

Welcome to the SWIFT IS OPEN SOURCE EDITION ๐Ÿพ๐Ÿ’ฅ๐ŸŽ‰๐Ÿ‘Š๐Ÿ‘ฏ๐Ÿฆ๐Ÿฅ๐ŸŽ‚๐ŸŽŠ๐Ÿ’ƒ!!!!!!!!

Thank you Apple team for all your hard work and going above and beyond in open sourcing Swift ๐Ÿ‘๐Ÿ‘๐Ÿ‘

"Today is the result of an amazing amount of work by dedicated and phenomenal teams of people across Apple. Proud to be part of the team!" - @clattner_llvm

Here are some cool facts about the new and exciting open source Swift!

  • Swift has already surpassed Go, Ruby, Rust, PHP, Scala, and every other language on Github - it's #1!!!
  • 247 Pull Requests have been merged! So keep contributing! The team is listening! (even at 10pm on a Saturday)
  • Apple has released 17! Open Source Libraries, including Foundation, a Swift Package Manager, the Swift Evolution Roadmap, Code Examples, and more!

I cannot be more excited to see Swift evolve in the next few months (and to hear about it at try! Swift in March!). There is already so much awesomeness from this amazing community in the past few days, I've created a custom newsletter just for this week.

Happy Swift Learning!


Apple Love

The History

The Future

On Open Source

How To Contribute

Love these ideas for contributing beyond a typo fix:

Inside Swift


The open sourcing of a Package Manager ๐ŸŽ built mainly by @mxcl & @mattt was a huge surprise when Swift.org went live. You can view the Swift Package Manager Community Proposal proposal here.

"Package managers play a significant role in modern language ecosystems, and are as varied as the languages for which they are created. We designed the Swift Package Manager to solve the specific challenges of distributing and managing Swift code, drawing upon ideas we've seen from other systems and improving upon some of their shortcomings.

This initial release is just a starting point, and we invite you to help us to build the best tool possible. "

While this is just the start, once the Package Manager gets integrated with Xcode, it could be the official replacement for CocoaPods and Carthage in the longer term. Great discussion from CocoaPods core members here and here.

To use a package, check out Apple's example deck of playing cards package here. The community has already started to add Package support. Here is a curated list of Swift libraries that could be build using the Swift Package Manager. Don't worry though, there is already a library to generate podspecs from Swift packages.

Other Platforms

โ€œ[Windows support] wasnโ€™t something that in terms of us catalyzing this initial release that we wanted to take on directly,โ€ Federighi told us. โ€œWe think Linux and of course our platforms provide a great foundation to get started. But weโ€™re very open to ports to other platforms being contributed to the core project, and certainly given that LLVM, Clang, and LLDB, which are foundational technologies to Swift, are already available, already ported to Windows. I think itโ€™s foreseeable that someone in the community, whether led by Microsoft or others, would be doing that port.โ€ - Craig Federighi

The community is already building! Check these out:

And here are some bigger projects to watch:

Random Cool Stuff