Kodeco is the new raywenderlich.com

We're excited to introduce our new name, and our new look and feel, with all of the same content you know and love!

Read the full story

Advanced iOS & Swift Black Friday Bundle 2019

$579.90 5/5 2 reviews · Write a Review
  • Platform iOS 13
  • Language Swift 5.1
  • Editor Xcode 11

Our best advanced iOS & Swift digital edition books: SwiftUI by Tutorials, Combine: Asynchronous Programming with Swift, Catalyst by Tutorials, iOS Test-Driven Development by Tutorials, Machine Learning by Tutorials, Advanced iOS App Architecture, Concurrency by Tutorials, Design Patterns by Tutorials, Metal by Tutorials — and a bonus book: Mastering Git!

Developer Guide


For Intermediate Developers

Includes our best advanced iOS & Swift programming books

We’ve bundled together our best intermediate and advanced iOS and Swift programming books to help you level up your development career and stay at the top of your game.

SwiftUI by Tutorials

SwiftUI by Tutorials

SwiftUI by Tutorials is designed to help you learn how to transition from the "old way" of building your app UI with UIKit, to the "new way" of building responsive UI with modern declarative syntax with SwiftUI.

This book is for readers who are comfortable building Swift apps, and want to make the exciting leap into building their app UI with modern, declarative code.

SwiftUI lets you build better apps, faster, and with less code. It’s a developer’s dream come true!

With SwiftUI, you can design your user interfaces in a declarative way; instead of developing app interfaces in an imperative way, by coding all of the application state logic before time, you can instead define what your app’s UI should do in a particular state and let the underlying OS figure out how to do it.

What’s more is that SwiftUI lets you build modern, responsive UI and animations for all Apple devices — not just iOS. So whether you’re building apps for iOS, watchOS, tvOS or any other Apple platform, you can use the same concise, natural language to describe your UI and have it look stunning — no matter where your code runs.

Combine: Asynchronous Programming with Swift

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 is also tightly integrated throughout Apple’s SDKs. For example, the UI framework SwiftUI uses Combine to ensure your app’s views stay up to date, which makes Combine a must-have for your skillset.

Catalyst by Tutorials

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.

Formerly known as Marzipan to Apple insiders, Catalyst lets you extend your iPad apps to macOS. Under Catalina and Xcode 11, developers can now build their iPad apps with macOS as a target.

So if you’ve been hesitating to port your iPad apps to macOS because you just don’t want to have to learn to develop for the desktop, then 2019 is your year!

iOS Test-Driven Development by Tutorials

iOS Test-Driven Development by Tutorials

This book is for intermediate iOS developers who already know the basics of iOS and Swift development but want to learn how to write code which is both testable and maintainable.

To start, you'll learn the TDD Cycle and how to implement these concepts within an iOS application. The book then takes you through Test Expressions and Expectation so that you can test synchronous code.

You'll then write tests to verify networking endpoints and the ability to mock the returned results, followed by writing tests that run against authentication endpoints.

Continue trouble-shooting your apps by understanding common legacy problems, as well as breaking dependencies into modules. And, finally, refactor large classes into smaller, more manageable classes and objects.

This book is for intermediate iOS developers who already know the basics of iOS and Swift development but want to learn how to write code which is both testable and maintainable.

Machine Learning by Tutorials

Machine Learning by Tutorials

Want to know a secret? Machine learning isn't really that hard to learn. The truth is, you don't need a PhD from a prestigious university or a background in mathematics to do machine learning. If you already know how to code, you can pick up machine learning quite easily — promise!

This book will get you started with machine learning on iOS and Apple devices. The first bit is a gentle introduction to the world of machine learning and what it has to offer — as well as what its limitations are. In the rest of the book, you'll look at each of these topics in more detail, until you know enough to make machine learning a useful tool in your software development toolbox.

There are now several high-level Apple frameworks, including Natural Language, Speech, and Vision, that provide advanced machine learning functionality behind simple APIs as part of Apple's iOS tooling. Whether you want to convert speech to text, recognize language or grammatical structure, detect faces in photos or track moving objects in video, these frameworks have got you covered.

In this book, you'll learn how to use these tools and frameworks to make your apps smarter. Even better, you'll learn how machine learning works behind the scenes — and why this technology is awesome.

This book is for all Apple and iOS developers who are interested in learning how to train models, code image recognition systems, learn how natural language processing works, build sequence classifiers and more.

Advanced iOS App Architecture

Advanced iOS App Architecture

Apps are becoming more complex, and development teams are being pressured to deliver faster results in the face of constantly changing requirements. Now, more than ever, you need to understand and apply good software architecture practices in your projects.

Advanced iOS App Architecture thoroughly explains multiple modern iOS architectures, and demonstrates their usage in real-world apps.

Each architecture chapter concludes by covering the pros and cons of that architecture. You can read this section in order — or jump straight to the architecture that interests you. It’s your choice!

This book is for iOS developers who build apps using Swift. The material in this book assumes familiarity with design patterns and with basic architectures — such as MVC — and basic architecture concepts, such as inversion of control.

Concurrency by Tutorials

Concurrency by Tutorials

Learn what Concurrency is, and why you would even want to utilize it in your apps. Learn about Grand Central Dispatch, Apple's implementation of C's libdispatch, also known as GCD, as it's one of the simplest ways to queue up tasks to be run in parallel.

Then, take on Operations & Operation Queues for when GCD doesn't quite cut it; you'll learn how to further customize and reuse your concurrent work. You'll then learn common concurrency problems that you could face while developing concurrent applications, such as Race Conditions, Deadlocks, and more.

Finally, you’ll learn about threads and the various threading-related concepts and how these connect to the knowledge you've accumulated throughout this book. You'll also learn how to use Thread Sanitizer to ease your debugging when things go wrong.

Design Patterns by Tutorials

Design Patterns by Tutorials

Design patterns are incredibly useful, no matter what language or platform you develop for. Using the right pattern for the right job can save you time, create less maintenance work for your team and ultimately let you create more great things with less effort. Every developer should absolutely know about design patterns, and how and when to apply them. That's what you're going to learn in this book!

Move from the basic building blocks of patterns such as MVC, Delegate and Strategy, into more advanced patterns such as the Factory, Prototype and Multicast Delegate pattern, and finish off with some less-common but still incredibly useful patterns including Flyweight, Command and Chain of Responsibility.

And not only does Design Patterns by Tutorials cover each pattern in theory, but you’ll also work to incorporate each pattern in a real-world app that’s included with each chapter. Learn by doing, in the step-by-step fashion you’ve come to expect in the other books in our by Tutorials series.

Metal by Tutorials

Metal by Tutorials

Metal is a unified application programming interface (API) for the graphics processing unit, or GPU. It’s unified because it applies to both 3D graphics and data-parallel computation paradigms. Metal is a low-level API because it provides programmers near-direct access to the GPU. Finally, Metal is a low-overhead API because it reduces the central processing unit (CPU) cost by multi-threading and pre-compiling of resources.

But beyond the technical definition, Metal is the most appropriate way to use the GPU’s parallel processing power to visualize data or solve numerical challenges. It’s also tailored to be used for machine learning, image/video processing or, as this book describes, graphics rendering.

This book will introduce you to low-level graphics programming in Metal — Apple’s framework for programming on the graphics processing unit (GPU). As you progress through this book, you’ll learn many of the fundamentals that go into making a game engine and gradually put together your own engine. Once your game engine is complete, you’ll be able to put together 3D scenes and program your own simple 3D games. Because you’ll have built your 3D game engine from scratch, you’ll be able to customize every aspect of what you see on your screen.

This book is for intermediate Swift developers interested in learning 3D graphics or gaining a deeper understanding of how game engines work.

Bonus: Mastering Git

Mastering Git

Chances are if you're involved with software development you've heard of and have used Git at some point in your life. Version control systems are critical for any successful collaborative software project. Git is both simple to start using and accommodating for the most complex tasks with version control. Even seasoned Git users hit roadblocks on how to handle common situations.

Mastering Git is here to help! This book is the easiest and fastest way to get hands-on experience with using Git for version control of your projects.

This book is for anyone who would like to leverage the power of version control with Git in their software development process. The book starts with a gentle introduction, then moves on to more complicated scenarios, including merge conflicts, rebasing and more.

Covers the following:

  • Crash course in Git: All of the basics of Git that every software craftsman should know. Understand how to set up Git, committing, ignoring files, etc.
  • Branching/Merging/Pushing: The whole point of Git is collaboration and this covers everything to work with others.
  • How Git actually works: After using Git for a while it's good to discover the whys behind all of the things.
  • Rebasing/Cherry Picking: Rebasing and Cherry Picking are more advanced ways of merging code and collaborating.
  • Workflows in Git: Working with Git requires some rules to make sure things go smoothly across development teams. Learn the most common workflows and how to decide which one to use.

One thing you can count on: after reading this book, you'll be well-prepared to use Git in your own software development workflow!

Note: Machine Learning by Tutorials and Mastering Git are out under an early-access model. You’ll receive the full version of these books when they are released in full. Anticipated release date: Early 2020.

Average Rating

5 /5

Leave a review for this product

2 reviews

Advanced iOS & Swift Black Friday Bundle 2019

Our best advanced iOS & Swift digital edition books: SwiftUI by Tutorials, Combine: Asynchronous Programming with Swift, Catalyst by Tutorials, iOS Test-Driven Development by Tutorials, Machine Learning by Tutorials, Advanced iOS App Architecture, Concurrency by Tutorials, Design Patterns by Tutorials, Metal by Tutorials — and a bonus book: Mastering Git!