Jeroen Leenarts: Hi, and welcome
to the 25th episode of my
podcast. My name is Sheena
Lennox and I've been developing
software for over 18 years, I've
been developing iOS apps for
over nine years, and I'm running
the Dutch cocoa has close to
eight years. If you're an iOS
app developer, you should listen
to my podcast because we'll keep
you updated on interesting
articles and events you might
not have heard about otherwise.
In this episode, I'm going to
talk about codable in Swift,
designing API using combined
framework, Swift, collections,
text editor in Swift UI, and
also done this Monday morning
tweets. So let's get started.
It's been two weeks since my
previous recording. Last week,
it was a national holiday in the
Netherlands and I released the
recording with Marlene and Kai
from double glazed studios. And
in those two weeks, a lot of
things have happened. As already
mentioned, in previous episodes,
I'm dealing with some issues
relate to my daughter. And the
issues that she's dealing with,
are pretty much the same as the
issues that I've dealt with as a
kid myself. So it's a big
confrontation to actually see
what's happening to her. And to
relate that to my own
experiences in primary school.
So I'm dealing with those issues
and getting through those. But I
must say that in some areas of
my life, I've taken a step back
to just reflect a bit and regain
my strength and energy, and make
sure I come back stronger and
better. As it was before, you
could say I hit the big pause
button. It's not easy. But for
now, I think it's the best thing
that I can do for myself and my
family. I also did a lot of soul
searching and thinking about
what things I still can do and
what things I should skip for a
moment. And my conclusion was
that I should keep on doing the
things that are really enjoy
doing. And that gives me energy.
And podcasting is actually one
of those things that I really
enjoy doing as a hobby. And that
also gives me energy. So that's
one of the things that I'm going
to keep doing. And by the looks
of things for years to come. Now
about my daughter, we're taking
the steps necessary to help her
and make sure that she has a big
improvement in her little life
and that she can really make big
steps in the areas that she
needs to. In the meantime, the
construction work on my home is
progressing. On Twitter, you
might have seen a few pictures
of double window frames, because
they first put in the window
frames that are new. And then
behind that inside are the old
window frames, and they're gonna
soon start demolishing DOS and
taking those out. So it's going
to be a bit messy inside the
house now for the foreseeable
future. And hopefully within the
next two or three weeks, they
will actually finish up, then we
can do the flooring, and then
this whole home remodel ordeal
is behind us. And now let's get
into two weeks worth of
articles. And because this is
different episodes compared to
any of my previous episodes, I'm
going to do things a little bit
different. I'm going to talk a
bit about a big topic codable
and articles that are found
around that. Also because Danny
walls has released an article
series on that topic. And due to
that, I also noticed a related
article and related to that's
very interesting, so quotable.
Virtually every modern
application needs some way to
retrieve and use data from a
remote source. This data is
commonly fetched by making a
network request to a web server
that returns the data in some
structured format, usually
Jason. And when you're working
with JavaScript, this Jason data
can be easily decoded into a
JavaScript objects. JavaScript
doesn't have strong typing. So a
JSON object in JavaScript is
really just the JavaScript
objects. Objects in JavaScript
are very comparable to
dictionaries in Swift, except
they aren't strongly typed. And
they have a couple of extra
features. But that's way beyond
what Danny has covered in his
post. In his post, he's going to
take a look at what the codable
protocol is. And in the
meantime, he has already
released a couple of other
articles that go much more in
depth on the topic of codable
and swift. So you should check
out this article series by
Donnie and see what you think.
And make sure that you
understand what he's talking
about because being able to deal
with codable and decode will in
your source code is a big
advantage and a necessary skill
when you're working with network
requests in your code base.
So check out don his
introductory article, and the
category on codable on his blog
mataas ruler X has written an
interesting article on bringing
polymorphism to codable. Switch
protocol oriented programming is
just so helpful when dealing
with polymorphic situations.
When you need to persist your
data. You end up with some
issues though, God was not able
to determine what concrete type
to decode to save data into when
decoding in his post mataas.
We'll share a cut down version
of the polymorphic codable
system that he has been using to
build Clara. He should Just to
first take a look at his
previous posts that introduced
the use of property rappers in
complex codable situations. When
encoding polymorphic types, it
is important to include an
identifier of the concrete type
that is being encoded. And this
will be used later in the
decoding stage. More information
in his article, if you need a
way to quickly hash out the
codable structures that you
could use to actually decode a
piece of Jason, please have a
[email protected]. It's a
convenient web editor and they
also have an Xcode integration
that allows you to easily paste
in a bit of Jason and see how it
actually will end up in for
example, a codable structure,
Majeed writes in his article
designing API using combined
framework combined framework
provides a declarative swift API
for processing values over time,
it allows to chain transform and
reduce multiple operations. This
week. Magit will teach you how
to design your API's using the
combined frameworks to leverage
all the data processing powers
that the framework provides you.
He goes into details on future
and deferred publishers and pass
through subjects more info on
this article on his blog. Now on
to Swift collections. On April 5
Cooroy. Laurenti writes on
swift.org That he's thrilled to
announce with collections a new
open source package focused on
extending the set of available
swift data structures, like the
Swift algorithms and swift
Numerix packages before it.
They're releasing swift
collections to help incubate new
functionality for the swift
standard library. The Swift
standard library currently
implements the three most
essential general purpose data
structures array set and
dictionary. These the right tool
for a wide variety of use cases,
and they are practically well
suited for use as currency
types. But sometimes, in order
to efficiently solve a problem
or to maintain an invariant,
Swift programmers would benefit
from a large library of data
structures. The expectation is
that the collections package
will empower swift developers to
write faster and more reliable
programs with less effort. In
the article, a brief overview is
provided on the new data
structures that are available in
the Swift collections package.
There's also a lot of detail
provided on the performance of
the contents of the package, and
the relation to the Swift
standard library is explained.
Once you've read the overview
from the swift.org website, have
a look at the articles provided
by Rob at advance swift calm, he
has two articles, one on order
dictionary, and one on ordered
set. If you read up on those two
articles, you have a general
feel of how you can use these
two new additions that are
available through the Swift
collections package. Now onwards
to some more practical swift UI
related topics text editor in
Swift UI, this is an iOS 14
specific components. In this
article, Gabriel gives an
overview of what text editor in
iOS 14 is capable of doing, how
you can put it on your screen,
what modifiers you can use on
it, and how you can react to
text changes. If you need an
overview on using a text editor
in Swift UI. Have a look at the
article by Gabriel. And those
are the articles of this week.
Let's have a look on the Monday
morning tweet by Donnie walls.
Gasholder is giving a talk at
swift Harris this week. Brad
Silva is going to finish his
first app this week, and then
he's off for first rounds of
real testing. Michael is banging
his head into the wall with Siri
intense and keeping core data in
sync between app and extensions.
And the team had a productive
weekend with his V mob tool he's
figuring out and what parts of
it and iOS is working like a
charm. It even generates a dot h
file to Philip without any
previous planning is starting a
new app which should make the
life easier for Nintendo Switch
owners.
He's planning on releasing it
this week. Private mochi is
releasing an app. It's nothing
special. He wrote it a year ago.
And he decided the other week,
why not release it? One he will
be giving a talk about flutter
at his internal company meetups
presentation to five people but
he's nervous anyway. Roselawn is
looking forward to the Core Data
workshop that Donnie is
providing. And he has renewed
his developer membership. Tommy
is working on a national holiday
site project app. This way he
will never miss national taco
day or National Pancake Day ever
again. Core is wishing Donahue
Good morning and he's hoping you
had a nice weekend. He took the
early morning to improve the
push hero app with smart chaser
messaging editor and also
covered from pay to premium with
the help of revenue cat. Trent
is continuing to work on his
Twitter scheduling and analytics
app draft desk. This week he's
focusing on adding transport and
at the moment it's all single
tweets. Alexei is thinking of
using Swift UI in production so
limitation is support for iOS 13
is wondering whether or not the
combination of Swift UI and
combine used everywhere is ready
for production. Denise has
finally loaded About test plans
in Xcode and how to use Xcode
built on the command line. And
she learned about xe Rousselle
tool in this WWDC talk from
2019. And the list goes on. And
there's a lot of app releases
and people learning. And just
general good stuff there. It's
well worth to check out all the
replies to the message by Don.
And that's it for this week. If
you have any feedback, please
reach out on Twitter at app
Force One. And please have a
look at the show notes for all
the topics that are discussed.
And links to other content that
I create. Talk to you next week.