AppForce1: news and info for iOS app developers

SwiftUI first impressions, happy birthdays, speaking at a conference

November 15, 2021 Jeroen Leenarts Episode 55
AppForce1: news and info for iOS app developers
SwiftUI first impressions, happy birthdays, speaking at a conference
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

First impressions and presenting at a conference. How cool is that? NSSpain is happening this week, and I am part of that. Now that's even cooler.

Donny's monday morning Tweet.

Come join me online at NSSpain, a 36 hour online conference.

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:

Welcome to The App force one podcast. My name is Jeroen Leenarts. And I've been developing software for over 19 years, developing iOS apps for over nine years, and I'm running the Dutch cocoa has for over eight years. If you're an iOS app developer, you should listen to a podcast because it will keep you updated on interesting articles and events you might not have heard about. In this episode, I'm going to talk about first impressions of Swift UI, awaiting web sockets in Swift UI. Using count first is empty to check whether a collection contains any elements. shift left testing approaches the defer statement in Swift. And of course, Don is Monday morning sweet. So let's get started. Last week, I mentioned an interesting thing I was working on. And it also mentioned the conference. And if you were thinking a bit when you were listening to my podcast, you probably could have put one and one together. On Thursday, this week, I'll be speaking at the NS Spain conference. So that's ns spain.com. Maybe they have some tickets available. They have to conference online, and I think it's going to be great. I've seen the lineup and they're all amazing people, my wife is already doing much better, she's still resting up to make sure that all the effects of her concussion are gone. But yeah, she's getting better every day. And hopefully by the end of the week, she'll be up and running again. So now let's dive into the articles of this week. The first one is first impressions of Swift UI by Jesse Squires. Last week, Jesse has been deep diving infrastructure. Why seriously, for the first time, he has been keeping his eye on Swift UI since it was released. But he's afforded to really dive into it due to a combination of assistance, apprehension, and just being too busy with other projects. However, while taking some time off from contracting work, he decided to dive in. In his article, Jessie details some of the things he likes and that he dislikes about Swift UI. And he does mention that he finds it an enjoyable experience. Ultimately, Jessie agrees with an article that Steve throat and Smith's has written that's which was great for auxilary noncritical UI layouts. But beyond that, he does not feel that it meets barfing, complex, reliable applications. Even with the small projects that he worked on, he had to do many UI and UX compromises that he would not have to make with UI kits. And he would not have shipped to compromise in a more serious app. He has some other app IDs and other in progress apps, which he will not be using Swift UI for not only because it's something that he wants to deploy to early iOS releases, but also because it needs more than what swift UI currently offers. Still, he agrees that swift UI at some point will be the future, but it's just not there yet. So interesting. Read, have a look at it. And let me know what you think. Omar has an article titled awaiting WebSockets in Swift, why WebSockets have become the standard network protocol force jet and event driven based applications, given the ability to provide a persistent communication channel between clients and the server. Rather than pull a server for results at set intervals, web sockets emit messages as they become available to connect participants, resulting in reduced latency and bandwidth. Apple provides inbuilt tools for the URL session object class to connect to a web socket and receive events. However, despite recent updates, leveraging Swift's new concurrency features in iOS 15, the class does not make use of one of Swift's most powerful concurrency features. async sequence in this article are more details how you can tie an async sequence to a web socket. And I think that's a great idea to do that, because it matches up very well together. And there's a lot of code sample in the article by Omar. So reading this article puts you in a place that you can just get started with this in your implementation. I think it's a solid rate. And there's some good stuff in there. And the weblog by Omar I think is a great addition to my reading list for every week. John Sunday on the Swift bus on the block has a nice article that's titled Using counters is empty to check whether a collection contains any elements. It's a nice little deep dive investigating, what's the difference between an SMT check and querying the accounts and comparing that to zero? Which of those is more efficient? What and why is this the case? So it's the one of those nice deep dives that that John is very good at performing. And, yeah, it's just it's just a nice little tidbit of information that that really just can brighten your moods and just reset your brain if you're tackling a complex problem. So keep this article on your reading list. From the moment that you just need to switch gears in your head a little bit. jet in that vein has an article titled shift left testing approaches. In his article he is quickly covering what shift less testing is, and how it helps you find problems early in the software development cycle, and how you can apply it to your work. by decomposing to the tiniest, testable part, you can mock at a granular level, meaning you are testing more production code, it's only one shift left tactic, but it's very effective. cheered recommends you to introduce a protocol for testing at the lowest level possible. This ensures you limit the testing protocols that you are introducing, as opposed to say introducing the testing protocol at every level in your stack. He also has a counter argument that running more production code inside unit tests will probably slow down your testing. But it's a trade off, you're testing more thoroughly, you keep the complexity lower, and your total software development cycle will be shorter. There are plenty of benefits, you know earlier that things break, and you can rely a bit less on integration tests to be confident. And if you catch a bug on your local machine, then you reduce the need to inform others or wait for the CI pipeline to tell you. And you can mitigate slow unit test by only running specific tests. I've linked to articles detailing the defer statement before but this time Gabriel has an article on the same topic. And it's it's a nice reminder of what the defer statement in Swift is and why it is useful. There's a number of examples in the article by Gabriel which clearly defined what defer can do for you in your code. There is not much you really need to know about the defer statement is fifth in the few examples that Gabriel presents in this article. In any case, it's not difficult to understand how defer works. And if you had not been using it in your implementations, you might want to consider start doing so. And those were the articles for this week. So let's move on to Danny's Monday morning tweets. That's an interesting fact actually about today that you should know about Donnie today's his birthday. I think he turned 32 today, so congrats to you, Donnie and so many more years to come. Now let's look at this Monday morning suites. Josh mentioned studies volunteering at a program a completion for high school kids hosted by the college he graduated from. He attended this completion back in 2005, which introduced him to this college and software engineering so he got back every year to help them out. 10 Steph is saying good morning in Tim Cook's voice and he finally released his biggest video yet, which covers all the main topic is with concurrency and futures. A shout out to Danny walls. McKenna cut on is working through a freelance project and she's hoping to make a good progress this week. Also learning UI testing at work. neath Ben Porat is the first time using Swift UI in production. And he needs to Google up everything which is quite normal. If you learn a new API, right? Ryan mentions that he's starting to experiment with Apple cash family as an allowance platform. And he wrote some words about that. As am sharp is releasing a brand new course on testing in iOS. Ben Nolan is planning to launch his Twitter followers app Flocker iOS currently festival of preorder, and he's curious to see how many of the pre orders currently tune the 60 actually installed and we'll use the app. The nice new polling is mentioned in Good morning. And last week she finally absorbed all the WWDC videos about async await and actors. So this week, it's time to get hands on and get dirty with all these async things. Show me Sally is wrapping up figma support for prism and he was having a blast and a lot of fun refactoring and rethinking the process. Key outside Javelin toon is joining a new team working on an amazing project and refactoring it to RX based API's. The only drawback is that they use storyboards. So he's dealing with the conflicts and a lot of patients to actually open them up. polinoame has been pushing updates to their polinoame app. They're improving the Mac OS experience and there was also it was also posted on product hands, hoping more people will stumble across it. Marina is planning to share what he's working on later today. He mentioned that Donnie always asked to early in the morning for marine to actually have a solid reply at Marcus Tanaka is mentioning and Happy Monday to Donnie. And he's working on a new app that integrates with reminders to plan and manage multiple projects. Then is from earlier shipped his first app to the App Store. Pomodoro is now live on Apple Watch. Take a look at the product page. And Desperado is forgetting a binary tree traverse graph search and sort algorithms and work on something AR kits related. This is preparing the final notes for NS pain conference. And Frank saalfeld is starting his iOS job today. And Michelle is busy with interviews But she's also journaling her technical interview preparations. So all know a lot of people are launching new products and people are preparing themselves for interesting steps in their career. So I wish everybody a lot of good luck with launches and switching and just getting a job. And I hope to talk to you again next week. If you have any feedback, just let me know on Twitter, DM me at app Force One, and we will be in touch and I will most definitely reply to your message. Talk to you again next

Unknown:

week.