Table of Contents
About the Author
About the Technical Reviewer
Introduction
Part I: Building Composite Apps with Swift
Chapter 1: Building Blocks: Projects, Workspaces, Extensions, Delegates, and Frameworks
Component Architecture Overview
Looking at the iOS and macOS Building Blocks
Extensions
Delegates and Protocols
Frameworks
Building with the Building Blocks
Using a Workspace
Building with Combinations of Building Blocks
Command-Line Integration
Summary
Chapter 2: Using CocoaPods
Install CocoaPods
Create a Simple App (Single-View App)
Summary
Part II: Using Codable Data with Swift and iOS
Chapter 3: Reading and Writing JSON Data
Identifying Data That Needs to Be Shared
Considering Security for Sharing Data
The Challenges of Sharing Data
Identifying Data Elements
Managing Inconsistent Data Types
Exploring the Document and Structure Issues
Looking at JSON
Using JSON—The Basics
Summary
Chapter 4: Using JSON Data with Swift
Getting Started with a JSON Swift Playground
Using the JSON Integration Tools in Swift
Integrating a Swift Array
Integrating a Swift Dictionary
Summary
Part III: Integrating Facebook Logins
Chapter 5: Setting Up a Facebook Account with iOS
Beginning to Explore the Facebook iOS SDK
Looking at the Components of the Facebook iOS SDK
Summary
Chapter 6: Managing Facebook Logins
Beginning the Facebook SDK Login Process
Providing Basic iOS/Facebook Integration
Connecting the iOS app to your Facebook App
Summary
Chapter 7: Adding a Facebook Login to an iOS App
Starting to Integrate the Facebook SDK with an iOS app
Download the Facebook SDK for Swift
Adding Frameworks and Functionality to Your Facebook App
Enhancing Your App
Summary
Part IV: Storing Data in Amazon Web Services
Chapter 8: Working with Amazon Web Services and Cocoa
Comparing Components
Using AWS with Cocoa
Sharing Data with Others
Using Data Across Platforms
Playing to Your Strengths
Playing to Your Users’ Expectations
Exploring AWS
Getting Started with AWS
Comparing Cocoa and AWS Products for Data Management
Summary
Chapter 9: Managing AWS Logins
Looking at AWS Accounts and the Root User
Creating Organizations
Working with IAM
Integrating AWS with Xcode
Summary
Chapter 10: Beginning an AWS Project
Setting Up the iOS App
Setting Up the iOS Project
Exploring the Documentation
Creating a Project
Setting Up the Back End
Add the Pods
Summary
Part V: Using RxSwift
Chapter 11: Getting Into Code
Getting Started
Installing RxSwift from GitHub
Using the RxSwift Playground
Looking at a Formatted Playground
Summary
Chapter 12: Thinking Reactively
What Are We Developing?
Approaches to Programming
Programming Paradigms
Structural Paradigms
Operational Paradigms
Design Patterns
Processing Configurations
Introducing Reactive Programming
Focusing on ReactiveX
Summary
Chapter 13: Exploring the Basic RxCode
Overview of ReactiveX/RxSwift–Xcode Integration
Start from the RxSwift Download
Explore the Workspace and Playground
Adding a Project to the RxSwift Download
Building Your RxSwift-enhanced Project
Modify the Project
Summary
Chapter 14: Build a ReactiveX/RxSwift App
Setting Up the Project
Add ReactiveX
Build RxCocoa and RxSwift
Add RxSwift and RxCocoa to Your Project
Verify the Syntax
Building the Storyboard
Adding the UITableView Code and Delegate
Implementing the ReactiveX Search Bar
Reviewing the Code
Summary
Index
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.
This book is for Swift programmers interested in learning to create reactive apps with RxSwift.