Read the transcript
Jeroen Leenarts: Hi, and welcome
to the 67th episode of my
podcast. My name is Leenarts.
And I've been developing
software for over 20 years
developing iOS apps for over 10
years and I've been on the verge
cocoa has for over eight years.
If you're an iOS app developer,
you should listen to a podcast
because we'll keep you updated
on interesting articles,
conferences and events you might
not have heard about in this app
episode I'm going to talk about
always correct read in text in
UI Kits learn how to bring your
Swift UI app to life with
advanced animations. Memory
management when using async
await in Swift, understanding
opaque types in Swift, and 10
little UI Kit tips you should
know I will also mention a
Twitter space that I've been
working on. And the next meetup
by Coco heads, we will have to
Bowditch there with Coco hats
introduced in favour CMS. So
let's get started. It's been a
busy week. For me again, one
additional thing that I've been
working on is getting some Wi Fi
and home setup fix. Because this
Monday, they upgraded my
internet connection from ADSL to
fiber optic link. And the
disadvantage says that right
now, if I have a wired
connection to my router, I have
like full speed 200 megabits up
and down. But if I tried it in
the attic, my I can maybe like
5060 megabits, so I'm looking
into ways that I could improve
my speed upstairs. Of course,
people always say you can draw a
cable from the ground floor all
the way upstairs. But I'm
looking in ways that helped me
in other regards. I've always
been using these Devolo magic
one powerline adapters, and
they've been working credit but
for some reason, even if I'm
like up close to the thing, and
it's very close to the actual
internet connection on my power
network,
I'm still just seeing maximum of
like 80 to 90 megabits per
seconds. While I know that I
have like 200 megabits, because
if I attach my Raspberry Pi to
my router directly with an
ethernet cable, I just can flat
out saturate my connection with
200 up and 200 down. So really
trying to investigate ways that
I can improve this. If somebody
has some thoughts on this. Yeah,
please let me know. I'm very
curious as well, well, not
upgrading my default, Powerline
Adapters might be a worthwhile
and ever because I have the
magic one. And by now you also
have the magic two and the magic
next. I know it's complicated
products spectrum that you have
to follow. But I'm just
wondering if it's like
worthwhile to upgrade these
devices, other than maybe should
look more into a mesh type Wi Fi
setup. But then you have to deal
with the situation of figuring
out which MES system is a good
one to purchase. Because, yeah,
there's there's all kinds of new
details involved. And yeah, for
upgrading the hardware, I
definitely want to check out Wi
Fi six if that's an option. A
lot of kids being angry that
that TV show is interrupted.
Fortunately, the the hardware
and software is built in such a
way that it will continue where
they were at. But yeah, they
didn't really enjoy me flipping
some switches every now and then
over the past couple of days.
Yeah. So hopefully I can figure
this out of interest is that on
Wednesday evening, I will be
hosting another Twitter space
with Stefan, it is titled Iris
Coffee Chat leadership as
developer No matter your current
level, it's going to be an
interesting one. Because, of
course, it will be based on the
book that I wrote, but also on
the experiences that that Stefan
and I have with leadership in
any way that you can showcase
that as a software developer. So
it is not only like leadership
in the classical sense, leading
a couple of people and telling
them what to do. But also in
your personal practices that
allow it to show leadership and
just your day to day job as an
individual contributor, very
much looking forward to sharing
some info on that. And I really
hope that people will join.
Because so far, it's the third
Twitter space that I did with
Stefan. And the first two were
very successful. And we had a
lot of feedback on that. So it's
quite a lot of fun to do that.
And three, delivering the audio
content as an episode on my
podcast is also very beneficial,
because that allows us to have
more people even listened to it.
And also we get a lot of
feedback on that. And just
looking forward to to what
people think on this topic that
is very near and dear to me.
Join us on Wednesday evening,
there's a link in the show
notes. And otherwise, just have
a look at my Twitter, you're
bound to run into this Twitter
space in the coming days when I
announced and if you're only
hear this podcast after
Wednesday, of course, it will be
recorded and you can listen back
either on Twitter, and a few
days later. You can have
listened back on my podcast
feed. Yeah, let's just dive in
with all the content that I have
to share on Wednesday evening.
Next week. That's the cocoa has
meetup and they will be having
an interesting guests. So teba
Bowditch is doing a talk about
feather CMS and Pharaoh CMS is a
swift based content management
system that is based on vapor
four. So it's server side Swift.
And now seeing all the content
that TiVo produces. This is
going to be an epic talk with a
lot of cool information on this
open source product that is
creating with feller CMS and it
might be a very interesting
thing to utilize in your next
project for your app who knows
have a look at it and being able
to use Swift on both the front
end and on the back end. That's
that's very interesting.
concepts to investigate. So I
definitely recommend that you
check out the meetup with TiVo,
as well. And again, this one
will also be recorded and shared
on YouTube. So don't fuss too
much about the timing of things.
If you're in different time
zones, you can always look or
listen back on the recordings.
So that's enough talking about
me on just some generic topics.
Let's dive into the articles of
this week. The first one is by
Philip Nemecek. It's called
almost correct reading text in
UI kits. Applying gradient
colors to UI labeled text isn't
straightforward. And in this
article, he wants to figure out
how to do it and how to do it
correctly. So firstly introduces
the basic solution. That's
pretty straightforward and has
already a nice effect. But
immediately, he can show what
problems you will be running
into if you do a gradient on the
UI label in this way, so in the
end, he will come up with a way
to use a CA gradient layer to
make sure that the gradients on
the UI label is entirely up to
spec and that he has a gradient
that looks exactly like he wants
it to show with some screenshots
in there. And it's a small
little thing that you just need
to know that there's more
available beyond just the things
you can do with a gradient layer
on an image directly, it's just
good to know that there are more
ways to apply grading to some
text on your screen. And the
second article is by Mr. Scam
fee,
it is on the stream blog. But
it's one of those really solid
ones learn how to bring your
Swift UI app to life with
advanced animations. Basically,
if you want to have a crash
course on how you can create
animations in Swift UI in your
iOS app, have a look at this
article, this plenty of
information in there lots of
codes, lots of nice little
samples with with clapping
emojis and bouncing hearts and
all kinds of cool things. And
yeah, it's just a simple
introduction on how you can do
cool animations with Swift UI.
In your iOS application, all the
code and resources are included.
So definitely check this out. If
you want to get started
animating some stuff on screen
with Swift UI. The third article
is by John sundal. It's called
memory management when using
async await in Swift. Managing
an app's memory is something
that tends to be especially
tricky to do within the context
of asynchronous code, as various
objects and failures often need
to be captured and retained over
time, in order for your
asynchronous calls to be
performed and handled while
Swift's relatively new async
await syntax does make many
kinds of asynchronous operations
easier to write, it still
requires you to be quite careful
when it comes to managing the
memory for the various task and
objects that are involved in
such asynchronous code. So John
dives into this topic he writes
about implicit captures and what
implications they have to your
memory when using async await.
And also what things you need to
make sure and think about when
you are canceling tasks. Next,
that that also long running
tasks, maybe that have an
observation involved. So the
observing object will be
retained for the duration of the
task. And if it's a long running
observation, take that into
account. And there's also some
ways that you can deal with
this, according to John, yeah.
So basically, the conclusion is
that async await and tasks make
asynchronous and memory related
issues a thing of the past or
maybe not, you always have to be
very mindful of what things you
are doing, what you are keeping
a memory and how you're dealing
with all these issues. So Solid
overview by John and definitely
worth a read. If you're working
with async await codes, or
you're planning to work with
async await codes. The fourth
article is by Natasha for Deva,
she writes about understanding
opaque types in Swift, learn how
to use opaque return types in
Swift and swift UI. So Swift
5.1, introduced a new language
feature called opaque types.
Opaque types give you the
capability to return a concrete
type without having to expose
it, Natasha merely dives in to
an example about what this
means. So it's a lot of little
samples. So he understands to
what these opaque types are, and
how you can use them in your
code. And once she has explained
what this concept is, and how
you can use that in your code,
she also indicates how this
applies to Swift UI and what
role they might play there. So
it's one of those relatively
short rates, but yeah, just a
little bit of information.
That's good to have good to
know. And I really liked the way
that she set up her article with
a lot of samples and, and good
thoughts about how you can use
opaque types in your code. Then
there's an article by a TiVo
Bowditch, it's called 10 little
UI Kit tips you should know in
his article, he has gathered his
10 favorite Modern UI Kit tips
that you definitely want to know
before you start your next
projects. It's 10 little tips
that you you just want to know
when when starting new projects,
as the title says, and I will
just name the titles of these 10
tips and then you can decide for
yourself but not you want to
check this article. So first one
custom UI color with dark mode
supports sounds interesting
right? Observing trade
collection changes UI button
with context menus, don't be
afraid of subclassing views,
always large navigation titles,
custom separators for navigation
and tab bars, custom tab bar
items, load view versus view did
load stack views and outlay of
anchors, create a reusable
components library, some food
for thought there, check out
this article and have a read
each tip that's it we're shares
is quite short. A lot of links
And each tip actually to make
sure that you can get the full
detail on his concepts. There's
a couple of things in there that
made me think, yeah, I
definitely have seen this
before. Yeah, but I should
remember this. Next time I open
up my Xcode editor and see if I
can apply these in practice.
That's the five articles of this
week, make sure that you sign up
for my newsletter, actually,
that's app force one dotnet.
There's a big sign up button at
the top of my page. And there's
also an archive available, you
can see all the past editions
that are sent with revenue, and
also the additions that are sent
before that with Sandy. So you
can have a look back and notice
what kind of a big change I made
in the concept of my newsletter.
So check it out as sign up, if
you'd like really wants to share
what I've been working on. And
also some other things that are
happening. Besides my
podcasting. Next topic that I
wanted to discuss is Danny's
Monday morning tweet. And once
I've done that we're already
done for this episode. First
answer me on Danny's Monday
morning tweets planning to
record a podcast episode doing a
Twitter space, as already
mentioned, gets the next meet to
catch me that sort of did that
also already and published an
interview with John Reed that'll
be on my podcast feeds
next Thursday, really looking
forward to what people think of
this interview with John. And
fortunately, our now have a nice
back catalogue of interviews
available to me and plenty of
interviews planned in the coming
weeks. So a lot of cool content
coming your way, actually. So
Josh mentioned that he did it
again. He created a new Xcode
projects and created an widgets
app that is called What's my
age? Again, it's a very neat
little thing that helps you
remember what your age is.
People probably know that. But
also how many months your kid is
because you're having the exact
number of months, right is for
some people very important. And
Josh has to admit that he kind
of gets that every now and then.
Old. Hudson, his own son is but
now with a widget he can just
have a glance. And then he knows
exactly how many months his kid
is. And he thought that would be
useful for other people as well.
So nice one, Alia GDR is busy as
always, he's finished a
published an episode with Jordan
Morgan. That's going to be an
interesting one. He finished his
REST API integration with
MailChimp. That's an interesting
one as well. And he continues to
progress of his website redesign
and he's starting to work on the
heart which iPhone app that's
one of his products and Rica,
Capanna has released an app
called neiti. That's a project
management tool. So check it
out. It looks really great.
Probably something that could be
useful for some people. And
Eamon, one of my previous guests
mentioned steady is recovered
from COVID and helps to be back
on track with learning and
starting posting some new apps
that are 9% Complete already. So
glad to have you back. And if
we'll help so that's good to
hear. Phillip shares the article
that he created with the
gradients on text on UI kit, and
Dominic Houser is starting a new
project Xcode dot tips, it's
it's a nice tips website on
Xcode. And what's really nice
about this website is that the
artwork is really much hand
drawn this material that you
could use, like you could drag
and drop these images on your on
your slide deck and have an
awesome presentation already. So
pro tips for your next
presentation. If you need to put
one together quickly, make sure
to reference the source Xcode
dot tips and Jake Nelson is
continuing to try and get
Apple's App Review team's
attention to engage the dialogue
about this game word game hero,
which is Facebook removed from
the App Store. So Shiva is
having some review issues. And
yeah, he really hopes that, that
he's able to deal with the
review process and that he has
like a solid good outcome for
his case. Richard scratches own
he recently published his first
iOS app that helps you track
your job applications. And he
was very happy with results and
how it worked. And it's
immediately ignited sample apps
that he could showcase on his
next job application. So that's
double double the profits for
Richard and I hope his job
search went well. Stuart Lynch
announced that he is soft
launching his nine part will
clone YouTube tutorial. So he
Yes, he has a great content idea
for his next batch of tutorial
videos. And now these will be
good. Christian is doing his
free Swift language coding class
for kids. He keeps on doing
these ones and every now and
then he shares some images. And
it's so nice to see that young
kids age like between seven and
10 get exposure to software
developments in such a such a
concise and condensed and a
meaningful way by a Christian.
So great job there. And as I'm
sharp is getting ready to
publish his Mapquest programming
with Swift why course the course
is going to be available
tomorrow. So that's pretty soon
actually. So that sounds really
good. I look forward to him
sharing some links on that. And
let's just keeps on going and
going. And what's really
surprising is just the sheer
number of products that people
are launching this week. It's
just crazy to see how much
things are being launched.
Because I'm just scrolling and
scrolling and scrolling and
stuff just keeps on getting a
few and I think on his thread
the thread has like more than 20
different products being worked
on or announced or like launched
already. So just great to see.
So that's the content. For this
week, I was considering sharing
some thoughts on the developing
story of the App Store review
guidelines for dating apps in
the Netherlands. But I decided
to postpone on that. I just want
to see how it develops a little
bit further before I really
share my opinion on that. I do
want to say that it's typical.
Yeah, big corporate behavior.
And I know what the EU did to
Microsoft back in the day and
yeah, I really hope that Apple
does not miss judge this
situations. Because if the EU
gets the wrong hat on then this
is going to be a painful
situation. So let's just see how
this develops. And yeah, talk to
you again next week. So there's
plenty of stuff to share. And
remember, sign up for my
newsletter.