Skip to main content

Über dieses Buch

Learn the basics of reactive programming and how it makes apps more responsive. This book shows you how to incorporate reactive programming into existing development products and cycles using RXSwift and RXCocoa on iOS and Mac.

As we move away from the traditional paradigm of typing or touching one step at a time to interact with programs, users expect apps to adapt and not need constant hand-holding. People today expect their devices to do much more than just follow commands. They expect devices to react and adapt. Reactive programming, a new term for asynchronous processing, requires new app architectures, and you'll learn how these are already built into iOS and macOS in many places.

As part of this more complex environment, you'll move beyond Cocoa and Cocoa Touch to incorporate data from Amazon Web Services (AWS), JavaScript Object Notation (JSON), and other formats, and standards. Together with the concepts of reactive programming and RxSwift, these tools help you build more powerful and useful apps that have wide appeal and use.

What You'll Learn

Work with tools such as Darwin microkernel, RxSwift, and RxCocoa

Use Git repositiories and other resoucrces to get into coding

Create apps that adapt to gestures and UI interaction as well as what's happening in and around the environment of the app itself.

Who This Book Is For

This book is for Swift programmers interested in learning to create reactive apps with RxSwift.



Building Composite Apps with Swift


Chapter 1. Building Blocks: Projects, Workspaces, Extensions, Delegates, and Frameworks

Building apps today isn’t really about writing code. You may have learned how to write code in school or at a bootcamp intensive workshop, and those experiences are valuable ways to learn about the principles of coding. However, when you start your first coding job, you may find that you’re asked to correct a typo in the title of a report that an existing app produces. It’s a simple job that you can divide into two parts.

Jesse Feiler

Chapter 2. Using CocoaPods

CocoaPods is a tool for managing multiple components in an Xcode project. The basic overview is that you create your Xcode project as usual. You then run CocoaPods to place your Xcode project into a new workspace that it creates. Next to your project in your workspace are various CocoaPods with the updates you want to install.

Jesse Feiler

Using Codable Data with Swift and iOS


Chapter 3. Reading and Writing JSON Data

The building blocks discussed in this book almost all provide ways of sharing functionality across apps and often across platforms, as is the case with Facebook, Amazon Web Services, and reactive programming. This part of the book is different because it focuses on components and building blocks that let you share data across apps and often across platforms.

Jesse Feiler

Chapter 4. Using JSON Data with Swift

In this chapter, you will see the basics of JSON syntax. You can use it with many modern languages, and Swift is no exception. In fact, Swift’s integration with JSON is strong, powerful, and easy to use. If you add in Swift Playgrounds, you get a powerful cross-platform data exchange format that also is easy to test with a playground (so that you don’t have to write an app—even a stripped-down app—to explore the data, syntax, and code).

Jesse Feiler

Integrating Facebook Logins


Chapter 5. Setting Up a Facebook Account with iOS

In this and the following parts of this book, you will be dealing with the integration of an iOS project with a separate project, such as a project from Facebook, Amazon Web Services, or RxSwift. The biggest difference between this type of integration and the integration discussed in the previous chapters is that now the integration is more complex. It’s no longer a matter of sharing data, messages, or data structures between apps; rather, you are getting parts of both components to work together. This chapter will explore the use of Facebook, which in some ways is the simplest form of app integration.

Jesse Feiler

Chapter 6. Managing Facebook Logins

The first login procedure you need to worry about is the login for yourself as a Facebook developer for a specific app. This chapter will help you navigate that login protocol. Remember that there are many sequences of steps you can take to achieve your desired result—access to the Facebook iOS API.

Jesse Feiler

Chapter 7. Adding a Facebook Login to an iOS App

With a Facebook developer account, you can add Facebook features (such as logins) to your iOS app. This chapter will walk you through that process. It is useful for many of the Facebook tools that you may want to integrate with an iOS app. Furthermore, the steps used to integrate Facebook tools are similar in some ways to the steps you would use to integrate other tools, such as Amazon Web Services (AWS), which is the topic of the next part of this book.

Jesse Feiler

Storing Data in Amazon Web Services


Chapter 8. Working with Amazon Web Services and Cocoa

In Part II of this book you will see how to put third-party components together with Cocoa and its frameworks. These components can be concepts, standards, or open source tools such as JSON, or they can be specific tools, such as the login using Facebook that will be described in Part II.

Jesse Feiler

Chapter 9. Managing AWS Logins

In Chapter 8 , you saw the wide variety of services that AWS offers (refer to Figure 8-3 for a list of products). When you use products that touch so many aspects of an app and parts of users’ lives, security is critical. (This applies to your own apps, Apple’s apps and frameworks, and third-party products such as AWS.)

Jesse Feiler

Chapter 10. Beginning an AWS Project

One of the most common (yet simplest) ways of using Amazon Web Services (AWS) is for data storage. If you have created an AWS account as described in the previous chapter, you can follow the guidelines and tutorials found in this chapter to build an iOS app that is integrated with AWS.

Jesse Feiler

Using RxSwift


Chapter 11. Getting Into Code

There are two types of developers in the world: those who want to get into the code first and then learn how it’s working, and those who want to learn how things will work before they get into the code. Just to make things interesting, an individual developer may work in one mode or the other, switching back and forth for a sense of variety or depending on what issues need attention.

Jesse Feiler

Chapter 12. Thinking Reactively

This chapter will help you put the concept of reactive programming in context with other programming styles, patterns, and paradigms. In the simplest non-jargon description, reactive programming is programming that makes it possible to easily handle modern software projects and apps that are likely to involve multiple users working at the same time with the same data.

Jesse Feiler

Chapter 13. Exploring the Basic RxCode

Having explored the basics of RxSwift in a playground (Chapter 11 ) and learned the underpinnings of the technology (Chapter 12 ), it’s time to look at RxSwift at work in an app. This chapter will show you how to take code that you can download from GitHub and turn it into an app.

Jesse Feiler

Chapter 14. Build a ReactiveX/RxSwift App

In the last three chapters, you have seen the basics of RxSwift and reactive programming as well as how to create a very basic app using the ReactiveX/RxSwift repository from GitHub. This chapter will move further so that you can build a small app that uses basic reactive features.

Jesse Feiler


Weitere Informationen

Premium Partner

Neuer Inhalt

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.



Best Practices für die Mitarbeiter-Partizipation in der Produktentwicklung

Unternehmen haben das Innovationspotenzial der eigenen Mitarbeiter auch außerhalb der F&E-Abteilung erkannt. Viele Initiativen zur Partizipation scheitern in der Praxis jedoch häufig. Lesen Sie hier  - basierend auf einer qualitativ-explorativen Expertenstudie - mehr über die wesentlichen Problemfelder der mitarbeiterzentrierten Produktentwicklung und profitieren Sie von konkreten Handlungsempfehlungen aus der Praxis.
Jetzt gratis downloaden!