What an eventful month June has been! So much new and exciting technology introduced by Apple this month. We’re excited and hope that you are, too! Of course, WWDC was the main event of this month, but there’s a lot of great content outside of WWDC that caught our attention and we’d love to share our picks with you.
Let’s start with some code! WeTransfer (yes, the company where Antoine van der Lee creates awesomeness) has been working on GitBuddy—your buddy in managing and maintaining GitHub repositories. This neat command line tool lets you generate changelogs and create GitHub releases with comments on related issues and PRs. The library can make your life easier and is well worth it. Oh, and it’s written in Swift!
Swift and WebAssembly have recently become good friends and we’re already seeing some great projects pop up! Max Desiatov is one of the masterminds behind this whole endeavor and, together with the SwiftWasm team, they’ve released Carton—watcher, bundler and test runner for your SwiftWasm apps. There’s still a long way to go as the project is young, but we already see that this will make Swift on WebAssembly very accessible to all Swift developers.
Shortly after the introduction of SwiftUI, Helge Heß implemented it for the web as a toy project, SwiftWebUI. Carson Katri then forked this excellent library and brought it to a whole new level! SwiftWebUI is now compiled to WebAssembly and runs entirely in the browser. Being able to use Swift on the web is a dream come true and we’re hoping that there is a lot more to come!
A year ago, GitHub announced that their Package Registry would support Swift packages. At the beginning of this month, Mattt created a proposal for a standard package registry API that could be implemented by anyone, not only GitHub. The proposal is a hefty read but very informative and highly recommended. This is an exciting step forward for Swift Package Manager and we believe that the whole Swift ecosystem will benefit from it.
Paul Hudson does so much for our community and we’re eternally grateful for his help on our journey to become better Swift developers. Paul spends an incredible amount of time producing content for “Hacking with Swift,” and we get all the fruits of his labor for free. This month, “Hacking with Swift” gets a Plus version that grants us access to extra content and, most importantly, lets us support Paul financially so that we can enjoy his free videos, tutorials, code and more long-term. By the way, Paul has a Patreon page, too!
If we had to name one feature of Swift that is great but doesn’t get much love from the community, we’d have to agree with Bruno Rocha that the answer is throwing functions. In this article, Bruno shows us how doing, trying and catching can help you focus on what matters—making your code clean and testable in the process.
Representing dynamic or polymorphic data in Swift can be difficult. Especially for Swift beginners, it can be problematic to even understand what representing dynamic or polymorphic data actually means. Fortunately, we have John Sundell, who is consistently amazing in explaining tough topics in an easy-to-understand way. In this article, John shows how to use `Codable` and even `dynamicMemberLookup` to model different types of objects coming from the API in your app. (Psst! John has also recently been working on something cool!)
Lists with infinite scrolling are a very common pattern (not only) on iOS. In this article, Vadim Bulavin shows us how easy it is to implement an infinite list scroll with SwiftUI. In this example, SwiftUI really shines. It is quite amazing to see how a fairly complex feature like this can be developed using so little code.
In this episode of “Swiftly Speaking,” Paul Hudson speaks to Chris Lattner about the early history of Swift, his tips for learning the language better and his thoughts on Swift Evolution. The video is almost two hours long, but every second is well worth it for all of us Swift aficionados!
Daniel Steinberg has released a new book, A Functional Programming Kickstart, and it’s great! If you ever wanted to get into functional programming (hint: you should), this is a great way to start. One sentence from the last chapter speaks for itself: “This book has been your vacation to a land where pure functions are just a way of life.”
That's it for June! You may have noticed that we skipped over any mention of WWDC. Worry not! Our WWDC article can be found here. See you next time!