Once you’ve hit the level of a professional iOS developer, it’s easy to feel like you’re spending less and less time coding, and more time just trying to stay on top of the shifting sands of framework updates, library changes and don’t even talk about Apple dropping the iOS 14 GM just a day before public release!
You’re not alone! It’s hard as a professional to stay on top of everything. That’s why we have one of the largest and most up-to-date collections of advanced iOS books and video courses anywhere to help you stay at the top of your development game.
We’re making a selection of Pro-level iOS courses and books free for everyone to consume, for a few days this week. It’s our way of giving back to you, the Pro developer, who builds the apps upon which our very industry depends!
Read on to see what we’re making free for the next few days, and how you can get started with these video courses and books today!
Top Advanced iOS Video Courses
We’ve taken a look at our viewing stats, and chosen the top three most popular advanced iOS video courses from the last month to showcase for you. The breadth of these three videos is pretty typical of our collection of video courses, which boasts over 4,000+ videos on a massive range of concepts, frameworks and technologies that are critical for your success as a professional app developer.
These three Pro-level iOS development courses are free for everyone until the end of Thursday, October 29:
Combine in the raywenderlich.com App
Did you know that our official raywenderlich.com iOS app is open-source? And did you know that the app uses Combine behind the scenes to power parts of the app based on changes stored in User Defaults?
In Combine in the raywenderlich.com App, you’ll dive into the details of how we use Combine in a real-world app scenario, while you cover the following concepts in five videos:
- Passthrough Subjects: User settings for the app are stored in User Defaults. To publish changes from them, an ObservableObject, PassthroughSubjects, and AnyPublishers are employed.
- Unit Tests: GRDB, which the app uses for data storage, relies on the CombineExpectations library. SettingsManagerTestCase makes use of its Recorders as well.
- Any Cancellables: Any Cancellable (which the sink method returns) is a type-erased, Hashable class that you’ll be using a lot with Combine.
- Observable Objects: ObservableObjects make use of a publisher, named objectWillChange, which doesn’t send any data, and can’t fail.
- Published: Published is a property wrapper which automatically adds a publisher that emits new values. It can be cleaner than calling objectWillChange.
This course is recommended for intermediate to advanced iOS developers with some experience using SwiftUI and User Defaults, but not necessarily any Combine experience.
Intermediate iOS Design Patterns
Level-up your knowledge of design patterns with this course! Covers the MVVM, Factory, Adapter, Iterator, Prototype, State, Multitask Delegate, and Facade patterns.
Intermediate iOS Design Patterns covers eight modern design patterns across 22 videos in two sections:
- MVVM, Factory, Adapter, and Iterator: Dive deep into each of these patterns with a theory video for each pattern, as well as a practical usage video to exercise your skills.
- Prototype, State, Multitask Delegate and Facade: Go further with even more design patterns; again, each of these patterns has a video that talks about the theory of this design patters, and then follows up with a practical usage video to practice what you’ve learned, along with a bonus videos that demonstrate when you should use each pattern.
This course is for intermediate iOS developers with a working understanding of iOS development. New to design patterns? Check out our Fundamental iOS Design Patterns course first.
Level up your MapKit knowledge! Learn how to customize your maps by way of custom drawing. Discover the difference between an overlay and a renderer, and how you can use those components to expand the map by providing more information, or by creating an entirely map using your own map tiles.
Advanced MapKit contains ten videos:
- Introduction: Welcome to the course! Learn about the cool ways MapKit lets you change the visual look and feel of your maps.
- Understand Overlays and Renderers: Overlays and Renderers are the key components from doing any custom drawing on the map. Let’s see how to use them.
- Draw on the Map: This episode will get you started with drawing by showing how to create shapes on your map.
- Overlay an Image: Check out how to add an image to provide detail to an empty portion of a map.
- Get Directions: Rendering directions requires two steps. First you need to request directions, which you’ll do in this episode.
- Draw Map Directions: Once you have directions, you must draw them on the map. Let’s try that out!
- Use Third Party Map Tiles: This episode covers the process of swapping out the Map Tiles with Open Street Map, while still being powered by MapKit.
- Create Custom Map Tiles: You can also substitute standard map tiles with custom ones, creating your own unique maps.
- Incorporate GeoJSON: GeoJSON allows you to add rendering information to a map from regular JSON files.
- Conclusion: You’ve learned a lot about cool MapKit effects! Check out some resources to help you learn more about MapKit and Core Location.
This course is designed for developers who have experience with iOS, Swift, and most importantly, MapKit. The viewer should also have UIKit experience. The course is meant for developers to “level up” their MapKit skills in order to fully customize the map.
Top Advanced iOS Books
You love our books, and these latest two professional iOS books that we’ve updated in the last month are no exception! These two books are among the most popular books we’ve released in the past year, and they’ve just been updated to iOS 14, Swift 5.3 and Xcode 12.
You can read these two Pro-level iOS mobile development books for free until the end of Thursday, October 29:
Combine: Asynchronous Programming with Swift
Writing asynchronous code can be challenging, with a variety of possible interfaces to represent, perform, and consume asynchronous work — delegates, notification center, KVO, closures, etc. Juggling all of these different mechanisms can be somewhat overwhelming. Does it really have to be this hard? Not anymore!
With Apple’s introduction of the Combine framework in WWDC 2019, it is clear that Apple aims to position declarative and reactive programming in Swift as a long-term investment and a game-changer in how developers perform and compose pieces of asynchronous work, making it a must-have tool at your disposal.
The introduction of Combine as a built-in framework in Apple’s ecosystem is promising news to developers who were interested in frameworks such as RxSwift or ReactiveSwift, but didn’t want the overhead of a third-party dependency; and while experience with either of the above could be useful, it is not a prerequisite for this book. You’ll learn everything from the ground up to become a true Combine master.
Combine: Asynchronous Programming with Swift has 20 chapters over five sections:
- Section I: Introduction to Combine: In this part of the book, you’re going to ramp up over the basics of Combine and learn about some of the building blocks it comprises. You’ll learn what Combine aims to solve and what are some of the abstractions it provides to help you solve them: Publisher, Subscriber, Subscription, Subject and much more.
- Section II: Operators: In this section, you’ll learn the majority of operators Combine has to offer, divided into useful groups: transforming, filtering, combining, time manipulation and sequence. Once you’ve got your operator chops down, you’ll wrap up this section with a hands-on project to practice your newly-acquired knowledge.
- Section III: Combine in Action: These five mini-chapters have a focus on practical approaches for leveraging Combine for specific use-cases. You’ll learn how to leverage Combine for networking, how to debug your combine publishers, how to use timers and observe KVO-compliant objects, as well as learn how resources work in Combine. To wrap up this section, you’ll get your hands dirty and build an entire Combine-backed network layer — how exciting!
- Section IV: Advanced Combine: Start by learning how to use SwiftUI with Combine to build reactive UI experiences, handle errors gracefully, and work with schedulers, custom publishers and backpressure. You’ll wrap up this section by learning how to properly test your new Combine code.
- Section V: Building a Complete App: Mastery takes practice, and practice you shall! You’ve made it through this entire book, an amazing feat by all means. It’s time to truly solidify the knowledge you’ve acquired throughout this chapter and build an entire app using Combine and SwiftUI.
Catalyst by Tutorials
Catalyst by Tutorials shows you how to take all of those great apps you’ve build on iOS and run them right on macOS. But like everything else with Apple, it’s not always as straightforward as you’d like it to be. This book will show you how to design your apps to work well on macOS, what you can and can’t port between the two platforms, and any other “gotchas” to keep an eye out for when building apps under Catalyst.
This book is for developers who have a good handle on building iOS apps and want to learn how to port those apps to run on macOS as well.
Catalyst by Tutorials has 14 chapters over three sections:
- Section I: Making a Great iPad App: In this section, you’ll take an app written to run on iPhone and adapt it to run on iPad. Then you’ll add some features to make it behave like a first-class iPad citizen. And through the magic of Catalyst, these features will make your Mac app better too!
- Section II: Making a Great Mac App: The good news is that most of your code will be useful for both iPad and Mac platforms. But what about the things that are Mac-specific: like mouse support, Touch Bar support and more? In this section, you’ll take the first-rate iPad app from the previous section and add Mac-specific touches to make it work well on macOS.
- Section III: Distributing Your App: Congratulations! You now have a Mac app. But getting that app to your users can be a little different than on iOS. In this section, you’ll learn the options for distributing your app and how those options work.
Free For the Next Three Days!
We’re making all of these Pro-level courses and books absolutely free for the next few days for everyone to enjoy, but only until Thursday, October 29, 2020!
To start watching or reading right away, simply head to any of the Pro courses or books below that you want to dive in to:
- Video Course: Combine in the raywenderlich.com App
- Video Course Intermediate iOS Design Patterns
- Video Course: Advanced MapKit
- Book: Combine: Asynchronous Programming with Swift
- Book: Catalyst by Tutorials
Where to Go From Here?
If you’re interested in digging into one or more of these courses once the free weekend ends, great news — they’re all included as part of an Ultimate Pro subscription, which gives you access to over 4,000+ videos and 40+ books in our online mobile development library. It’s simply the best way to keep your skills sharp and stay at the top of your iOS development game.
If you’re interested in learning more about the Ultimate Pro subscription, we’ve got a handy post here explaining what’s included, or you can head over to our main Ultimate Subscription page to see which subscription is right for you!
Enjoy – and let us know if any of these courses are your favorites, too!