Book Image

Reactive Programming with Swift 4

By : Navdeep Singh
Book Image

Reactive Programming with Swift 4

By: Navdeep Singh

Overview of this book

RxSwift belongs to a large family of Rx implementations in different programming languages that share almost identical syntax and semantics. Reactive approach will help you to write clean, cohesive, resilient, scalable, and maintainable code with highly configurable behavior. This book will introduce you to the world of reactive programming, primarily focusing on mobile platforms. It will tell how you can benefit from using RxSwift in your projects, existing or new. Further on, the book will demonstrate the unbelievable ease of configuring asynchronous behavior and other aspects of the app that are traditionally considered to be hard to implement and maintain. It will explain what Rx is made of, and how to switch to reactive way of thinking to get the most out of it. Also, test production code using RxTest and the red/ green approach. Finally, the book will dive into real-world recipes and show you how to build a real-world app by applying the reactive paradigm. By the end of the book, you’ll be able to build a reactive swift application by leveraging all the concepts this book takes you through.
Table of Contents (15 chapters)
Free Chapter
1
Migrating from Swift 3 to Swift 4
2
FRP Fundamentals, Terminology, and Basic Building Blocks
3
Set up RxSwift and Convert a Basic Login App to its RxSwift Counterpart
8
RxTest and Custom Rx Extensions – Testing with Rx
10
Schedule Your Tasks, Don't Queue!
11
Subscribe to Errors and Save Your App
12
Functional and Reactive App-Architecture

Testing Your RxCode – Testing Asynchronous Code

So far, we have have covered some operators that enable you, as a developer, to write unit tests and make your code more robust, but writing test cases may provide other benefits as well. For instance, writing test cases will make your concepts more clear. It might seem a bit like working in a lab where you state your expectations inside a test and then run your code to either meet or fail the expectations; this gives you more of a sense of how things are actually working under the hood.

You can play with your code, break it as many times as you want, and then refurbish it to achieve the desired result and finally, using tests, you can ensure that your work will achieve what you expected it to achieve. In this chapter, we will extend testing to the next level and work through some other aspects of problem finding as well....