AppForce1: news and info for iOS app developers

WiFi needs to be easier, but gradients are always cool

February 08, 2022 Jeroen Leenarts Episode 67
AppForce1: news and info for iOS app developers
WiFi needs to be easier, but gradients are always cool
Show Notes Transcript
Jeroen Leenarts:

Hi, and welcome to the 67th episode of my podcast. My name is Leenarts. And I've been developing software for over 20 years developing iOS apps for over 10 years and I've been on the verge cocoa has for over eight years. If you're an iOS app developer, you should listen to a podcast because we'll keep you updated on interesting articles, conferences and events you might not have heard about in this app episode I'm going to talk about always correct read in text in UI Kits learn how to bring your Swift UI app to life with advanced animations. Memory management when using async await in Swift, understanding opaque types in Swift, and 10 little UI Kit tips you should know I will also mention a Twitter space that I've been working on. And the next meetup by Coco heads, we will have to Bowditch there with Coco hats introduced in favour CMS. So let's get started. It's been a busy week. For me again, one additional thing that I've been working on is getting some Wi Fi and home setup fix. Because this Monday, they upgraded my internet connection from ADSL to fiber optic link. And the disadvantage says that right now, if I have a wired connection to my router, I have like full speed 200 megabits up and down. But if I tried it in the attic, my I can maybe like 5060 megabits, so I'm looking into ways that I could improve my speed upstairs. Of course, people always say you can draw a cable from the ground floor all the way upstairs. But I'm looking in ways that helped me in other regards. I've always been using these Devolo magic one powerline adapters, and they've been working credit but for some reason, even if I'm like up close to the thing, and it's very close to the actual internet connection on my power network, I'm still just seeing maximum of like 80 to 90 megabits per seconds. While I know that I have like 200 megabits, because if I attach my Raspberry Pi to my router directly with an ethernet cable, I just can flat out saturate my connection with 200 up and 200 down. So really trying to investigate ways that I can improve this. If somebody has some thoughts on this. Yeah, please let me know. I'm very curious as well, well, not upgrading my default, Powerline Adapters might be a worthwhile and ever because I have the magic one. And by now you also have the magic two and the magic next. I know it's complicated products spectrum that you have to follow. But I'm just wondering if it's like worthwhile to upgrade these devices, other than maybe should look more into a mesh type Wi Fi setup. But then you have to deal with the situation of figuring out which MES system is a good one to purchase. Because, yeah, there's there's all kinds of new details involved. And yeah, for upgrading the hardware, I definitely want to check out Wi Fi six if that's an option. A lot of kids being angry that that TV show is interrupted. Fortunately, the the hardware and software is built in such a way that it will continue where they were at. But yeah, they didn't really enjoy me flipping some switches every now and then over the past couple of days. Yeah. So hopefully I can figure this out of interest is that on Wednesday evening, I will be hosting another Twitter space with Stefan, it is titled Iris Coffee Chat leadership as developer No matter your current level, it's going to be an interesting one. Because, of course, it will be based on the book that I wrote, but also on the experiences that that Stefan and I have with leadership in any way that you can showcase that as a software developer. So it is not only like leadership in the classical sense, leading a couple of people and telling them what to do. But also in your personal practices that allow it to show leadership and just your day to day job as an individual contributor, very much looking forward to sharing some info on that. And I really hope that people will join. Because so far, it's the third Twitter space that I did with Stefan. And the first two were very successful. And we had a lot of feedback on that. So it's quite a lot of fun to do that. And three, delivering the audio content as an episode on my podcast is also very beneficial, because that allows us to have more people even listened to it. And also we get a lot of feedback on that. And just looking forward to to what people think on this topic that is very near and dear to me. Join us on Wednesday evening, there's a link in the show notes. And otherwise, just have a look at my Twitter, you're bound to run into this Twitter space in the coming days when I announced and if you're only hear this podcast after Wednesday, of course, it will be recorded and you can listen back either on Twitter, and a few days later. You can have listened back on my podcast feed. Yeah, let's just dive in with all the content that I have to share on Wednesday evening. Next week. That's the cocoa has meetup and they will be having an interesting guests. So teba Bowditch is doing a talk about feather CMS and Pharaoh CMS is a swift based content management system that is based on vapor four. So it's server side Swift. And now seeing all the content that TiVo produces. This is going to be an epic talk with a lot of cool information on this open source product that is creating with feller CMS and it might be a very interesting thing to utilize in your next project for your app who knows have a look at it and being able to use Swift on both the front end and on the back end. That's that's very interesting. concepts to investigate. So I definitely recommend that you check out the meetup with TiVo, as well. And again, this one will also be recorded and shared on YouTube. So don't fuss too much about the timing of things. If you're in different time zones, you can always look or listen back on the recordings. So that's enough talking about me on just some generic topics. Let's dive into the articles of this week. The first one is by Philip Nemecek. It's called almost correct reading text in UI kits. Applying gradient colors to UI labeled text isn't straightforward. And in this article, he wants to figure out how to do it and how to do it correctly. So firstly introduces the basic solution. That's pretty straightforward and has already a nice effect. But immediately, he can show what problems you will be running into if you do a gradient on the UI label in this way, so in the end, he will come up with a way to use a CA gradient layer to make sure that the gradients on the UI label is entirely up to spec and that he has a gradient that looks exactly like he wants it to show with some screenshots in there. And it's a small little thing that you just need to know that there's more available beyond just the things you can do with a gradient layer on an image directly, it's just good to know that there are more ways to apply grading to some text on your screen. And the second article is by Mr. Scam fee, it is on the stream blog. But it's one of those really solid ones learn how to bring your Swift UI app to life with advanced animations. Basically, if you want to have a crash course on how you can create animations in Swift UI in your iOS app, have a look at this article, this plenty of information in there lots of codes, lots of nice little samples with with clapping emojis and bouncing hearts and all kinds of cool things. And yeah, it's just a simple introduction on how you can do cool animations with Swift UI. In your iOS application, all the code and resources are included. So definitely check this out. If you want to get started animating some stuff on screen with Swift UI. The third article is by John sundal. It's called memory management when using async await in Swift. Managing an app's memory is something that tends to be especially tricky to do within the context of asynchronous code, as various objects and failures often need to be captured and retained over time, in order for your asynchronous calls to be performed and handled while Swift's relatively new async await syntax does make many kinds of asynchronous operations easier to write, it still requires you to be quite careful when it comes to managing the memory for the various task and objects that are involved in such asynchronous code. So John dives into this topic he writes about implicit captures and what implications they have to your memory when using async await. And also what things you need to make sure and think about when you are canceling tasks. Next, that that also long running tasks, maybe that have an observation involved. So the observing object will be retained for the duration of the task. And if it's a long running observation, take that into account. And there's also some ways that you can deal with this, according to John, yeah. So basically, the conclusion is that async await and tasks make asynchronous and memory related issues a thing of the past or maybe not, you always have to be very mindful of what things you are doing, what you are keeping a memory and how you're dealing with all these issues. So Solid overview by John and definitely worth a read. If you're working with async await codes, or you're planning to work with async await codes. The fourth article is by Natasha for Deva, she writes about understanding opaque types in Swift, learn how to use opaque return types in Swift and swift UI. So Swift 5.1, introduced a new language feature called opaque types. Opaque types give you the capability to return a concrete type without having to expose it, Natasha merely dives in to an example about what this means. So it's a lot of little samples. So he understands to what these opaque types are, and how you can use them in your code. And once she has explained what this concept is, and how you can use that in your code, she also indicates how this applies to Swift UI and what role they might play there. So it's one of those relatively short rates, but yeah, just a little bit of information. That's good to have good to know. And I really liked the way that she set up her article with a lot of samples and, and good thoughts about how you can use opaque types in your code. Then there's an article by a TiVo Bowditch, it's called 10 little UI Kit tips you should know in his article, he has gathered his 10 favorite Modern UI Kit tips that you definitely want to know before you start your next projects. It's 10 little tips that you you just want to know when when starting new projects, as the title says, and I will just name the titles of these 10 tips and then you can decide for yourself but not you want to check this article. So first one custom UI color with dark mode supports sounds interesting right? Observing trade collection changes UI button with context menus, don't be afraid of subclassing views, always large navigation titles, custom separators for navigation and tab bars, custom tab bar items, load view versus view did load stack views and outlay of anchors, create a reusable components library, some food for thought there, check out this article and have a read each tip that's it we're shares is quite short. A lot of links And each tip actually to make sure that you can get the full detail on his concepts. There's a couple of things in there that made me think, yeah, I definitely have seen this before. Yeah, but I should remember this. Next time I open up my Xcode editor and see if I can apply these in practice. That's the five articles of this week, make sure that you sign up for my newsletter, actually, that's app force one dotnet. There's a big sign up button at the top of my page. And there's also an archive available, you can see all the past editions that are sent with revenue, and also the additions that are sent before that with Sandy. So you can have a look back and notice what kind of a big change I made in the concept of my newsletter. So check it out as sign up, if you'd like really wants to share what I've been working on. And also some other things that are happening. Besides my podcasting. Next topic that I wanted to discuss is Danny's Monday morning tweet. And once I've done that we're already done for this episode. First answer me on Danny's Monday morning tweets planning to record a podcast episode doing a Twitter space, as already mentioned, gets the next meet to catch me that sort of did that also already and published an interview with John Reed that'll be on my podcast feeds next Thursday, really looking forward to what people think of this interview with John. And fortunately, our now have a nice back catalogue of interviews available to me and plenty of interviews planned in the coming weeks. So a lot of cool content coming your way, actually. So Josh mentioned that he did it again. He created a new Xcode projects and created an widgets app that is called What's my age? Again, it's a very neat little thing that helps you remember what your age is. People probably know that. But also how many months your kid is because you're having the exact number of months, right is for some people very important. And Josh has to admit that he kind of gets that every now and then. Old. Hudson, his own son is but now with a widget he can just have a glance. And then he knows exactly how many months his kid is. And he thought that would be useful for other people as well. So nice one, Alia GDR is busy as always, he's finished a published an episode with Jordan Morgan. That's going to be an interesting one. He finished his REST API integration with MailChimp. That's an interesting one as well. And he continues to progress of his website redesign and he's starting to work on the heart which iPhone app that's one of his products and Rica, Capanna has released an app called neiti. That's a project management tool. So check it out. It looks really great. Probably something that could be useful for some people. And Eamon, one of my previous guests mentioned steady is recovered from COVID and helps to be back on track with learning and starting posting some new apps that are 9% Complete already. So glad to have you back. And if we'll help so that's good to hear. Phillip shares the article that he created with the gradients on text on UI kit, and Dominic Houser is starting a new project Xcode dot tips, it's it's a nice tips website on Xcode. And what's really nice about this website is that the artwork is really much hand drawn this material that you could use, like you could drag and drop these images on your on your slide deck and have an awesome presentation already. So pro tips for your next presentation. If you need to put one together quickly, make sure to reference the source Xcode dot tips and Jake Nelson is continuing to try and get Apple's App Review team's attention to engage the dialogue about this game word game hero, which is Facebook removed from the App Store. So Shiva is having some review issues. And yeah, he really hopes that, that he's able to deal with the review process and that he has like a solid good outcome for his case. Richard scratches own he recently published his first iOS app that helps you track your job applications. And he was very happy with results and how it worked. And it's immediately ignited sample apps that he could showcase on his next job application. So that's double double the profits for Richard and I hope his job search went well. Stuart Lynch announced that he is soft launching his nine part will clone YouTube tutorial. So he Yes, he has a great content idea for his next batch of tutorial videos. And now these will be good. Christian is doing his free Swift language coding class for kids. He keeps on doing these ones and every now and then he shares some images. And it's so nice to see that young kids age like between seven and 10 get exposure to software developments in such a such a concise and condensed and a meaningful way by a Christian. So great job there. And as I'm sharp is getting ready to publish his Mapquest programming with Swift why course the course is going to be available tomorrow. So that's pretty soon actually. So that sounds really good. I look forward to him sharing some links on that. And let's just keeps on going and going. And what's really surprising is just the sheer number of products that people are launching this week. It's just crazy to see how much things are being launched. Because I'm just scrolling and scrolling and scrolling and stuff just keeps on getting a few and I think on his thread the thread has like more than 20 different products being worked on or announced or like launched already. So just great to see. So that's the content. For this week, I was considering sharing some thoughts on the developing story of the App Store review guidelines for dating apps in the Netherlands. But I decided to postpone on that. I just want to see how it develops a little bit further before I really share my opinion on that. I do want to say that it's typical. Yeah, big corporate behavior. And I know what the EU did to Microsoft back in the day and yeah, I really hope that Apple does not miss judge this situations. Because if the EU gets the wrong hat on then this is going to be a painful situation. So let's just see how this develops. And yeah, talk to you again next week. So there's plenty of stuff to share. And remember, sign up for my newsletter.