舉報

會員
Reactive Programming with Swift 4
ThisbookisforthedeveloperswhoarefamiliarwithSwiftandiOSapplicationdevelopmentandarelookingouttoreducethecomplexityoftheirapps.Priorexperienceofreactiveprogrammingisnotnecessary.
目錄(200章)
倒序
- coverpage
- Title Page
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- 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
- 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
- Summary
- 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
- Summary
- 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
- Summary
- 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
- Summary
- Reduce by Combining and Filtering and Common Trade Offs
- Combining and filtering Observable sequences
- Project setup
- Concatenating and prefixing
- Merging
- Combining elements of different types
- Introducing zip
- Performing side effects
- doOn in action
- Setting the project
- Building the app
- Summary
- 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
- Summary
- 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
- Testing Your RxCode – Testing Asynchronous Code
- Tracking down issues – Debugging Rx code
- Debugging with debug
- Debugging with total
- Testing asynchronous code
- Summary
- Schedule Your Tasks Don't Queue!
- Queues and schedulers
- Scheduler Singletons
- Specifying a scheduler
- Schedulers in practice
- ConcurrentDispatchQueueScheduler
- SerialDispatchQueueScheduler
- OperationQueueScheduler
- Summary
- Subscribe to Errors and Save Your App
- Error handling
- The catchErrorJustReturn operator
- The catchError operator
- The retry operator
- onErrorJustReturn
- onErrorDriveWith
- onErrorRecover
- Summary
- 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
- Summary
- Finish a Real-World Application
- Networking in RxSwift
- Project setup
- Project implementation
- Fetching and parsing data
- Binding fetched data to View elements
- Build and run
- Some other cool libraries
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-24 18:58:30
推薦閱讀
- Learning NServiceBus(Second Edition)
- PostgreSQL技術內幕:事務處理深度探索
- PHP+MySQL網站開發技術項目式教程(第2版)
- 基于Java技術的Web應用開發
- HTML5+CSS3+JavaScript Web開發案例教程(在線實訓版)
- 網絡爬蟲原理與實踐:基于C#語言
- Hands-On Natural Language Processing with Python
- 響應式Web設計:HTML5和CSS3實戰(第2版)
- Python入門很輕松(微課超值版)
- AngularJS UI Development
- Java EE輕量級解決方案:S2SH
- AngularJS by Example
- Python量子計算實踐:基于Qiskit和IBM Quantum Experience平臺
- C語言開發寶典
- Ajax與jQuery程序設計
- Introduction to Programming
- Tableau數據可視化從入門到精通
- PLC編程入門及工程實例
- Learning Google BigQuery
- Elasticsearch技術解析與實戰
- Unity 2018 Cookbook(Third Edition)
- Python程序設計基礎與應用
- Selenium 1.0 Testing Tools: Beginner's Guide
- 尋聲記:Scratch 3.0趣味編程之旅(全彩)
- Python高并發與高性能編程:原理與實踐
- C語言程序設計基礎教程
- 馴服爛代碼:在編程操練中悟道
- STM32開發實戰:LabVIEW卷
- Python程序設計基礎
- Learning iOS UI Development