Interview with proglib.io
Recently I was interviewed for the Russian IT website proglib.io. Since it might be interesting for non-Russian speakers, here it is in the original English version.
WWDC21 keynote review
A new year, a new WWDC with once again new iOS, iPadOS, macOS and watchOS releases. If you ask me, I think yearly releases are overkill and really not necessary; I’d rather have Apple split off features like Weather, Maps, Notes and more into...
Mentee Question 5: What's the deal with coordinators?
A few weeks while ago in my how to get started article I mentioned coordinators in the “What architecture should I use?” section, and how they allow you to decouple your view controllers from one another, and improve the way you can test your code....
Mentee Question 4: When to use PassthroughSubject and CurrentValueSubject?
That’s a great question! And actually one I asked myself too, when I just got started with Combine. Let’s first explain what PassthroughSubject and CurrentValueSubject are though. Subjects are a kind of publisher that you can subscribe to, but can...
Mentee Question 3: How to know when multiple publishers completed?
In JavaScript-world, it's really easy to know when multiple promises completed: just use Promise.all. How do you do the same thing in Combine?
Mentee Question 2: How to get started
Resources for learning Swift and UIKit, what to build first, opinions on Unit Testing, and more.
Mentee Question 1: UIKit or SwiftUI
My take on the very common question "What should I learn or focus on? UIKit or SwiftUI?"
Book review: Thinking in SwiftUI
A while ago I asked on Twitter which Swift-related book I should review next, and overwhelmingly Thinking in SwiftUI by the objc.io guys was chosen. An excellent choice!
Exploring two-way databinding solutions in UIKit
With SwiftUI we have the @Binding property wrapper that makes it really easy to create a two-way databinding between a form field and a model, but in the UIKit world it's slightly less easy. Let's explore some solutions.
Book review: Practical Combine
It's almost exactly 10 years since I wrote my last book review. Time flies! Also, it makes me realize that the way I've been learning has changed dramatically. I am much more guided by autocomplete and documentation within Xcode, and in-depth articles and videos about one particular topic, instead of reading books.
WWDC20 review
A quick review of the keynote and State of the Union talks. Let's see which of my wishes have been fulfilled, and which SwiftUI problems have been solved.
A review of SwiftUI problems
I've been working with SwiftUI for almost half a year now, and in that time I've learned a lot. I love a lot about it, but there are also so many bugs and issues that need workarounds that it's kind of maddening.
WWDC20 wishlist
WWDC is just around the corner, and we're all waiting like little kids at Christmas to see what Apple is going to announce. Most of us also are hoping for specific changes, here are my top wishes.
Connecting Storekit to Firestore via Cloud Functions and webhooks
I've recently added subscriptions to my Critical Notes iOS app, using Apple's StoreKit. Here is how I hooked it all up to Firestore including server-side receipt validation.
Review roundup: iOS debug tools and inspectors
All of a sudden it seems there’s a big effort to create debugging tools for iOS developers. Some are free, they all have different features… Time for a comparison. PonyDebugger “Remote network and data debugging for your native iOS app using Chrome...
iOS development: three years later
In April 2010 I started to work on my very first iPhone app. A new language, a new IDE, a completely new way of thinking about development (threads! memory! crashes!), it was very exciting. In these three years quite a lot has happened to us iOS...
Apple's worst iOS framework: MediaPlayer
When I started to work on Last.fm’s Scrobbler for iOS, I though it would be quite an easy app to create. After all, it’s basically a couple of lists of artists, albums and tracks, and all actual music playback will be done using the MediaPlayer...
MPVolumeView (Airplay button) on an UIBarButtonItem
In an app I’m currently building, the client wants an Airplay button in the navigation bar, with a nice background like so: After trying some things, the solution seems to be to loop over the subviews. It feels a bit hacky, but works perfectly:...
My wishes for iOS 5
In June 2010 Apple finally added multitasking to the iPhone (the iPad had to wait ’til November to get iOS version 4) and with this resolved one of my biggest complaints about the operating system. And while I really enjoy iOS on the iPhone and the...
My thoughts after having completed my first Appcelerator project
A while ago I set out to build my third mobile application. Only this time the client wanted not only an iPhone app, but one for Android too. So that’s why I turned to Appcelerator once again, after my failed first attempt. In case you don’t know...
Once again I turn to Appcelerator
After I decided to create iPhone apps using just the iPhone SDK and the Objective-C language, I’ve created two iPhone apps that are available in the Dutch App Store. Development for app number three has started today, but no longer will I be using...
Book review: Head First iPhone Development
In a previous blogentry I wrote about some great online resources I found to get started with iPhone development. I read the C and Objective-C introductions, watched the first 12 or so episodes of the Stanford courses and did the assignments that went along with it. Well, at least I tried to do all the assignments, but they were not easy with just the information from the taped lectures. There is a ton of information in them, but are kind of boring to watch, and you don't learn that well from slides.
Getting started with iPhone app development
For a pretty long time I wanted to make an iPhone app, ever since the App Store opened really. But, I’ve never programmed for Mac OS, never done any C or C++ (let alone Objective-C). In fact, I’ve never created a desktop application, only working on...