Issue #156


Issue #156

A note from Bas on the #IndieSupportWeeks

While some of you might have heard about the #IndieSupportWeeks, many of you might not have.

It’s an effort aimed at helping indie developers within the Apple Developer Community who have been financially impacted by the current global COVID-19 pandemic.

Curating this newsletter, it was an obvious decision to take part in this effort, and to highlight some indie apps in this issue. Do check them out, as well as all other awesome apps
on the list.

If you decide to check out any of the apps — or to buy them — please also share it with the world using the #IndieSupportWeeks hashtag!

On behalf of all indie developers, thank you for checking out their apps and the support!

Apple announced that WWDC 2020 will be an online-only event, and many of us are learning how to work remotely from our homes while we cope with the on-going health crisis. I hope everyone is staying safe.

Meanwhile, Swift 5.2 has been officially released with Xcode 11.4. So take a break from the news and spend some time updating your projects!


In episode 69
of the Swift by Sundell podcast, Holly Borla
and Grace Kendall
, both software engineers at Apple, join John Sundell
to take a deep dive into the Swift Playgrounds app and Swift 5.2’s new diagnostics engine.

Indie Support Weeks #IndieSupportWeeks

Secrets — Your Friendly Password Manager

Just this year over 60M accounts have been exposed due to service breaches. Reusing passwords greatly increases your risk of getting hacked. Take some time during this lockdown to make sure you’re using strong and unique password on all the services you use, and securely store them in a password manager such as Secrets. Stay safe IRL and online!

or download directly on the App Store

News and community

Apple announced
WWDC 2020 will be a completely online experience this year.

Apple released
Swift 5.2 and announced
Xcode 11.4.

Nicole Jacque
wrote a blog post
about Swift 5.3 release process.

Paul Hudson
wrote an article
explaining what’s new in Swift 5.2.

Federico Zanetello
wrote two articles, one about the new ArgumentParser
, and another about Swift Executables Progress State
He also created a presentation
about new features in Swift 5.2.

A great talk
was shared about Swift for TensorFlow which would normally have been given at TF Dev Summit.

The Ray Wenderlich folks wrote a great tutorial
on how to get started with SwiftNIO.

Bruno Rocha
wrote an article
about useful global Swift functions.

Commits and pull requests

Slava Pestov
merged a pull request
that fixes unapplied references to protocol methods, which was one of the oldest and most highly duped bugs ever. :scream:

Pavel Yaskevich
merged a pull request
created by Luciano Almeida
that resolves SR-12382
and improves the diagnostic for type mismatches in pointer conversion to double optionals.

Doug Gregor
merged a pull request
that fixes handling of @autoclosure
in init(wrappedValue:)

Luciano Almeida
merged a pull request
that fixes SR-11540
by just disfavoring overloads to closures with anonymous var that are function types with more than one argument that matches arguments of function types without arguments.

Indie Support Weeks #IndieSupportWeeks

Stay focused with Timeless

Timeless is a subtle clock replacement. It helps you feel less anxious about the time and more focused on how you should be spending it. Try Timeless today.

or download directly on the App Store

Swift Forums

Maksim Kita
pitched a proposal
to introduce a Circular Buffer

Introduce the CircularBuffer
collection type conforming to the RandomAccessCollection
, RangeReplaceableCollection
and MutableCollection
protocols. With random element
access and support for constant back and forth element insertion and deletion.

Swift currently does not have collection with both element random access
and constant O(1) elements back and front insertion and deletion. A good
usage examples for such collection are queue, deque, fixed length buffers.
Such abstractions cannot effectively be build on Array because of O(n) first element deletion.

Aamir Nazir
opened a discussion
about counting occurrences of a substring in a string.

Given the fact that Swift String class doesn’t has any method for counting occurrences of a substring in a string. i.e
Counting occurrences of "Swift"
in "Hello Swift Swift"
=> 2

There are many alternatives available for counting occurrences of substring but I think it would be more intuitive if we add support of counting occurrences of a substring in a string.

Nate Cook
pitched an idea
to add a new attribute that you can use to designate a type that provides the entry point for a Swift program.

This is a generalization of the @UIApplicationMain
and @NSApplicationMain
attributes that have been in Swift from the beginning, making that specialized behavior available to any library or framework.

The Swift compiler will recognize a type annotated with the @main
attribute as providing the entry point for a program. Types marked with @main
have a single implicit requirement: declaring a static main()

Tom Doron
shared meeting notes
for the Swift on the Server Workgroup March 4th, 2020 meeting.

Karoy Lorentey
pitched an idea
about Low-Level Atomic Operations.

Here is a pitch for adding a limited set of low-level atomic operations to the Standard Library, including native spellings for C++-style acquire-release memory orderings. Our goal is to enable intrepid library authors to start building synchronization constructs directly in Swift.
This means we must start talking about how these things will work in Swift – in other words, we need to start working on a concurrency memory model. Given that Swift already interoperates with the C/C++ memory model, it seems like a good idea to use that as a starting point.

Saleem Abdulrasool
shared an update on
the new Swift Installer for Windows.

Cal Stephens
started a discussion
about how to add a new CodingKeyPath
type that allows consumers to key into nested objects using dot notation.

Today, encoding and decoding Codable objects using the compiler’s synthesized implementation requires that your object graph has a one-to-one mapping to the object graph of the target payload. This decreases the control that authors have over their Codable

I propose that we add a new CodingKeyPath
type that allows consumers to key into nested objects using dot notation

Hassan ElDesouky
started a discussion
about creating a Swift contribution starter guide. Previously, he gathered
materials of important talks and articles for first time contributors.

Tanner Nelson
about Vapor 4 official release.







Swift Weekly Brief 投稿者
  • 1 Issue #154
  • 2 Issue #153
  • 3 Issue #151
  • 热门栏目

    Issue #156