It’s that time of year again — it’s the annual raywenderlich.com Fall iOS Event!
This year, we’ve got a brand-new surprise book, new content for lots of our other books, plus updates to our most popular iOS books. It’s our biggest iOS event ever!
But, that’s not all; you can also save some serious money with our time-limited bundles containing our newest books:
- Our iOS Fall Bundle, which includes our five newest iOS books for just $149. (Save 50%!)
- Our Advanced iOS Summer Bundle, which includes our three new books on SwiftUI, Combine and Catalyst, for just $99. (Save over 40%!)
And yes, we’re also going to be running a giveaway: One lucky reader will win a free iOS Fall 2019 Bundle — that’s a $299.95 value!
This sale kicks off today and lasts until Friday, October 11. Keep reading to learn more about our event, and how you can take advantage of everything we have on offer this year!
- Our New Surprise Book
- Our SwiftUI, Combine and Catalyst Books
- Updated iOS Books on Sale
- Limited-Time iOS Book Bundles
- Enter the iOS Fall Bundle Giveaway
- Where to Go From Here?
Our New Surprise Book
We have a brand new surprise book out in early access: Mastering Git by Tutorials!
1) Mastering Git by Tutorials
If you’re frustrated with Git and want to stretch your knowledge beyond simple branching and merging in GUI clients like Tower or GitHub Desktop, then this is the book for you!
Mastering Git by Tutorials expands on the concepts touched on in our popular Beginning Git and Mastering Git video courses. This book dives deep into the Git internals, shows you how to fix your repo when Git behaves unexpectedly, reveals how
merge really work behind the scenes, and even covers the major Git workflows in use today.
Whether you’re a novice with Git, or an advanced developer who needs to fix the messes other people have made of your repository, then this is the book you can’t do without.
What’s inside Mastering Git by Tutorials:
- Git Internals: If you’ve been using Git for a while, you might be wondering how it actually works. See how Git is built on top of a simple key-value store-based file system, learn about the elegant and efficient branching model inside of Git, and discover the power this provides to you as a distributed development team.
- Merge Conflicts: Although merging sometimes seems like more of a headache than it should be, it’s one of the most useful and elegant bits of Git source control. In this chapter, you’ll learn how to handle merge conflicts, which occur when Git can’t automatically merge your changes changes.
- Rebasing to Rewrite History: Rebase has way more uses than just as a replacement for merge. Rebasing offers the ability to completely rewrite the history of your git repo, should you need to squash commits, or clean up a messy branching history.
- Gitignore After the Fact: Gitignore is easy, right… right? If you’ve been using it for a while, you’ll know that this isn’t always true. Discover how you can fix problems with your .gitignore, such as clearing out files that have been accidentally committed to the repository, and how to manage merges that affect ignored files.
And if you’re getting started with Git (or want to understand how the basics of Git work under the hood), this book has a whole first section devoted to Git fundamentals, including:
- Cloning a Repo: It’s quite common to get your start with Git by creating a copy of somebody else’s repository. Discover how to clone a remote repo to your local machine, and what constitutes “forking” a repository.
- The Staging Area: Before you can create a Git commit, you have to use the “add” command. What does it do? Discover how to use the staging area to great effect through the interactive git add command.
- Git log and Viewing History: There’s very little point in creating a nice history of your source code if you can’t explore it. You’ll discover the versatility of the git log command—displaying branches, graphs and even filtering the history.
- Branching: The real power in Git comes from its branching and merging model. This allows you to work on multiple things simultaneously. Discover how to manage branches, and exactly what they are in this chapter.
- Syncing with a Remote: You’ve been working hard on your local copy of the Git repository, and now you want to share this with your friends. See how you can share through using remotes, and how you can use multiple remotes at the same time.
- Merging: Branches in Git without merging would be like basketball without the hoop—fun, sure, but with very little point. In this chapter, you’ll learn how you can use merging to combine the work on multiple branches back into one.
- Stashes: Git stashes offer a great way for you to create a temporary snapshot of what you’re working on, without having to create a full-blown commit. Discover when that might be useful, and how to go about it.
One thing is certain: once you’re done with this book, you’ll know more about working with Git than most other developers you’ll meet!
This book is available as part of our early access program; when you buy the book now, you’ll receive a free update when the book is available in full!
About the Author
Chris Belanger is the Editor-in-Chief of raywenderlich.com. If there are words to wrangle or a paragraph to ponder, he‘s on the case. In the programming world, Chris has over 25 years of experience with multiple database platforms, real-time industrial control systems, and enterprise healthcare information systems — and of course, writing, editing, and leading lots of teams here at raywenderlich.com. When he kicks back, you can usually find Chris with guitar in hand, looking for the nearest beach, or exploring the lakes and rivers in his part of the world in a canoe.
Our Newest Books
It’s been a busy year, trying to stay on top of everything Apple announced at WWDC 2019. We’re thrilled to present the following updates to our books covering the newest Apple technologies of 2019: SwiftUI, Catalyst and Combine!
2) 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.
What’s inside SwiftUI by Tutorials:
- Introduction: In this chapter, you’ll get an overview of the book as a whole, as well as the apps you will be building as you learn the fundamentals of SwiftUI!
- Integrating SwiftUI: The previous chapter showed one type of integration: how to create a data dependency on a “traditional” reference type. This chapter shows how easy it is to include a SwiftUI view in a UIKit app, and vice versa.
- Intro to Controls: Text & Image: In this chapter, you’ll learn about two of the most used controls, Text and Image, and how to customize them using modifiers.
- State & Data Flow: In this chapter, you’ll learn binding data to the UI, reactive updates to the UI through state management, and an in-depth usage of the attributes introduced in the SwiftUI introduction.
- Controls & User Input: In this chapter you’ll learn about other controls, like TextField, Button, Toggle, Slider, Stepper and pickers.
- Introducing Stacks: In this chapter you’ll learn how to use container controls, such as stacks, GroupBox, Form and Group.
- Lists & Navigation: In this chapter you’ll learn how to display lists of items, and how to navigate between views.
- Testing & Debugging: In this chapter, you will learn about creating user interface tests and debugging your app.
- Handling User Input: This chapter will cover user updates of the interface, including how to easily test a SwiftUI interface, how to manage the flow of screens throughout a complex app, and how to deal with gestures, including the development of a custom gesture.
- Drawing & Creating Custom Graphics: In this chapter, you will learn how to create drawings and graphics in your app.
- Animations & Transitions: In this chapter, you will learn how to use animations and view transitions in your app.
- Complex Interfaces: In this chapter, you will learn how to use existing custom controls from SwiftUI and how to build complex interfaces in Swift.
- Apple Ecosystem/Frameworks: This chapter shows how a SwiftUI iOS app can be easily adapted to other Apple platforms — macOS, watchOS, tvOS — focusing on how to make best use of the device, its unique features and how it handles input.
SwiftUI by Tutorials is 100% complete and available on sale today for the special launch price of $49.99!
3) 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!
This book shows 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.
What’s inside Catalyst by Tutorials:
- Setting the Scene(s): In this chapter, you’ll learn how to enable a feature that has been available since the beginning on the Mac, and has just arrived with iOS 13 on the iPad, multi-window support.
- Adding Some Context: In this chapter, you’re going to learn all about context menus, adding support for long-press menus on iPad and how those menus will automatically port to Mac.
- The Keyboard: In this chapter, learn how to use keyboard commands to navigate across a list and delete items, as well as the UIKeyCommand and setting first responder.
- Preferences & Settings Bundle: Learn layout preferences, and override individual items from dark mode, similar to Mail.app and the reader pane.
- Making Your App Feel at Home on MacOS: In this chapter, you’ll go deeper on several other Mac-specific features. When you’re done, you’ll have the makings of a world-class Mac app.
- The Mouse: Use UIHoverGestureRecognizer to show a shadow effect when hovering over a diary entry in the sample app.
- Barista Training: Menu Bar: In this chapter, you’ll learn all about the menu bar by trimming the default menu bar, as well as adding new items to delete, share and add new diary entries.
- Barista Training: Toolbar: In this chapter, you’ll learn to customize the toolbar items, including Share, Insert and Print.
- Barista Training: Touch Bar: In this chapter, you’ll continue to develop your app by adding the toolbar items to the Touch Bar.
- App Store: In this chapter, you’ll read about the pros and cons of distributing on the Mac App Store, and learn how to go from Xcode all the way to a released app on the App Store.
- Third-Party Distribution: In this chapter, you’ll learn how to make sure everyone with macOS can run your app, as well as how to improve the installation experience for your potential users.
- …and much, much more!
Catalyst by Tutorials is 100% complete and available on sale today for the special launch price of $49.99!
4) Combine: Asynchronous Programming with Swift
Combine: Asynchronous Programming with Swift is the best book to master declarative asynchronous programming with Swift using the Combine framework!
The introduction of Combine into the Swift ecosystem now gives you a native way to manage asynchronous events in Swift, meaning you don’t have to rely on third-party reactive frameworks for event-driven systems.
What’s inside Combine: Asynchronous Programming with Swift:
- Time-Based Operators: A large part of asynchronous programming relating to processing values over time, this chapter goes into the details of performing complex time-based tasks that would be hard to do without Combine.
- Sequence Operators: When you think about it, Publishers are merely sequences. As such, there are many useful operators that let you target specific elements, or gather information about the sequence as a whole, which you’ll learn about in this chapter.
- In Practice: Building a Collage App: It’s time to try your new Combine skills in a real project and learn how to make Foundation and UIKit play along with your reactive code.
- Combine for Networking: This chapter teaches you how to seamlessly integrate network requests in Combine publisher chains and make your networking easier and more resilient.
- Debugging Combine: Debugging asynchronous code being notoriously harder linear code, Combine helps with a few tools that will greatly help you improve your understanding of the processes at play.
- Combine Timers: A niche part of your code, timers are always useful to have around and easy to create in Combine, as you’ll learn in this chapter.
- Key-Value Observing (KVO): This chapter shows you how Key-Value Observing, which was historically the best way to get notified when a value changed, now integrates nicely with Combine publishers.
- Resources in Combine: Precisely controlling resource usage is a touchy subject, but this chapter will shed light on sharing operators which let you do just that.
- In Practice: Networking: In this chapter you will work on a networking API that talks in real-time to the Hacker News servers and along the way exercise using multiple operators and publishers in Foundation.
- …and much, much more!
Combine: Asynchronous Programming with Swift is available now in early access and on sale today for the special launch price of $49.99!
Updated Books on Sale
We’ve also been busy updating all of our books for Swift 5.1, Xcode 11 and iOS 13. Check out what we’ve updated this year!
5) iOS Test-Driven Development
iOS Test-Driven Development teaches you to write maintainable and sustainable apps by building them with testing in mind or adding tests to already-written apps.
Here’s what’s new in iOS Test-Driven Development:
- RESTful Networking: You’ll learn how to TDD a RESTful networking client, specifically setting up the networking client, ensure the correct endpoint is called, handle networking errors, valid responses and invalid responses and finally dispatch the results to a response queue.
- Using the Network Client: You’ll use the previously created network client in your application by updating the ListingsViewController to use the DogPatchClient to actually network.
- Image Client: You’ll use TDD to create an ImageClient for handling images. You can use that ImageClient anywhere you need it in the app.
- Legacy Problems: Beginning TDD on a “legacy” project is much different than starting TDD on a new project. For example, the project may have few (if any) unit tests, lack documentation and be slow to build. This chapter will introduce you to strategies for tackling these problems.
- Dependency Maps: Before you can make a change, you must first understand how the system works and which classes relate to one another. This chapter will give you a tool for doing this: dependency maps.
- Breaking Up Dependencies: In this chapter, you’ll use the strategies and techniques you learned from the previous chapters to start TDDing changes to the legacy app. To make this possible, however, you’ll have to break existing class dependencies. You’ll learn how to do this in a safe(r) manner in this chapter.
- Modularizing Dependencies: you’ll continue the work from the last chapter, further breaking MyBiz into modules so you can reuse the login functionality. You’ll learn how to define clean boundaries in the code to create logical units. Through the use of tests, you’ll make sure the new architecture works and the app continues to function.
- Adding Features to Existing Classes: You won’t always have the time, or it may simply not be possible, to break the dependencies of very large classes. In this chapter, you’ll learn strategies to add functionality to an existing class, while at the same time, avoid modifying them!
iOS Test-Driven Development is 100% complete and available on sale today for the special launch price of $49.99!
6) Concurrency by Tutorials
Concurrency by Tutorials is the book that teaches you everything there is to know about how to write performant and concurrent code for your iOS apps!
You’ll learn about issues that you could face while developing concurrent applications, such as race conditions, deadlocks, and more. Finally, you’ll cover threads and 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.
Concurrency by Tutorials has been fully updated for iOS 13 and available on sale today for the special launch price of $49.99!
7) Push Notifications by Tutorials:
Master push notifications on iOS with Push Notifications by Tutorials!
Push notifications may seem simple and straightforward at first since almost everyone is familiar with them; however, knowing how and when to use them in practice can prove challenging.
With advancements in the latest iOS releases bringing advanced features, such as rich media notifications, notification actions, grouped notifications and more, you will quickly realize that you need a book to help you out. Well, here’s that book!
Push Notifications by Tutorials has been fully updated for iOS 13 and available on sale today for the special launch price of $49.99!
8) Advanced iOS App Architecture
Advanced iOS App Architecture takes a deep dive into modern iOS app architecture and shows you how to design clean and maintainable real-world apps.
This edition includes a brand new chapter:
- [NEW] Getting Ready for SwiftUI: In this chapter, you’ll be given an introduction to SwiftUI which Apple have released at WWDC 2019. You’ll then walk through how to get Koober ready for SwiftUI while keeping your current architectural approaches.
In fact, some of the architectures introduced in this book actually work better under SwiftUI than UIKit, and you’ll learn how to rework your apps to take advantage of the architectural advantages of SwiftUI!
Advanced iOS App Architecture has been updated for iOS 13 and is available on sale today for the special launch price of $49.99!
9) Server-Side Swift with Kitura
Server-Side Swift with Kitura gives you the power to create production-ready RESTful APIs written in Swift.
You’ll walk through the development of EmojiJournal, a social network focused on your feelings. You’ll learn how REST works, how to document your API, how to set up an ORM and user authentication, and even how to create a web front-end as well as an iOS front-end! You’ll also learn about how to use powerful deployment tools to manage and run your API in any popular cloud that you choose!
Server-Side Swift with Kitura has been updated for iOS 13 and is available on sale today for the special launch price of $49.99!
10) Metal by Tutorials
Metal by Tutorials 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.
By the end of this book, you’ll build your own game engine in Metal where you can create 3D scenes and build your own 3D games.
This edition includes two new chapters:
- GPU-Driven Rendering: Move your CPU-driven rendering pipeline to the GPU. You’ll learn how to use Argument Buffers and Resource Heaps to manage your textures more effectively. With Indirect Command Buffers, you’ll generate a list of draw calls, and then create and schedule them on the GPU.
- Debugging and Profiling: Whether it’s objects in the scene you seem to have accidentally lost or maybe more lights and shadows you want to render, you’ll get to use some of Xcode’s excellent tools to find out what’s happening on the GPU, as well as find ways to optimize your game to run at blazing speeds.
Metal by Tutorials has been fully updated, and available on sale today for the special launch price of $49.99!
11) Data Structures and Algorithms in Swift
In Data Structures and Algorithms in Swift, you’ll learn how to implement the most popular and useful data structures, and when and why you should use one particular data structure or algorithm over another. This set of basic data structures and algorithms will serve as an excellent foundation for building more complex and special-purpose constructs. As well, the high-level expressiveness of Swift makes it an ideal choice for learning these core concepts without sacrificing performance.
By the end of this book, you’ll have hands-on experience solving common issues with data structures and algorithms — and you’ll be well on your way to developing your own efficient and useful implementations!
Data Structures and Algorithms in Swift has been fully updated for Swift 5.1 and is available on sale today for the special launch price of $49.99!
12) Swift Apprentice
Swift Apprentice takes you from beginner to advanced in Swift: Apple’s modern programming language for iOS.
This edition has a brand-new chapter:
- [NEW] Advanced Protocols & Generics: Learn how to use constraints to make generic code more useful and how to hide implementation details with opaque return types.
But that’s not all: All of the chapters in the Swift Apprentice have been revised and updated for Swift 5.1 and Xcode. We have also integrated user feedback to make the exposition even more clear and easier to follow. The result, we feel, is a state-of-the-art book for beginners that incorporates the latest technology and best practices of the Swift language. Every single chapter has dozens of changes, both small and large.
We’ve added coverage of previously omitted language features as well as new Swift standard library APIs. Larger improvements include things such as using unit tests to validate serialization and property wrappers to implement value semantics.
Swift Apprentice is fully updated for Swift 5.1, and is on sale today for the special launch price of $49.99!
13) Design Patterns by Tutorials
Learn design patterns with Swift with 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!
And not only does this book 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.
Design Patterns by Tutorials is up to date for iOS 13 and is available on sale today for the special launch price of $49.99!
14) ARKit by Tutorials
ARKit by Tutorials will teach you to use Apple’s ARKit framework to build immersive and engaging AR apps!
This edition of the book includes three new chapters:
- Introducing AR Quick Look: Learn how to integrate AR Quick Look into your existing web pages and apps, enabling them to display USDZ content in stunning augmented reality.
- Introducing USDZ: Learn about Apple’s new USDZ file format and walk through converting 3D models into this new, universal format using Xcode and the new Python-based command-line tools. Learn how USDZ makes working in large teams a breeze with a seamless collaborative workflow.
- Introducing RealityKit & Reality Composer: This chapter covers the basics of RealityKit and ARView. You’ll start by building a small app that uses RealityKit and ARView. You’ll then add people occlusion to enhance the augmented reality experience.
ARKit is Apple’s mobile AR development framework. With it, you can create an immersive, engaging experience, mixing virtual 2D and 3D content with the live camera feed of the world around you.
In this book, you’ll work through a number of polished and engaging apps: a tabletop poker dice game, an immersive sci-fi portal, a 3D face-tracking mask app, a location-based AR ad network, a monster truck simulation with realistic vehicle physics, a 2D and 3D object recognition and tracking app, and more!
ARKit by Tutorials is fully updated for iOS 13 and is on sale today for the special launch price of $49.99!
15) Core Data by Tutorials
In Core Data by Tutorials, you’ll master Core Data in iOS using Swift 5.1 and iOS 13!
The book provides comprehensive coverage of Core Data, from beginner to advanced topics. Covers setting up a Core Data Stack, data modeling, versioning and migration, unit testing, improving performance, and much more.
This book is for intermediate iOS developers who already know the basics of iOS and Swift development, but want to learn how to use Core Data to persist data in their apps.
Core Data by Tutorials is fully up to date for iOS 13, and available on sale today for the special launch price of $49.99!
16) iOS Animations by Tutorials
Make delightful animations in Swift with iOS Animations by Tutorials!
Our classic book on iOS animations has two new chapters on how to work with animations under SwiftUI:
- Introduction to SwiftUI Animations: In this chapter, you will learn about the very basics of SwiftUI animations and then quickly move onto to more complex and visually interesting animations in a real-life project.
- Intermediate Swift Animations: Continue to learn more about various view properties you can easily animate with SwiftUI. Additionally, you’ll learn about view transitions and gesture-driven interactive animations.
The simplicity of SwiftUI lends itself nicely to animations in your app, and we’ll show you how to create beautiful, advanced animations in SwiftUI — with far less code than you’d expect.
iOS Animations by Tutorials is fully up to date for iOS 13 and is available on sale today for the special launch price of $49.99!
17) Machine Learning by Tutorials
Get started with Machine Learning for Apple and iOS with Machine Learning by Tutorials!
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.
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.
Machine Learning by Tutorials, Second Edition is out in early access for iOS 13, and is available on sale today for the special launch price of $49.99!
18) iOS Apprentice
Learn how to make iPhone and iPad apps from the ground up, with a series of epic-length tutorials for beginners in our completely overhauled iOS Apprentice — now with SwiftUI!
We’ve completely rewritten the first half of the book to teach you how to build your first two apps using SwiftUI! We then created a brand-new section in the middle of the book to help you bridge your SwiftUI knowledge with UIKit, and the second half of the book has been updated to show you how to use UIKit in iOS 13.
We think SwiftUI is the best starting point for people new to app development, but there will still be a lot of UIKit around for years to come. Splitting the iOS Apprentice this way gives you the best of both worlds!
iOS Apprentice is available in early access and available on sale today for the special launch price of $49.99!
Limited-Time iOS Book Bundles
We also put together a special book bundle for this sale to help you save even more!
Our time-limited iOS Fall Bundle includes:
- Mastering Git by Tutorials ($59.99 value)
- iOS Test-Driven Development by Tutorials ($59.99 value)
- SwiftUI by Tutorials ($59.99 value)
- Combine by Tutorials ($59.99 value)
- Catalyst by Tutorials ($59.99 value)
To buy each of these books individually, it would cost you $299.95. But when you buy them as a bundle for just $149, you’ll save 50% on all five of our newest iOS books.
We also have our Advanced iOS Summer Bundle, which includes our three new books on SwiftUI, Combine & Catalyst:
- SwiftUI by Tutorials (value: $59.99)
- Combine: Asynchronous Programming with Swift (value: $59.99)
- Catalyst by Tutorials (value: $59.99)
Buying all three books individually would cost you $179.97. At just $99, this bundle saves you over 40% on all three of our new books!
It’s only available for a limited time, so be sure to take advantage of it before it’s gone.
Enter the iOS Fall Bundle Giveaway
We are also really excited to do another raywenderlich.com giveaway for this sale!
One lucky person will win a free iOS Fall Bundle, which includes all five of our new iOS books! And don’t forget that all of our digital edition books come with free updates for the life of the book.
To enter the giveaway, simply leave a comment on this post, answering the following question:
Don’t have an account to comment? Creating an account is free and easy at the following link:
We’ll hold a random drawing on Friday, October 11, to announce the winner at the end of the iOS Fall Sale!
Where to Go From Here?
Here’s a recap of our iOS Fall Sale:
- Save big with our iOS Advanced Summer Bundle, containing our three essential books on SwiftUI, Catalyst and Combine for just $99!
- Save even MORE with our iOS Fall Bundle, containing our five newest iOS books for just $149!
- You can also pick up iOS book individually for just $49.99 — that’s a savings of $10! Head to our online store to view our entire collection of iOS books.
- Want to be the lucky person to win the iOS Fall Bundle giveaway? Simply leave a comment on this post now for a chance to win!
We are so excited to release a brand new iOS book, updates to our most popular iOS books, a new iOS book bundle and savings on our entire collection of iOS books. We hope you enjoy it all, too!
Sale ends Friday, October 11 — don’t miss out!