After a long time working on this project, I and my friends and colleagues Florent Pillet, Junior Bontognali, Scott Gardner, Ash Furrow, Chris Belanger, and Ray and Vicki Wenderlich are happy to announce that our new book about development with RxSwift is available now!
How it came to be?
When I first tried out RxSwift (being excited about it by some of the same people who are my co-authors on the book) I immediately noticed that even though there is plenty of information on the Internet, there isn’t a single structured resource where people can learn systematically.
Almost instantly I started dreaming about creating an RxSwift book that will make beginning development with Rx on iOS easier and more pleasant.
I met with Junior, Scott, Florent, and Ash in different combinations over a number of conferences and it became clear all of us were working on some education materials in one form or another and the only sensible thing to do is to comibine our efforts!
At the time Ray Wenderlich has already noticed that RxSwift and Rx are generating a lot of buzz and came with the idea of a book that will take the readers from complete beginner to a professinonal.
And after some time of very hard work on this, I’m proud to announce … (drumroll) …
The RxSwift book
The book concept
The big idea behind this book is to start from the basics and explain how the foundational APIs work and can be used, therefore eliminating any “magic” behind using RxSwift.
We tackle introducing the RxSwift concepts by alterating between theory chapters and practice chapters:
theory chapters introduce new APIs and operators and guide the readers through trying out code in an Xcode playground. This way the reader has the context to play with simple code and understand how things really work.
practice chapters feature a starter project and guide the reader through adding RxSwift code in key places to Rx-ify the project, and excercise the newly learned skills in the relevant theory chapter.
Once we cover the basics like observables, subjects, and operators, the book moves onto more advanced topics like error handling, testing, RxCocoa, and creating custom reactive extensions.
The last section of the book walks the readers through two complete apps discussing app architecture (there is a separate chapter covering MVVM), app services, project navigation, and more.
Table of contents
The book is divided into six sections. Here’s a brief overview:
Section I: Getting Started with RxSwift
The first section of the book covers RxSwift basics. Don’t skip this section, as you will be required to have a good understanding of how and why things work in the following sections.
Section II: Operators and Best Practices
In this section, once you’ve mastered the basics, you will move on to building more complex Rx code by using operators. Operators allow you to chain and compose little pieces of functionality to build up complex logic.
Section III: iOS Apps with RxCocoa
Once you’ve mastered RxSwift’s basics and know how to use operators, you will move on to iOS specific APIs, which will allow you to use and integrate your RxSwift code with the existing iOS classes and UI controls.
Section IV: Intermediate RxSwift/RxCocoa
In this section, you will look into more topics like building an error handling strategy for your app, handling your networking needs the reactive way, writing Rx tests, and more.
Section V: RxSwift Community Cookbook
Many of the available RxSwift based libraries are created and maintained by the community – by people just like you. In this section, we’ll look into a few of these projects and how you can use them in your own apps.
Section VI: Putting it All Together
This part of the book deals with app architecture and strategies for building production-quality, full-blown iOS applications. You will learn how to structure your project and explore a couple of different approaches to designing your data streams and project navigation.
You will get to experiment in Playgrounds but also build a number of projects throughout the book:
Like any raywenderlich.com book you can purchase either a PDF or a print version. Both come with full project source code, split in:
- starter projects - your starting point for each chapter.
- final projects - the completed chapter projects as you have them at the end of each chapter.
- challenge projects - the final + some extra excercises you are supposed to complete on your own.
Like any other digital raywenderlich.com book - you get ANY further editions of the book for free. Thanks for supporting us!
Finally, of course you can use the code in any of your projects!
Thanks again for considering our book and spreading the word about it - we worked very hard on putting this together and it’s a product of love, which we hope will be helpful to many who start developing with RxSwift.
Where to buy?
The book is available at http://raywenderlich.com/store - this is where you can see any updates, discuss in the website forums, etc. Or of course you can order a print copy for your office bookshelf!