Read the transcript
Jeroen Leenarts: Hi, and welcome
to my 41st episodes. My name is
Leenarts. And I've been
developing software for over 18
years developing iOS apps for
over nine years, and I'm running
the Dutch Cocottes for close to
eight years. If you're an iOS
app developer, you should listen
to my podcast because it will
keep you updated on interesting
articles and events you might
not have heard about. In this
episode, I'm going to talk about
async lead explains call async
functions in parallel, running
tasks in parallel with Swift
concurrency tasks, how to build
better command line apps and
tools using Swift different ways
to catch throw errors from Swift
do catch and hash selector and
the responded chain. So as you
have noticed in my previous
episodes, I went on vacation for
two weeks. It was very nice and
I'm back totally refreshed. And
I must say that recording the
podcast is good to get back to
in regular format with all
without all these crazy amounts
of links that I had in my
previous episodes. Also, I
wanted to mention my workshop
which is happening on September
2. If you haven't looked at it
yet, there's a link in the show
notes. And if it's something for
you, please sign up. Also, my
pod fan page if you've become a
pot fan of my podcast, you can
listen to all the recordings of
my interviews, including all the
goofs and mishaps that me and my
guests have to experience and
endure. For instance, the
interview with Rob Whitaker
turned out really nice, but if
you have heard the roar
recording, you will have noticed
that there was a lot of
interruptions a lot of mishaps.
But yeah, post production and
editing is one of the best
things that you can have as a
podcaster. So if you want to
enjoy those kinds of things, or
help me support my work, please
sign up at Pato fan slash Air
Force One. So just to dive in
straight away. The first article
is by Antoine formulae on his
swiftly block async lead,
explain call async functions in
parallel async lead is part of
Swift's concurrency framework,
and it allows you to instantiate
a constant asynchronously, the
concurrency framework introduced
the concept of async await which
results in a structured
concurrency and more readable
code for asynchronous methods.
If you're new to async await, I
recommend that you have a look
at my previous episodes, show
notes, because there's a lot of
information, including a
previous article by Antoine on
async await. With a lot of
explanation and code examples.
The fun thing about async let is
that you can assign something to
a variable asynchronously in and
then get back this value at some
point in the future and then
continue execution where you
were left off ready. So it's
quite difficult to explain in
few words, but it is one of
those things that you really
want to have look at if you're
doing async await in your Swift
code. Because it this is one of
those powerful features that
allows you to do a lot of things
in parallel and really improve
the execution of your code.
While we're talking about the
execution of code until the next
article by Donnie walls running
tasks in parallel with Swift
concurrency task groups, with
Apple's overhaul of how
concurrency works in Swift, 5.5
or newer, you have learned a lot
of things about async await. So
there's a lot of things that you
have to learn from scratch. For
instance, if you're using
dispatch, queues, async, and
other mechanisms to kick off
multiple asynchronous tasks in
the past, you could group those
within with a dispatch group.
With async await. There's an
equivalent feature available,
but it is a bit different. And
you have to understand what a
task group is to be able to use
this effectively. Have a look at
Danny's article for a good
overview of what a task group in
async await is and how you can
use those to your benefit when
executing concurrent and related
tasks. Atiba Bowditch has an
article on how to build better
command line tools and apps
using Swift. He's been looking
into how I can use command line
interface tools and utility apps
for his surf side projects or
terminal scripts using the Swift
language. So there's a lot of
things that you can do on a Mac,
straight up from the command
line with Swift. So you can
actually do a hash bang at the
start of a swift script. Yes, a
swift script and execute that
right from the command line by
marking the file as executable.
It's really cool because it
allows you to utilize a lot of
the familiar concepts and and
powerful tools available to
Swift, especially in Swift
Foundation, and just use these
things on the command line. It's
an excellent opportunity for
code reuse from your products
into utilities or scripts on the
command line.
So Ron has an article on
different ways to catch throwing
errors from Swift to catch
constructs. It's tempting to
just catch all throwing errors
in a single catch clause and
call it a day but not all errors
are created equal and you should
you should treat it as such. By
learning different ways to catch
narrow you can make reasonable
catch clauses which are easy to
read, understand and match with
your business needs. Insurance
article you will learn different
ways to catch errors from Truong
functions. There's a lot of
things that you can do with
catching errors. And saloon is
right on the mark here by
explaining how you can actually
have different behaviors on
different errors by utilizing
the catch constructs in Swift,
with pattern matching. And I
think pattern matching is one of
those features of do catch
statements that is underutilized
in production code base, so have
a look and use it to your
benefit. The final article I
wanted to mention is by Dominic
Houser, he has an article about
hash selector and the respond to
chain. Similar as Dominic, I
don't know about you, but I tend
to forget that terrorists
respond the chain in iOS. In his
post, Dominic is there to remind
himself and us that respond the
chain exists and he can use to
react to button defense, in his
article explains what to
respond. The chain is what
target actions are and how these
two tie together to provide you
with a very nice concept that
you might want to use in your
app. Now it's time for Donald
Monday morning tweets. DOJ Dion
is preparing himself for an
interview with Stuart Lynch.
He's releasing syndicates zero
dot 1.0 is writing his
newsletter, and he's preparing a
server side swift presentation.
Christian is working on the
ether radio app, and he has an
update almost ready, containing
an Apple Watch version of his
app. So that's really cool. NIF
is enjoying some sushi in
Poland. He's really living large
over there seems because he's
been posting a lot of fun
pictures from his travels there.
Eric Lippmann is getting back to
work after three weeks of
vacation. Wow, that was nice man
probably means to go read and
respond to a lot of email going
through a bunch of JIRA tickets
and commenting on history and
pull requests and just getting
up to speed usual thing after a
vacation where I reckon KorVia
is saying good morning to
Donnie, and he's working on a
notion templates called my
worksheet tracker templates. And
I'm really curious what this
notion thing is. So if somebody
can tell me please do. James F.
Henshaw might try the Tim Apple
method of taking only the watch
on a mile walk in the morning
before it gets hot. So Dani is
curious whether or not he has a
salad or version of the watch.
Michelle was working on a
presentation on Swift UI and
accessibility. And it's actually
for a YouTube video, in which
she talks to students for tech
talks. So she'll probably posted
when it's up. Aaron is working
on creating a course and
articles, not much, not much
else going on. And he's hoping
to have a great week, just like
the rest of us. And flow is
challenging himself to write the
brand new app MVP and gets its
app store ready by Sunday. So
one week one app, that's a big
target to try and hit. So good
luck with that. And let's build
Benjin is connecting patients
with 10 1000s of health and
beauty care practitioners in
order to overcome societal
problems, like back pain. It's
apparently the largest sector
reason in his country of
residence. So I wonder which
country that is because head
might just be the Netherlands.
And maxim is writing a tutorial
about point free codes, TCA and
he's helping developers who want
to start fast with it. Alexei is
doing some vapers WebSocket
stuff, and Holger is on his
second fractionation shot by
Thursday. So he's preparing
himself for that. Good luck with
the Fractionation. And good
thing that you're taking it.
Sangria is reading daanish
posts, and he's really enjoying
it. So a lot of people working
on a lot of stuff, getting ready
for the App Store, getting bugs
fixed. And yeah, it's just good
news all around and a lot of
people getting back from
vacation. So I think the rates
of new articles will start
picking up again, because we are
almost coming to the close of
the summer vacations of a lot of
people. And that's it for this
week. I hope you enjoyed the
shorter format that I have for
you this time round. If there's
any feedback, please reach out
on Twitter at app Force One, and
I hope to talk to you again next
week.