Links* Swift concurrency roadmap * Episode 27: Concurrency with Chris Lattner * [Concurrency] Actors & actor isolation * [Concurrency] Interoperability with Objective-C * [Concurrency] Structured concurrency * [Concurrency] Asynchronous functions * [Concurrency] AsyncSequence * Swift Concurrency Proposals Dependencies Graph * Protocol-based Actor Isolation: Draft #2 * Actors are reference types, but why classes?
Sponsors AWS Amplify* - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOS
Get in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
Links* Announcement blog post * Karoy Lorentey * GitHub Repository * Atomics forum * Hacker News Discussion * Guillaume Lessard’s existing swift-atomics repo
Sponsors AWS Amplify* - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOS
Get in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped.
What’s in a Swift runtime?* Swift on Mac OS 9 * Heap Objects * Type Layout * Type Metadata * Uniquing Caches * Class Metadata * Class Metadata Initialization
Other links* Layout guarantees * Steve Troughton-Smith’s BitPaint * @ksherlock’s mpw * An explainer on Swift weak references
About Jordan* Twitter @UINT_MIN * Belkadan * Citizens’ Climate Lobby
Sponsors Instabug - Get Application Performance Monitoring built for mobile apps and stay on top of your app quality with Instabug. Check them out and them them know we sent you at https://try.instabug.com/SwiftUnwrapped * AWS Amplify* - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOS
Get in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped.
Get in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Get in TouchIf you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
SE-0282 Tuples conform to Equatable, Comparable, and Hashable* Acceptance: https://forums.swift.org/t/accepted-se-0283-tuples-conform-to-equatable-comparable-and-hashable/36658 * Review: https://forums.swift.org/t/se-0283-tuples-conform-to-equatable-comparable-and-hashable/36140 * Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0283-tuples-are-equatable-comparable-hashable.md
Bow: https://bow-swift.io
👋 Get in TouchWe are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.
🖤 Leave A ReviewIf you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.
Head over to our iTunes page to share your opinion of the show!
🙏 Thanks to today's sponsor: Square Check out the tutorial for Square’s In-App Payments SDK for iOS on their new developer YouTube channel: youtube.com/squaredev
👋 Get in Touch We are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.
🖤 Leave A Review If you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.
Head over to our iTunes page to share your opinion of the show!
👋 Get in Touch We are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.
🖤 Leave A Review If you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.
Head over to our iTunes page to share your opinion of the show!
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
The way Swift reports compilation diagnostics like errors, warnings and fixits is about to improve in Swift 5.2.
Thanks to this episode's Sponsors Vettery Vettery is an online hiring marketplace that's changing the way people hire and get hired. Make a free profile, name your salary, and connect with hiring managers from top employers today.
Listeners of Swift Unwrapped can sign up on vettery.com/swiftunwrapped and get a $300 bonus if they accept a job through Vettery.
Square Check out the new Square YouTube channel for developers. Square has SDKs and APIs to make payments and run a business.
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Would you like some Swift in your Swift? The compiler driver is getting a shiny new implementation in Swift and there's no shortage of opportunities to contribute.
Thanks to this episode's Sponsors Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Vettery Vettery is an online hiring marketplace that's changing the way people hire and get hired. Make a free profile, name your salary, and connect with hiring managers from top employers today.
Listeners of Swift Unwrapped can sign up on vettery.com/swiftunwrapped and get a $300 bonus if they accept a job through Vettery.
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
The Swift of tomorrow... today! The Standard Library Preview Package would allow you to try out upcoming Swift features before they officially ship with new language versions.
Thanks to this episode's Sponsors Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Thanks to this episode's Sponsors Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Thanks to this episode's Sponsors Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Instabug Squash bugs in less than a minute with Instabug. Get a 14-days trial and their brand new t-shirt once you signup and integrate Instabug in your app.
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Thanks to this episode's Sponsors Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Instabug Squash bugs in less than a minute with Instabug. Get a 14-days trial and their brand new t-shirt once you signup and integrate Instabug in your app.
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Links * XcodeGen * Announcing Swift support in CMake * Buck * Bazel * Bazel's Apple platform rules * llbuild
Thanks to this episode's Sponsors Sentry.io Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Relevant Links * SE-0255: Implicit returns from single-expression functions + Tweet from Ben Cohen + Swift Forums Acceptance Post * SE-0257: Eliding commas from multiline expression lists * Swift Mint
Thanks to this episode's Sponsors Sentry.io Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Relevant Links
* UTF-8 String blog post on swift.org
* Piercing the String Veil post on Swift forums
* SE-241 Deprecate String Index Encoded Offsets
* SR-9749: The bug that led to deprecating encodedOffset
Thanks to this episode's Sponsors Sentry.io Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Relevant Links * Swift Forums Pitch: an Official Style Guide and Formatter for Swift * Swift Evolution PR #994 * swift-format implementation * Community Tools + SwiftLint + SwiftFormat
Thanks to this episode's Sponsors Sentry.io Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Relevant Links * Key Path Expressions as Functions: https://forums.swift.org/t/key-path-expressions-as-functions/19587 * Implementation: https://github.com/apple/swift/pull/19448 * Previous discussion threads: + https://forums.swift.org/t/allow-key-path-literal-syntax-in-expressions-expecting-function-type/16453 + https://forums.swift.org/t/key-path-getter-promotion/11185 + https://forums.swift.org/t/pitch-keypath-based-map-flatmap-filter/6266 * Original "Smart Key Path" proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md * Kuery: https://github.com/kishikawakatsumi/Kuery
Thanks to this episode's Sponsors Sentry.io Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at https://www.sentry.io/for/swift
Instabug With Instabug, your users and beta testers now can submit thorough feedback from your app by just shaking the phone, they will be able to take a screenshot and send their feedback easily.
You will receive a t-shirt with their motto 'I squash bugs for a living' if you go to instabug.com/swift, signup, and integrate the SDK.
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped
Relevant Links * Announcement Post on Swift Forums * Open Sourcing Post on Swift Forums * GitHub Repository: apple/sourcekit-lsp * NSHipster article on Swift Development with Visual Studio Code using SourceKit-LSP * Language Server Protocol Website
Thanks to this episode's Sponsors Sentry.io Sentry tells you about errors in your code before your customers have a chance to encounter them.
With Sentry, you’ll see exactly how many users have been impacted by a bug, the stack trace, the commit that the error was released as part of, the engineer who wrote the line of code that is currently busted, and a lot more.
Give it a try and let them know we sent you at: https://www.sentry.io/for/swift
Clubhouse.io Clubhouse is the first project management platform for software development that brings everyone together so that teams can focus on what matters – creating products their customers love.
With a simple API and robust set of integrations, Clubhouse seamlessly integrates with the tools you use every day, getting out of your way so that you can deliver quality software on time.
Listeners of Swift Unwrapped can sign up for two free months of Clubhouse by visiting https://clubhouse.io/swiftunwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
* Implementation * Railway Oriented Programming
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Instabug for sponsoring this episode! Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's proven to be a critical tool!
Now, Swift Unwrapped listeners will get a free t-shirt when they sign up at https://instabug.com/swift.
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Instabug for sponsoring this episode! Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's proven to be a critical tool!
Now, Swift Unwrapped listeners will get a free t-shirt when they sign up at https://instabug.com/swift.
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Instabug for sponsoring this episode! Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's proven to be a critical tool!
Now, Swift Unwrapped listeners will get a free t-shirt when they sign up at https://instabug.com/swift.
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Never & absurd(): https://twitter.com/pteasima/status/978325590397906944Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Twitter:
This episode is a little different, where we discuss general announcements from WWDC 2018 not just limited to the Swift language. With special guest Greg Heo.
Forums:
Pull requests:
Proposals:
Links * Forums: https://forums.swift.org/t/implicit-escaping-of-closures-via-objective-c/12025 * SE-0103 Make non-escaping closures the default: https://github.com/apple/swift-evolution/blob/master/proposals/0103-make-noescape-default.md * Escaping closures explained: https://swiftunboxed.com/lang/closures-escaping-noescape-swift3/ * Footgun tweet: https://twitter.com/dgregor79/status/987173055909715968
Thank you to Instabug for sponsoring this episode! Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's helped him out a bunch!
Now, Swift Unwrapped listeners will get a 20% discount on all paid plans, use promo-code: unwrapped2018
Check them out, use that promo code and get 20% off at https://instabug.com/swift
ImplicitlyUnwrappedOptional type: https://github.com/apple/swift-evolution/blob/master/proposals/0054-abolish-iuo.mdThank you to Instabug for sponsoring this episode! Instabug is the simplest yet most comprehensive bug reporting and In-app feedback SDK. JP uses it at Lyft and it's helped him out a bunch!
Now, Swift Unwrapped listeners will get a 20% discount on all paid plans, use promo-code: unwrapped2018
Check them out, use that promo code and get 20% off at https://instabug.com/swift
Thanks Instabug!
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Bitrise.io for sponsoring this episode! Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Bitrise.io for sponsoring this episode! Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Bitrise.io for sponsoring this episode! Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Bitrise.io for sponsoring this episode! Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
Get in Touch If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.
We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at: spectrum.chat/specfm/swift-unwrapped
Thank you to Bitrise.io for sponsoring this episode! Bitrise is Mobile Continuous Integration and Delivery for your whole team, with dozens of integrations for your favourite services. Be sure to check out their new iOS Auto Provision step for your Xcode projects.
Check them out and let them know we sent you at Bitrise.io
We cover two recent Swift Package Manager proposal pitches.
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
Thank You Thanks to this episode's sponsor, Kobiton. Go to Kobiton.com/swift and get your extra trial minutes!
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
In Today's episode we share thoughts on Dave DeLong's "protocol wishlist" for Swift and other ideas for improving Swift's protocols.
Sequence.split should have a Lazy equivalent: SR-6691fallthrough into cases with pattern variables: https://github.com/apple/swift/pull/14041Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
Swift 4.1 will include support for conditional protocol conformance, and we're excited to use it!
Please leave a review on iTunes and join the conversation at http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
ulimit -c unlimitedLeave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Thanks to BuddyBuild for sponsoring this episode!
If you're ready for free a continuous integration, continuous deployment, and user feedback platform for iOS and Android development teams - give them a try at buddybuild.com and let them know we sent you!
Friday Q&A:
https://mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-references.html
Leave a review on iTunes:
https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203?mt=2
Chat with us at:
http://spectrum.chat/specfm/swift-unwrapped
Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
Thanks to BuddyBuild for sponsoring this episode: https://www.buddybuild.com/?utm_source=podcast&utm_medium=banner&utm_campaign=swift_unwrapped&utm_term=swift%20unwrapped
Please take a minute to leave a review on iTunes and join us on Spectrum chat if you'd like to discuss the show.
Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
Swift memory layout (Mike Ash):
Please take a minute to leave a review on iTunes (https://itunes.apple.com/us/podcast/swift-unwrapped/id1209817203) and join us on http://spectrum.chat/specfm/swift-unwrapped if you'd like to discuss the show.
Thank You Thanks to this episode's sponsor, Buddy Build: a continuous integration, continuous deployment and user feedback platform built specifically for mobile development teams. Try it out today FREE: https://www.buddybuild.com
Thank You Thanks to this episode's sponsor, Buddy Build: A continuous integration, continuous deployment, and user feedback platform for iOS and Android development teams. Try it out today FREE: http://buddybuild.com
throws vs not discussed in Swift Weekly Brief #68 and #51What should you expect with Swift 4? Some great new features and improvements.
MutableCollection.swapAt(_:_:)inoutWhat should you expect with Swift 4? Some great new features and improvements.
unicodeScalars property to CharacterThank You Thanks to this episode's sponsor, Buddy Build: A continuous integration, continuous deployment, and user feedback platform for iOS and Android development teams.
Thank You Thanks to this episode's sponsor, Kobiton: complete mobile device lab solution.
Start a 15 day free trial today at https://kobiton.com/swiftunwrapped.
Thank You Thanks to this episode's sponsor, Kobiton: complete mobile device lab solution.
Start a 15 day free trial today at https://kobiton.com/swiftunwrapped.
Thank You Thanks to this episode's sponsor, BuddyBuild: a continuous integration, continuous deployment, and user feedback platform for iOS and Android development teams.
Try it free today at https://www.buddybuild.com/.
SE-0168: Multi-line strings * Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md * John Holdsworth (Injection4Xcode): https://twitter.com/Injection4Xcode * Took just over 12 months to land: https://github.com/apple/swift/pull/2275 * Final PR: https://github.com/apple/swift/pull/8813 * Starter Bugs to improve diagnostics: https://bugs.swift.org/browse/SR-4701 * Approval Post: https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000360.html * Multi-line string literals in Objective-C: http://stackoverflow.com/questions/797318/how-to-split-a-string-literal-across-multiple-lines-in-c-objective-c
SE-0172: One-Sided Ranges * https://github.com/apple/swift-evolution/blob/master/proposals/0172-one-sided-ranges.md * Rationale: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170424/036125.html
Source Compatibility suite * Announcement: https://swift.org/blog/swift-source-compatibility-test-suite/ * Swift Source Compatibility Suite: https://github.com/apple/swift-source-compat-suite
Thank You Thanks to this episode's sponsor, PerfectlySoft. Find tutorials and other content at http://perfect.org/learn.html
Thank You Thanks to this episode's sponsor, PerfectlySoft. Find tutorials and other content at http://perfect.org/learn.html
SE-0166: Swift Archival & Serialization * NSCoding: + https://developer.apple.com/reference/foundation/nscoding + http://nshipster.com/nscoding/ * Swift Archival & Serialization: https://github.com/apple/swift-evolution/blob/master/proposals/0166-swift-archival-serialization.md * ABI Stability Dashboard: https://swift.org/abi-stability/
SE-0167: Swift Encoders * https://github.com/apple/swift-evolution/blob/master/proposals/0167-swift-encoders.md * Semantics of Codable Types in Archives * NSValueTransformer + https://developer.apple.com/reference/foundation/nsvaluetransformer + http://nshipster.com/nsvaluetransformer/ * "In the future, we may add API to allow Swift types to provide an Objective-C class to decode as, effectively allowing for user bridging across archival." * Similar to Russ Bishop’s proposal + Allow Swift types to provide custom Objective-C representations + https://github.com/apple/swift-evolution/blob/master/proposals/0058-objectivecbridgeable.md
Thank You Thanks to this episode's sponsor, PerfectlySoft. Download the Perfect Assistant for free at http://perfect.org/en/assistant/
Access Control Roller Coaster * First came the private/fileprivate change (SE-0025): https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md * Then came open (SE-0117): https://github.com/apple/swift-evolution/blob/master/proposals/0117-non-public-subclassable-by-default.md * For the last few weeks, a faction in the community has been proposing undoing it (SE-0159): https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md + Wow. Such email. Very list. https://twitter.com/swiftlybrief/status/846938309666492417 * Rejection email: https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000337.html * Doug Gregor opens discussion for expanding private: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170403/034903.html * David Hart, with a new proposal from Doug’s suggestions: https://github.com/apple/swift-evolution/pull/668 * http://www.jessesquires.com/thoughts-on-swift-access-control/
Modules * Features shouldn't be designed and deliberated in isolation. Decisions need to be holistic and forward-thinking. It's the project management equivalent of ABI resilience. "Design Resilience". * Robert Widmann's draft modules proposal: https://gist.github.com/CodaFi/cd66b7d70b5cd8e4e8b433fa2ace378a + fileprivate access can be recreated by creating a private "utility submodule" containing declarations of at least internal access.
Thanks to this episode's sponsor, PerfectlySoft. Download the Perfect Assistant for free at http://perfect.org/en/assistant/
Swift 3.1 Release * Official Swift 3.1 release post: https://swift.org/blog/swift-3-1-released/ * Swift 3.1 was first available on Swift for iPad, not macOS 🙀 + https://twitter.com/stroughtonsmith/status/844451069228994560 * Anna Zaks, program analysis at Apple: https://twitter.com/zaks_anna * Visual Debugging with Xcode WWDC 2016: https://developer.apple.com/videos/play/wwdc2016/410/ * ASAN: https://en.wikipedia.org/wiki/AddressSanitizer * TSAN: https://clang.llvm.org/docs/ThreadSanitizer.html * TSAN at WWDC 2016: https://developer.apple.com/videos/play/wwdc2016/412/
SPM Improvements * Package Manager Manifest API Redesign: https://github.com/apple/swift-evolution/blob/master/proposals/0158-package-manager-manifest-api-redesign.md * Package Manager Editable Packages: https://github.com/apple/swift-evolution/blob/master/proposals/0082-swiftpm-package-edit.md * Package Manager Version Pinning: https://github.com/apple/swift-evolution/blob/master/proposals/0145-package-manager-version-pinning.md * Package Manager Tools Version: https://github.com/apple/swift-evolution/blob/master/proposals/0152-package-manager-tools-version.md * Package Manager Swift Language Compatibility Version: https://github.com/apple/swift-evolution/blob/master/proposals/0151-package-manager-swift-language-compatibility-version.md * Lots of SwiftPM proposals & changes came in under the wire. Kudos to Ankit and Daniel.
Thanks to this episode's sponsor, PerfectlySoft. Download the Perfect Assistant for free at http://perfect.org/en/assistant/
There's been a much stronger focus on calling ObjC from Swift than the other way around, but in this talk we'll cover both directions and the parts of the Swift language involved in the process.
ObjC Interop Overview * Nikita Lutsenko's talk: https://realm.io/news/altconf-nikita-lutsenko-objc-swift-interoperability/ + NS_SWIFT_NAME + NS_SWIFT_UNAVAILABLE + NS_REFINED_FOR_SWIFT + NS_SWIFT_NOTHROW + NS_NOESCAPE + NSEXTENSIBLESTRING_ENUM + Nullability Annotations + Generic Annotations * ClangImporter (omit needless words logic lives here) * PrintAsObjC + Kevin Ballard's PR to include unavailable/deprecated/availability attributes: https://github.com/apple/swift/pull/6480 + ObjC codegen via string manipulation. Very hackable.
Proposals on ObjC Interop * Referencing ObjC key-paths: https://github.com/apple/swift-evolution/blob/master/proposals/0062-objc-keypaths.md * Referencing ObjC property selectors: https://github.com/apple/swift-evolution/blob/master/proposals/0064-property-selectors.md * Referencing ObjC selector of a method: https://github.com/apple/swift-evolution/blob/master/proposals/0022-objc-selectors.md * Great API transformation: https://github.com/apple/swift-evolution/blob/master/proposals/0005-objective-c-name-translation.md * Import ObjC constants: https://github.com/apple/swift-evolution/blob/master/proposals/0033-import-objc-constants.md * Make optional requirements ObjC only: https://github.com/apple/swift-evolution/blob/master/proposals/0070-optional-requirements.md
Swift has evolved since 1.x to have a fluctuating amount of magic/implicit bridging from ObjC and Foundation types, sometimes going in the opposite direction towards very explicit type conversions.
We've started seeing more of what the "steady state" looks like as Swift 3.x/4.x development matures.
In the early days, Swift users would need deep compiler internal implementation details to know which NSNumber-representable type could implicitly convert. As of SE-0139 that's a lot clearer.
The subtleties of unenforced protocol conformance semantics: https://oleb.net/blog/2016/12/protocols-have-semantics/
Proposals on bridging
* New from Doug Gregor, limiting @objc inference: https://github.com/DougGregor/swift-evolution/blob/objc-inference/proposals/NNNN-objc-inference.md
* NSNumber and NSValue: https://github.com/apple/swift-evolution/blob/master/proposals/0139-bridge-nsnumber-and-nsvalue.md
* Optional to payload or NSNull: https://github.com/apple/swift-evolution/blob/master/proposals/0140-bridge-optional-to-nsnull.md
* ObjC lightweight generics: https://github.com/apple/swift-evolution/blob/master/proposals/0057-importing-objc-generics.md
* Import id as Any: https://github.com/apple/swift-evolution/blob/master/proposals/0116-id-as-any.md
* NSError bridging: https://github.com/apple/swift-evolution/blob/master/proposals/0112-nserror-bridging.md
* Fully eliminate implicit bridging: https://github.com/apple/swift-evolution/blob/master/proposals/0072-eliminate-implicit-bridging-conversions.md
* Remove bridging conversion behavior from dynamic casts: https://github.com/apple/swift-evolution/blob/master/proposals/0083-remove-bridging-from-dynamic-casts.md
* Ole Begemann on "Protocols are more than Bags of Syntax": https://oleb.net/blog/2016/12/protocols-have-semantics/
* No protocol for non-user constructable types (e.g. library-vendored types) :(
* Conventions are useful, even if not for technical reasons. Case study with Realm trying to buck NSError ObjC conventions: https://github.com/realm/realm-cocoa/pull/1123
Every Swift developer who has migrated code bases from Swift 1.x to 2.x, or even the more tedious 2.x to 3.x knows the pain of migrating to new Swift versions.
In this episode, we cover:
Errata:
Type.self proposal, not Erica Sadun: https://github.com/apple/swift-evolution/blob/master/proposals/0090-remove-dot-self.mdIn this episode, we dive into the framework we love to hate to love: SourceKit.
We wrap up with an overview of method dispatch in Swift.
SourceKit on Linux * Swift core team is fixing compiler crashers faster than they're filed! + Slava Pestov being a driving force behind many of these fixes. + @practicalswift is basically Swift compiler fuzzing as-a-service ;) + Undoing all of @practicalswift's hard work * SourceKit home page * Process Isolation * Key contributors to SourceKit: + Brian Croom and his many SourceKit PRs to help get it linking and compiling on Linux. + Alex Blewitt and his numerous attempts at getting SourceKit compiling by default on Linux. * SR-1676: Build SourceKit on Linux * CMake homepage * swift-corelibs-libdispatch * Final PR to get SourceKit building on Linux: #5903 * CODE_OWNERS.TXT * Jesse's talk at "try! Swift": Contributing to Open Source Swift * Atom Editor * Nuclide Atom Package * Sourcery codegen tool
Method Dispatch * Raizlabs' article on Method Dispatch in Swift * Chris Lattner's tweet about the article * Swift Evolution thread: Changing NSObject dispatch behavior * @NSManaged * @objc
In this episode we take a look at the first full year of open source Swift development and the first complete release cycle (for 3.0) that happened completely in the open. We reflect on where we've been and how we got here. We discuss the initial launch, Swift evolution, the "Great Swift 3 Migration", and more!
where clause to end of declaration++ and -- operatorsThere are tons of podcasts out there about general Apple/iOS/macOS development but nothing specifically about only the Swift programming language.
So, we decided to make a podcast about the Swift language and a commentary on the Swift Weekly Brief. This podcast is a continuation on more details about Swift Weekly and our own thoughts on Swift news.
If you want to connect with us you can find us and reach out on twitter: JP Simard & Jesse Squires
Be sure to subscribe so you don't miss episode 01 - airing on Monday, March 6th and be sure to check out some of the other development shows that are a part of the Spec Network.