Read the transcript
Jeroen Leenarts: Hi, and welcome
to the 64th episode of my
podcast. This is actually the
second recording that I'm doing
of this episode, because
something went wrong with the
first recording that I did last
night. And I just had to re
record everything from scratch
again. So that was a bit of a
setback really. So let's just
get started. My name is
Leenarts. I've been developing
software doing iOS apps for nine
years and also run that
Cocottes. By now I think
everybody who listens to my
podcast knows about this. So
let's have have a quick overview
of the titles of the articles
that I'm going to talk about in
this episode. And that's going
to be fixing wrong animations
with default data source, how to
write HTML in Swift, automating
App Store publishing, networking
with combined and swift UI,
prototyping with Swift UI,
creating complex interactions
using gestures, and modifiers.
So as I mentioned, already a bit
of a setback yesterday, but I
won't have to get me down. A lot
of cool stuff happening this
week for me, going to be
presenting with a colleague at
iOS confess je, that's a
Singapore based conference. So
looking forward to that one,
that's at the end of the week,
furthermore, are working on
getting my second piece of
content, ready for the stream
block. And there's also some
developments in regards to my
podcast, good developments.
Actually, I can't share yet
right now, what those
developments are. But hopefully,
next week, I can share a little
bit more about that. And I hope
and I think you will like what I
have to tell soon, my four year
old Milan is still enjoying
going to school, you can tell
that he is getting a bit tired
of of the long days that he's
having to put in at, at school
with his class. But still, every
day he jumps out of his bed is
really happy to get started. And
just if that if it's up to him,
he will just skip his his
breakfast and go right to
school. We tried telling him
that his teacher wouldn't be
there at that point in time yet.
But yeah, there's no stopping
him right now. So
I hope he keeps it at that.
Also, this week, my daughter
will have her first gymnastics
training with her new squat in a
Gymnastics hall, which is good,
because we were unable to for
the last month due to the
restrictions in the Netherlands.
But fortunately, those
restrictions have been have been
loosened up a little bit. So she
is really looking forward to
that event. Of note. And that's
also interesting is that
tomorrow, actually Wednesday,
normally I record a Monday, but
now it's Tuesday. So on
Wednesday evening, Cocottes will
have to meet up again. And they
also have a new sponsorship
announcements, which is great.
And I really look forward to
what people think in that
community on the new
sponsorship. And I think if the
entire pandemic thing lifts up a
little bit, when we get close to
the spring and summer, hopefully
I can do some really big moves
with coke ads as well. Because
to do iOS conference is still
something that is in the back of
my mind. And I really hope to be
able to execute on soon again.
So let's dive in with the
articles. The first one is by
Philip Nemecek. Fixing wrong
animations with default data
source, the most common causes
and how to fix it. The magic of
difficult data source either for
a UI collection view or UI
TableView is that it does a lot
of work for you. But sometimes
it doesn't quite do what you
want, and is hard to pinpoint
where the problem lies. In his
post Phillip will look at what
the most common causes for
incorrect animations are and
what his fixes are for those
situations. With incorrect
animations fill up means that
instead of inserting one new
item or removing it, deferral
will refresh the entire view,
which isn't a pleasant user
experience. Or you might
sometimes see other glitches as
well. So a very solid overview
of some issues that you can run
into if you're dealing with
difficult data source and it
just doesn't look right or
doesn't behave right. So just
look at your code compared to
what Phillip has shared and
hopefully there's something in
there that will alleviate your
problems. So the second article
is how to write HTML in Swift.
It's an article by Timo
Bowditch. And it's a tutorial
about how you can render HTML
docs using a brand new DSL
library called swift HTML. And
the fable web framework. As you
might know, debo is a huge fan
of server side swift and he
always like to dive deep in in
tools like vapor. And by the
looks of his article, he wrote a
library called swift HTML and in
his article, he introduces it,
how I can use it And yeah, what
what the benefits might be if
you define your HTML in SWIFT
codes. Then after that, he goes
into some details on how you can
incorporate the Swift HTML
library within Viper because
vapor has an official template
engine called leaf. And the
community also created the
typesafe. HTML DSL library
called HTML kit. So why did He
create something similar? Well,
he tried all the available swift
HTML, DSL libraries that he was
able to find on GitHub, but he
was not entirely satisfied with
the currently available
solutions. Many of them were
outdated, incomplete, or he
simply didn't like the flavor of
the DSL. He wants to have a
library which is very
lightweight, and follows the
standards. That's the reasons
why t work rails swift HTML. So
he describes how you can
integrate swift HTML with vapor.
And he it's actually pretty
simple. Once you went through
his tutorial on Swift HTML and
how you can incorporate it with
favor, I think F a good
understanding of this new
library that he created, and
also how it might apply in your
situations. And if it's actually
something that you want to use
yourself as well. The third
article is Pyro drunk Liam, it's
on automating appstore
publishing. So it's a it's
basically a post that details
the journey that redonk went on
when automating a manual release
process that he had for his app
quoting. And yeah, it's just it
shows what issues you run into
what solutions are for those
issues. For instance, you have
to get all your certificates and
provisioning profiles in order
to make sure that code signing
works. And then you have to
build for distribution. But with
all this stuff, you have to make
sure that you don't put your
credentials and your key
material in your repository
itself. Fortunately, most CI
solutions have a solution for
this that allows you to store
secrets in a different context
that is not visible to people
visiting your source repository.
His article goes over the steps
of building the app, testing the
app, archiving the app and
publishing it. So I think it's a
it's a solid overview of what
you can do with automating on
your CI CD platform. And he has
written his article in such a
way that the lessons that you
will learn from this article
should apply to any CI CD
solution that you're using
yourself. The fourth article is
by Peter Frieza. It's called
networking with combine and
swift UI. So it's a new series
of articles by Peter. In this
series, he will look at how you
can use combine in the context
of Swift UI to access and
network resource map data to
structures that have meaning
within your context. So in your
app, and how we can handle any
errors that might arise during
this process. And to put the
cherry on top, he promises to
also have some information on
dealing with more advanced
scenarios, it goes over the
details of fetching data using a
URL session all the error
handling that should have in
place, and how he can fetch the
same data using combined how you
can connect all of this to Swift
UI, and how you can use combined
publishing changes from
background threads. So really a
quick overview of how you can
get a network resource into
combine and how you can get this
honest with you our user
interface. The fifth and final
article is by my colleague
Ahmose. It's called prototyping
with Swift UI creating complex
interactions using gestures and
modifiers. It's it's really fun
article that explains how you
can do quick prototyping with
Swift UI. So
what almost likes to do is
actually a designer, what he
likes to do is just pick up some
swift UI, put a user interface
together, which is pretty much
an empty shell, but it's it
behaves and it acts like an app,
and then do some prototyping
with it and see if it's
something that he likes
something that works. And then
he hands it off to a software
developer to actually attach
logic behind it and make sure
that the underlying code is also
completely up to spec and
handling all edge cases and
errors. So in his article, he
shows you how you can use Swift
UI ListView, refreshable, and
scrollable. How can you swipe
action and how you can add a
paginate scrolling and how you
can trigger animations with
human initiated gestures. The
source code is available on
GitHub. And in the next part of
this tutorial, he prompts us to
teach you how you can create
chat messaging related
animations with Swift UI, and is
of course a company blog. But I
did want to mention this one
because it's very specific about
Swift UI and the power of Swift
why to quickly iterate on a user
interface that you can then take
forward into an actual product.
So that's the final article of
this week. It's a bit weird to
record the same content for the
second time. But I must say that
having all my notes and
everything worked out
beforehand, it really sped up
the process. So maybe the lesson
that I can learn from this
entire mishap during this this
week, is to just make sure that
I prepare my notes for a podcast
recording just a little bit more
so that I have this easy and
convenient feel of recording On
episodes on the first try that I
do it. And so if you have any
feedback on my podcast, please
reach out through Twitter DM at
app Force One. I've also been
working on creating a bit of a
backlog again for recording
sessions with with people. And
actually later today, I will be
recording with two people. And
later this week on Friday, I
have a plan to record with two
more people, and then next week
on Thursday with three people.
And then I have a bit of a
slower pace in the weeks after
that, but as you can already
tell, within about a week from
now, I should be having a nice
fat backlog of interviews on the
shelf so that the don't run into
the same issue. I have, like
last week, running out of
interview guests. And yeah, I
just don't want to have that
happen anytime soon. Again. So
if you know somebody that I
should interview on my podcast,
please let me know if you
yourself would like to be
interviewed for my podcast,
reach out as well. You can do
that through Twitter DM at
fourth one, but it already
mentioned that that handle. So
talk to you again next week. And
I hope for to have you as a
listener again on Thursday this
week when I have my next guest
for an interview. Bye