My Account Log in

3 options

Reactive programming with swift 4 : build asynchronous reactive applications with easy-to-maintain and clean code using RxSwift and Xcode 9 / Navdeep Singh.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central Academic Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Singh, Navdeep, author.
Language:
English
Subjects (All):
Operating systems (Computers).
Physical Description:
1 online resource (320 pages)
Edition:
First edition
Other Title:
Reactive programming with Swift Four
Build asynchronous reactive applications with easy-to-maintain and clean code using RxSwift and Xcode 9
Place of Publication:
Birmingham, [England] ; Mumbai, [India] : Packt Publishing, 2018.
System Details:
text file
Summary:
Learn how to solve blocking user experience and build event based reactive applications with Swift. About This Book Build fast and scalable apps with RxSwift Apply reactive programming to solve complex problems and build efficient programs with reactive user interfaces Take expressiveness, scalability, and maintainability of your Swift code to the next level with this practical guide Who This Book Is For This book is for the developers who are familiar with Swift and iOS application development and are looking out to reduce the complexity of their apps. Prior experience of reactive programming is not necessary. What You Will Learn Understand the practical benefits of Rx on a mobile platform Explore the building blocks of Rx, and Rx data flows with marble diagrams Learn how to convert an existing code base into RxSwift code base Learn how to debug and test your Rx Code Work with Playgrounds to transform sequences by filtering them using map, flatmap and other operators Learn how to combine different operators to work with Events in a more controlled manner. Discover RxCocoa and convert your simple UI elements to Reactive components Build a complete RxSwift app using MVVM as design pattern In Detail 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. Style and approach This book is a definite tutorial in FRP with Swift filled with well-described examples. Downloading the example code for this book You ca...
Contents:
Cover
Title Page
Copyright and Credits
Packt Upsell
Contributors
Table of Contents
Preface
Chapter 1: Migrating from Swift 3 to Swift 4
What's new in Swift 4?
Setting up the environment
What's changed?
Changes/improvements in Dictionary
Grouping initializer
Key-based subscript with default value
Convert tuples to Dictionary
Convert arrays to Dictionary
Resolving duplicates
Reserving capacity
Changes/improvements in Strings
Bid bye to string.characters
String protocol
Changed interpretation of grapheme clusters
Access modifiers
What's new
JSON encoding and decoding
Multiline String literals
Smart key paths
One sided ranges
Pattern matching with one sided ranges.
swap versus swapAt
Improved NSNumber
Directly access unicode scalars of characters
Migrating to Swift 4
Preparation before migration
Swift migration assistant
Swift 4 migration changes overview
SDK changes
Notable special cases
New String
Differentiating between single-tuple and multiple-argument function types
Adding tuple destructuring
Default parameter values must be public
After migration
Known migration issues
Using Carthage/CocoaPods projects
Summary
Chapter 2: FRP Fundamentals, Terminology, and Basic Building Blocks
Functional reactive programming
What is functional reactive programming (FRP)?
Imperative programming
Functional programming
Reactive programming
Basic building blocks
Event streams
State
Side effects
Immutability
RxSwift foundation
Reactive extensions
Observable
Subject
Marble diagrams
Schedulers
Railway-oriented programming
Chapter 3: Set up RxSwift and Convert a Basic Login App to its RxSwift Counterpart
RxSwift in action
Let's build the environment first.
Setting up the environment
RxSwift with CocoaPods
Installing RxSwift
Installing RxSwift with Carthage
Let's get started - The Login page
Setting up
Steps to set up
Functional programming to the rescue
Chapter 4: When to Become Reactive?
Creating and subscribing to Observables
Project setup
Getting started
Different types of subject
PublishSubject in action
BehaviorSubject in action
ReplaySubject in action
Variable in action
Understanding traits and its types
What are traits?
Different types of trait
The single trait
The completable trait
The maybe trait
Chapter 5: Filter, Transform, and Simplify
Working with events using operators
Environment setup
Transforming operators
flatMap and flatMapLatest in action
Scan, reduce, and buffer
Scan
Buffer
Filtering operators
The filter operator
The distinctUntilChanged operator
The takeWhile operator
Chapter 6: Reduce by Combining and Filtering and Common Trade Offs
Combining and filtering Observable sequences
Concatenating and prefixing
Merging
Combining elements of different types
Introducing zip
Performing side effects
doOn in action
Setting the project
Building the app
Chapter 7: React to UI Events - Start Subscribing
RxCocoa traits
Types of RxCocoa traits
Driver
ControlProperty
ControlEvent
Binding UI elements in practice
Binding data to UI
Binding UITableViews
Configuring cell rows in a TableView
Selecting a row in TableView
Binding UICollectionViews
Chapter 8: RxTest and Custom Rx Extensions - Testing with Rx
Testing in RxSwift
RxTest
Testing in practice with HotObservables
Testing in RxTest with ColdObservables
RxBlocking
Testing with RxBlocking.
Summary
Chapter 9: Testing Your RxCode - Testing Asynchronous Code
Tracking down issues - Debugging Rx code
Debugging with debug
Debugging with total
Testing asynchronous code
Chapter 10: Schedule Your Tasks, Don't Queue!
Queues and schedulers
Scheduler Singletons
Specifying a scheduler
Schedulers in practice
ConcurrentDispatchQueueScheduler
SerialDispatchQueueScheduler
OperationQueueScheduler
Chapter 11: Subscribe to Errors and Save Your App
Error handling
The catchErrorJustReturn operator
The catchError operator
The retry operator
onErrorJustReturn
onErrorDriveWith
onErrorRecover
Chapter 12: Functional and Reactive App-Architecture
Design patterns
Singleton design pattern
Implementation
Singleton design pattern - Pros and cons
Key value coding (KVC)
KVC - Implementation
Notifications
Notifications - Implementation
Model view controller - MVC
The model
The view
The controller
MVC implementation
Chapter 13: Finish a Real-World Application
Networking in RxSwift
Project implementation
Fetching and parsing data
Binding fetched data to View elements
Build and run
Some other cool libraries
Other Books You May Enjoy
Index.
Notes:
Includes index.
Description based on online resource; title from PDF title page (EBC, viewed March 22, 2018).
OCLC:
1028230200

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account