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.
- 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.