AppForce1: news and info for iOS app developers

Conference talk and some DocC follow-up

February 28, 2022 Jeroen Leenarts Episode 70
AppForce1: news and info for iOS app developers
Conference talk and some DocC follow-up
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

Episode 70 already, and what a week it has been this time round. Loads of stuff going on and then there’s the elephant in te room. I am unsure where I would start this week. Just know I did my thing to support certain people on my own account.

News / Events

Techorama Talk description ofmy talk.

Donny Wals on Twitter

Runway
Put your mobile releases on autopilot and keep the whole team in sync throughout. More info on runway.team

Lead Software Developer 
Learn best practices for being a great lead software developer.

Support the show

Rate me on Apple Podcasts.

Send feedback on SpeakPipe
Or contact me on Mastodon: https://hachyderm.io/@appforce1

Support my podcast with a monthly subscription, it really helps.

My book: Being a Lead Software Developer

Jeroen Leenarts:

Hi, and welcome to the 70th episode of my podcast. My name is Jeroen Leenarts. And I've been developing software for over 20 years developing iOS apps for over 10 years and I've been running the Dutch CocoaHeads for over nine years. If you're an iOS app developer, you should listen to a podcast because it will keep you updated, interesting articles conference and if events you might not have heard about. In this episode, I'm going to talk about what is the iOS version global market share DocC plugin public service announcements, X et NS predicate expectation is slow and what to do about it. That's a difficult one to pronounce. Using the few builder attributes to implement swift UI views in methods, dynamic and semantic colors for for one, and also I have a conference announcement to make. I'll be a speaker at Tech Rama 2022 in Antwerp. Furthermore, I will be talking about Danny's Monday morning sweet. So let's get started. A lot of things are happening in the world right now. And I don't want to go into too much detail there. I have my opinions on that. And I have for some of them on Twitter. But what I do want to mention is that my dad is currently undergoing some surgery, it has been planned, it was supposed to happen in January because of some preventative measures. But due to the whole Corona thing and the taxation of the hospital system in the Netherlands, they had to extend when he was able to get in for the surgery a little bit. So fortunately, he is able to get this operation today. And I look forward to getting the news from my mom that everything went well and that he should be home tomorrow. Again, it's some pre emptive work to make sure that some stuff in his arteries keeps connected to the way it should be. He has had some history of aneurysms over the years. And right after finishing the recording session of this episode, we got good news of my mom. He's doing well and in recovery right now. So hopefully you can see him next week. Furthermore, my kids are at home this week. So it's going to be an interesting one to work actually while they're downstairs, tearing the house down despite my wife's presence, because I don't know what it is with these two. But if they're not going to school, then they are always ready to just go ballistic really, which is a bad choice. Roberts actually considered a world circumstances as well. So anyway, too much stuff going on right now. So I'll just keep it at the technical content stuff, because that's something that I do understand and something that I can talk about, without too many bad jokes really about other topics. So the first article that I'm going to talk about is what is the iOS version global market share? This is an article written by Soren Wu. And why do you need to know about market share of each iOS version? Right? Well, Apple released a new iOS version every year with new and improved API making your life as a developer easier. Every day, developers want to support the latest iOS version, because that makes it a lot simpler for you, right not having to support the old stuff. But that's not always possible. So clients, they usually want the opposite, they want to have as many users covered with their app as possible, which means that you also have to support older versions, because for some reason, people have a tendency not to update to the latest version of iOS right away. So the best thing that you can do is to change the minds of their users and also of your clients directly. Because it is a burden to support older versions of iOS, but not always possible. So you need market share numbers, right? Well, in this article, certain ws shares some information, a resource that you can look at to have an idea of what the global market share of iOS version adoption is. And with this information, you should be able to have a stronger case with your, with your clients to be able to advocate for dropping an iOS version release. The next article is by hack J. It's Doxy plugin Pribyl public service announcements, there's been some changes in Xcode 13.3 beta three. And one of these changes has some effects on how you can publish the Doxy content as a static website. In his article, he lists some scripts that you can use to make sure that your publication process of your static version of your doc C output still works. So very helpful that he did this little follow up on the article that I mentioned last week. Now we'll get to the difficult title. It's a blog by mocha coding FCT NS predicate expectation is slow and what to do about x et NS predicate expectations requires a timeout of at least 1.1 seconds or it will fail regardless of whether the behavior on the test occurred. To avoid slowing down your tests use nibbles to eventually instead, asynchronous code comes in various forms, callbacks notification delegate calls, and most recently async await does not no need to worry. Because there's a way that you can also test these bits of code when asynchronously For that you want to test change the state of the system as the result from ethical that doesn't come with a callback or hook xe test, obviously, xe NS predicate expectation to test it, it has some drawbacks. And in this article to make sure that you can deal with this asynchronously in your tests to the best of your abilities, he recommends that you do not use Axi tn NS predicate expectation and that you use nibbles to eventually instead, in this article, Gio will list what his reasons are, and what is his argument for actually not using the system default provided way, but using third party dependencies weigh. So it's an interesting read, make up your own mind. But it's good to know that our options out there that could make your life a lot easier when testing asynchronous code. So serial coder dot Def has an article on using the fuel bill attribute to implement switch to refuse in methods. So let's grab it all. Writing about using the fuel bill attribute to implement switch to face using methods. thriftway provides undeniably a funny and innovative way to create user interfaces, we can get great visual results much faster and with less pain compared to UI kids usually tend to break down complex you with smaller components, which of course is a good practice. Nobody really wants to huge code structure that contains everything in the view. And when it's possible to have smaller chunks of readable and manageable code. Most of the times, you achieve that by creating additional spiritual source files where each one contains the implementation of a different part of issue. Although this is the way to go. In the majority of cases, there are circumstances where it seems a bit overkill to create a new file just to keep a small portion of the few separate. Thankfully, there's an alternative, more immediate and quick to implement, which is to implement parts of a view in methods that's feasible thanks to a specific attribute in Swift UI called View builder, which according to official documentation is a custom parameter attribute that constructs views from closures. In this article Gabriel shows how you can use this view builder attribute to make few hierarchies with the use of methods. It's a nice overview, it allows you to structure your Swift UI high view hierarchies in a little bit of a different way. And I think it's good to have this tool in your arsenal because it gives you a lot more flexibility, and makes you able to define few hierarchies based on some logic that you have in your code, instead of just having to flesh out the entire view hierarchy, and then enabling and disabling the different pieces as you go. So have a look at this article. It's a nice in depth one on the Swift UI. And I think it's a very convenient tool to have the next article is by Jordan Morgan dynamic has semantic colors for four colors are complicated beneath the sea of color theory, hitting contrast ratios and setting on 48 Different furniture for great iOS 13. Hold a bit the whole situation by introducing chocolate, semantic and dynamic columns and iOS made this easy to deal with though no matter if you're addressing the concern by using Apple fender defaults or rolling your own. Instead of judging Penelope of colors, you can lean on this meaning instead of their RGB, HSL, or hex values, the big thing that you need to remember off this article is that whenever you pick a color, it's never one color that you have to pick. At the absolute minimum, it's two and for most colors, that's no Misha before, read the article by John Morgan to see why this is the case. And you will know a lot more about colors and definitely check out his book series. It's a good solid rate. And that was already the final article of this week. I hope and miss nothing in the editing because I made a lot of mistakes when reading the content for this week. What I also wanted to mention is my presentation at tackle Rama that's an Android based conference, the title of the talk is being a lead software developer. A What did I hear the title before somebody wrote a book about that, right? So you work hard solving problems and coding smart solutions is your thing. And then there's a day when the bomb was dropped? Would you like to be promoted to the team's lead developer? This was my reality a few years ago, I did not know much about being a lead developer. I worked with many great ones over the years. But now I had to become one. I had to learn new skills, consider factors outside of my comfort zone. But I had to learn on a number of topical areas. I will go into detail about the lessons I learned when growing into my role as a lead software developer. Everybody's environment is different. But I think there is something useful in this presentation for everyone. So if you're interested in this talk that I will be giving on May 25 in Antwerp, have a look at Tech rama.pe link will be in the show notes. And then the final thing I wanted to touch upon, that's the Monday morning tweets by Donnie I skipped it last week. So Danny's Monday morning tweet. Of course I'm recording my podcasts and doing all kinds of other things like preparing content and preparing presentations and stuff because I have a number of things coming up in the next couple months. But there's also other people who do very much very different very interesting things. For instance, Francisco Marine is working on his Hugo theme. That's a static site generation tool. You should check it out. It's very quick and easy using Shawn Allen's def course and he's waiting for a foot X ray results. So I hope it's alright Francisco and then there's also Katrina, she's learning new stuff and just coding To help her take her mind off of the absurdity that is happening in the world right now. So but Trina and the boyfriends are making an app to manage home smarts, very curious to see what that will be. And Chris Szalinski released his first app on iOS. It's a simple one, but it uses core data. And the book by Donnie really helped him out. So this week, he will be back working on his personal finances app and that he's been working on for two years already. Every card says that he's trying to learn combined during this and the coming weeks, and Daniel recommends his book, of course, Flo writes code says mostly studying for exams this week, but also hacking away at a little game that you're working on. Christian Lobos mentions that his app is gaining some traction in the stream deck Mac productivity bubble. So this week, he will be spending time on learning proper advocate to improve the UI. The app is called button creator for stream deck sounds very useful if you have a stream black minor screen is mentioning Good morning. And he feels very much the same as Donnie about all the real circumstances. So he finds it hard to say Happy Monday. So over the weekend, he pushed the new landing page for email me app, and it's a new notetaking app that probably involves email, right. So that's it for this week. If you have any feedback, please reach out on Twitter. I will be hosting another Twitter spaces on Wednesday at least that I'm planning as well. So have a look at my Twitter, please follow me and you will definitely not miss that one. And if you do miss it, there will be a recording available afterwards. So have a good one this week and talk to you again next week.