AppForce1: news and info for iOS app developers

Double framing things

April 12, 2021 Jeroen Leenarts Episode 25
AppForce1: news and info for iOS app developers
Double framing things
AppForce1: news and info for iOS app developers +
Help us continue making great content for listeners everywhere.
Starting at $3/month
Support
Show Notes Transcript Chapter Markers
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 look@quicktype.io. 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.

Intro
Donny on Codable
LostMoa - Bringing Polymorphism to Codable
Instantly parse JSON in any language | quicktype
Designing API using Combine framework | Swift with Majid
Swift.org - Introducing Swift Collections
Rob Pieta on the new Swift Collection additions
OrderedDictionary In New Swift Collections Swift Package
OrderedSet In New Swift Collections Swift Package
TextEditor in SwiftUI – SerialCoder.dev
Donny's monday morning tweet
Outro, twitter @AppForce1