AppForce1: news and info for iOS app developers

Happy New Year, let's dive right in.

January 04, 2022 Jeroen Leenarts Episode 62
AppForce1: news and info for iOS app developers
Happy New Year, let's dive right in.
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
Jeroen Leenarts:

Hi, and welcome to the 62nd episode of my podcast. Happy New Year everybody. I want to switch things up a little bit this time around. So I'm not going to be telling you that I've been developing software for 19 years and developing iOS app for over nine years and running Dutch cocoa ads for eight years. I'm just going to start. First of all, there was some good news this evening. The kids are allowed to go to school again next week, so not an extended lockdown for the kids. And they're not going to take away many other measures. But now at least my kids can enjoy their school again next week. I think they're very much look forward to that. And it's a good thing for them that they are able to just go back to school again. Also, I'm I'm getting my third vaccination tomorrow. So that's like the booster shot. It's not Omicron specific, but at least it's it improves the protection that fractionation gives me significantly. And yeah, hopefully we won't end up in a situation that you have to get like a new shot every half year. But I'm glad that I'm able to get my third shot. And I recommend anyone who has the opportunity to do so to do so as well. So in this episode, I'm going to talk about convert your spirit presets into new async await syntax using continuations Solvang advent of code 2001 in Swift. What I've learned from advent of code 2021 cascading environment actions in Swift why creating animated message reactions and interactions using Swift UI, and five things iOS developers should focus on in 2022. That last article is by Daniel Ross and we'll also talk about his Monday morning tweets and the first one of the new year. So let's dive into the first article of this episodes. That's convert your Swift results to the new async await syntax using continuations it's SSR. Fargas Casa Seca, the new async await swift concurrency API released together with Swift 5.5 was finally unveiled during WWDC 21 in June. This new architecture fulfills all the expectations that we iOS developers had, and we had eagerly been waiting for this since swift first was released in 2014. And our hopes got boosted in 2017, when the Swift concurrency manifesto was released by Chris Latner himself. So for all the new API's and tools that were introduced, the new async await syntax actors and tasks attracted most of the attention from the Swift community. And that was with reason, and these new additions improve the readability of asynchronous code and eveness. When ensuring thread safety in your apps, there was also another mechanism introduced that didn't catch so much consideration even though they are powerful when working together with async await. And those are continuations. So what are continuations? According to the documentation, continuations are a mechanism to interface between synchronous and asynchronous code logging correctness violations more precisely, a continuation is an object that captures the program state at a given point being able to continue it's when it is required. This might sound very abstract, but you can learn to appreciate the deeper when considering how Apple implements asynchronous code up till now with callbacks and the delegate pattern. continuations shine with all the brightness when working with these two patterns. They act as a bridge between the old world callbacks and delegates and the new one async await to achieve a more readable and structured code by helping to create new async functions for sets for the old ones. This is helpful when setting third party libraries or Apple API's containing these patterns, as is the case in the article written by CSR. So any article by CSR, he goes into a lot of detail on what these continuations are and how you can use them to bring your callback and delicate based asynchronous code into the async await world. So it's a nice little detail on the new async await and related features in in iOS and Mac OS. And in Swift, I should really say. And yeah, it's one of the things I missed this one as well. So have a look at these continuations and see if they apply in your situation, if you are dealing with some legacy code that you need to bring to the async await world. A number of my listeners have been working on advent of code 2021. And for those who don't know what this is, at front of God is an advent calendar or small programming puzzles for a variety of skill sets and skill levels that you can be solving in a programming language that you like. It's an advent calendar with with CO challenges in the month of December. So let us from December 1 till Christmas. And each day you will get a challenge that you can then try and solve with a language of your choosing. I've I'm linking to two articles of people who participated in Advent of code 2021 And that share their resulting solutions. It's fun to just browse through their solutions and read the articles because they each had a different challenge that I found to be the most difficult and that's very interesting because it just shows how different different people can think about software developments and how different people can come to solutions for the same problem in a different way. So having Have a look at these two articles, the first one by Oliver bins. And the second one by Asha. I've linked them both in the show notes. And they both shared their solutions on GitHub. It's linked from their articles, have a look at it, just browse through the solutions get acquainted with Athan of code. And maybe if you haven't participated in Advent of code in 2022, I still have to do this at some point myself, but I always like reading up on the solutions that people created after the fact. So these are two of the articles that stood out to me, and I hope you liked them as well. The next article is by Magnus Johnson cascading environment actions in Swift UI. Magnus has written about the Swift UI environment to pass actions around before and how it enables you to focus on data of your views. And in this article, he wants to take a little bit of a deeper dive into the same line of thinking and apply it to an observer like pattern implemented. For swift UI. There are several places in your view hierarchy that you can attach an action to an event. And the goal is that from a sub view, you can call a single method that calls every action attached to it as it bubbles up through its parent fuse. He refers to this cascading actions as in the cascade of events, it's an interesting way that you can attach actions to your user interface in Swift, why I found it interesting that it was a way that you could have like a single type of pattern in all your user interface defined in Swift, why, and that you can then first of all have a similar way that you can actually trigger events, but also, it allows you to have like an hierarchy of actions that you want to perform. That is based on the on the position in your view hierarchy. So if you have a button, you want to do submit, if it's an action on all different areas, in your view hierarchy, you might not want to submit, but you want to clean up things. So yeah, it's just something that that really works. Well. If you have some more complex user interface interactions that you need to implement. The next article is by my colleague, Stefan, it's actually the first article that he has published in his new role as developer advocates at the company that I work, I'm not going to push the company line on my podcast. But what I really liked about the article is that it's a tutorial about how you can create animated message reactions in the chat applications. And all the sample codes in his article is purely swift UI. And it shows the power and ease of use of the framework. And what's really fun of this article is that it's yes, of course, it is a company blog. But the article is really about creative ways of using Swift UI. And I just wanted to share that because I was surprised with how little code he needed to achieve the results that he was getting in his article. So yeah, just have a look at it. And let me know what you think. I'll kudos to Stefan for, for writing this article in such a concise and informative way. So New year, new year resolutions, and Donnie wants this here to serve. So his article five things iOS developer should focus on in 2022. Add on, you also list five topics that he thinks you should focus on in in 2022. So I will list the highlights, he considers that you should be using Swift UI alongside UI kit and vice versa. So basically, he says start using Swift UI people, it's now primetime ready to go. And we're going to be using it more and more, he also suggests to look at architecture. And he doesn't mean like, just learn all the default patterns like Viper and all the MVVM and whatnot, architectures, but to just learn about the one level behind app architecture, so single responsibility principle dependency, injections, abstractions, protocols, generics, just just a building blocks of a good app through its architecture. And that will be extremely useful when working on interrupting swift UI and UI kit in a single code base. The third topic that he suggests you should really be looking at is async await, especially since the latest Xcode release with 13.2. That swift concurrency is now available on App dogs on iOS from iOS 13. And up now is the time to really dive in on async await, because we have to support iOS 1314 and 15. And for most companies, that's like a very reasonable number of fish to support back historically, of course, if you still have to support iOS 12, and earlier, you're out of luck. But even then it's worthwhile to start looking at async await because who knows what will happen a year from now, the fourth topic is probably something that is near and dear to Donnie. So that's core data. And I agree to Dani suggesting that you should look at Core Data as a as like the default way to persist data in your application because it's just the platform or the system option that is made available to you to store data in a structured way. And of course, he has a great book on this topic that you should consider buying. If you want to know more about core data. The fifth topic is accessibility. And a topic that has been gaining a lot of mindshare in my RSS feeds the last few months More and more people are indicating that they think accessibility is important. And also, accessibility is something that is more than supporting people with a permanent disability. Because quite often people are also what people are calling temporarily disabled. So this could be somebody who has a broken arm. But it could also be like a person with a kid on their arm in a grocery store that have to operate a phone. And they either have just one finger available or no finger at all, you also want to be accessible in your app for those people quite often. Because you will be surprised how many people are actually using accessibility features on their iPhone, even though they are not permanently disabled themselves. And they're doing that just because it's convenient, because they have an app that has proper support for accessibility, and it allows them to do things that would otherwise just be impossible. So those are the articles for for the new year. And now let's dive into the news Monday morning tweet. So New year, new Monday morning tweets, not a lot of people have responded to daanish Monday morning tweet. And that's most likely because a lot of people are still either on their time off, or they're still just getting started with the new year. So taking care of some backlog of email or whatnot. So I will just list all the people that have responded to the tweet by Donnie right now, first of all, I actually was the first person who responded. So I set up a crazy amount of lights around my desk, I added a couple of of key lights around my desk to be able to do some green screening for work. I'm working on some conference participations for for conferences already. So hopefully they're all those, all those conference talks will materialize. And I'll be able to, to to travel a little bit in Europe and maybe the US and some other places around the world this year to present at conferences. I'm also going to focus on writing some copy this week, I installed Final Cut Pro for some video work that I need to have finished for the end of the week. So that's a completely new skill set that I'm trying to develop. And of course, I mentioned that I need to record my podcasts and do some development work. So Michaela Quran starts working again this week, and it helped him to hear more about a freelance project from a client, she's expecting to have a very busy first couple of months this year and Alia GDM is trying to get back into the grind. And he released a new episodes with Charlie Chaplin. And he's preparing some swift packages for release. He's finishing up an episode with with Mustafa that's the creator of the tasks app, great app, you should try it twitter handle at the task app, and he's having a chat with Mikhail Teagasc. So he's probably recording with him. And he's starting some work on a future video and he's doing some updating on the bright digit websites. Denise Napolean is finally learning factor graphics since the first time she's been exposed to it 20 years ago in Flash five even and maybe she will be able to make herself an app icon one day. Ben McLeod. Wilkie is a nervous wreck. He spent his first app for review last night to the App Store. No worries, Ben, you'll get through this. And hopefully you will share what your app is about soon. And we can enjoy your work on our own devices. Within due time. Laurent is publishing a sports app that makes use of vision and core ml, and he's going to work on some polishing of that over the next week. And he's hoping that Donnie is also having a great week. Luke Lazaro is getting his portfolio ready for a junior position. He's hoping to get it done by the end of the week, so he can start applying for jobs as soon as possible. And Tim has been turning in his graduation project, and he's starting to prep to present and defend it in a couple of weeks. So he's wrapping up his education. And who knows, maybe he'll be applying for jobs as well soon. He's a little bit nervous about it. But according to his mentor, he's set up for success right now. So good luck to him in the defense of your graduation project, and I know you'll just do fine. Chris Lipinski has been learning lazy grids. And last week, he implemented Continuous Delivery relationships and he's getting close to releasing his app. And maybe he will start to test it with test flights in like one or two months from now. QSR Linton is wishing Donnie a good morning, and it's still afternoon as in his region. But anyway, he's wishing everybody a fantastic new year, Sentinel light indicates that he has launched his plugin for stream deck. It's something that he worked on for about two months. It's a plugin that allows you to launch macros shortcuts from stream deck, and it's also features and accessibility mode for visually impaired and or other users. And yeah, it's a nice little plugin for stream deck that allows you to add shortcuts and gives you a lot more flexibility with this neat little device. I don't have one myself because I just use my custom build macro pad for similar use cases. So Alexander Steiner is getting back to work and learning more about in the app deaf marketing So he's asking somebody has some recommendations for learning materials. And Amman font as well is, is hoping that Xcode cloud is coming out of beta. And top Paulo giraffe is wishing Donny Happy New Year. And that's about it for for this week's Monday morning tweet. Usually there's a lot more responses on it. But I can imagine that just right after New Year, people are still just trying to get back into their normal day to day rhythm again after a few days or maybe a few weeks off. And yeah, I hope everybody has a great new year. And 2022 will be a lot less Corona focused and last two years that we've been dealing with, so best wishes to everybody and happy new year. If you have any feedback or questions, please reach out on Twitter at app Force One, my DMs are always open. And if you're interested in appearing as a guest on my podcast, please reach out again to Twitter at app force one because I'm always looking for new people to be a guest on my podcast.