Swift 3 Functional Programming

Dr. Fatih Nayebi

  • 出版商: Packt Publishing
  • 出版日期: 2016-06-30
  • 售價: $1,710
  • 貴賓價: 9.5$1,625
  • 語言: 英文
  • 頁數: 296
  • 裝訂: Paperback
  • ISBN: 1785883887
  • ISBN-13: 9781785883880
  • 相關分類: Apple Developer
  • 下單後立即進貨 (約3~4週)

商品描述

Bring the power of Swift functional programming to iOS, OS X and Web development to build clean, smart and reliable applications

About This Book

  • Written for Swift 3, this is a comprehensive guide that introduces iOS and OS X developers to the all-new world of functional programming that has so far been alien to them
  • Learn about first-class functions and how imperative-style patterns can be converted into functional code using some simple techniques
  • The book will get you familiar with using functional programming alongside existing OOP techniques so you can get the best of both worlds and develop clean, robust code

Who This Book Is For

The book is for iOS and OS X developers with basic knowledge of Swift programming. Prior knowledge of object-oriented programming is assumed.

What You Will Learn

  • First-class, higher-order, and pure functions
  • Closures and capturing values
  • Custom operators, recursion, and memoization
  • Value and reference types in Swift
  • Enumerations, algebraic data types, patterns, and pattern matching
  • Generics and associated type protocols
  • Higher-order functions such as map, flatMap filter, and reduce
  • Dealing with optionals, fmap, and apply for multiple functional mapping
  • Functional data structures such as Semigroup, Monoid, Binary Search Tree, Linked List, Stack, and Lazy List
  • Immutability, copy constructors, and lenses
  • Combining FP paradigms with OOP, FRP, and POP in your day-to-day development activities
  • Developing a backend application with Swift
  • Developing an iOS application with FP, OOP, FRP, and POP paradigms

In Detail

Functional programming is getting a lot of attention because it eases many of the difficulties faced in object-oriented programming (OOP) such as testability, maintainability, scalability, and concurrency. Swift has a lot of functional programming features that can be easily used, but most Objective-C and Swift programmers are not familiar with these tools.

This book aims at simplifying the functional programming paradigms and makes it easily usable for Swift programmers, by showing you how to use functional programming paradigms to solve many of your day-to-day development problems. Whether you are new to functional programming and Swift, or experienced, this book will strengthen the skills you need to design and develop high-quality, easily maintainable, scalable, extendable, and efficient applications for iOS, Web, macOS, tvOS, and WatchOS.

The book starts with functional programming concepts, the basics of Swift, and essential concepts such as functions, closures, optionals, enumerations, immutability, and generics in detail with coding examples.

Also, this book introduces more advanced topics such as function composition, functional data structures, monads, functors, applicative functors, memoization, lenses, algebraic data types, functional reactive programming (FRP), protocol-oriented programming (POP), and mixing object-oriented programming (OOP) with functional programming (FP) paradigms.

Finally, this book provides a working code example of a real-world frontend application developed with these techniques and its corresponding backend application developed with Swift.

商品描述(中文翻譯)

將 Swift 函數式編程的力量帶到 iOS、OS X 和 Web 開發中,以構建乾淨、智能和可靠的應用程序。

關於本書
本書針對 Swift 3,是一本全面的指南,介紹了 iOS 和 OS X 開發人員對於迄今為止對他們來說陌生的函數式編程的全新世界。

學習一級函數以及如何使用一些簡單的技巧將命令式風格的模式轉換為函數式代碼。

本書將使您熟悉在現有面向對象編程技術旁邊使用函數式編程,以便您可以兼顧兩者的優點並開發乾淨、健壯的代碼。

適用對象
本書適用於具備 Swift 編程基礎知識的 iOS 和 OS X 開發人員。假設您具備面向對象編程的先備知識。

您將學到什麼
一級、高階和純函數
閉包和捕獲值
自定義運算符、遞歸和記憶化
Swift 中的值類型和引用類型
列舉、代數數據類型、模式和模式匹配
泛型和相關類型協議
map、flatMap、filter 和 reduce 等高階函數
處理可選值、fmap 和多個函數映射的應用
函數式數據結構,如半群、單子、二叉搜索樹、鏈表、堆棧和惰性列表
不可變性、拷貝構造函數和鏡頭
將函數式編程範式與面向對象編程、FRP 和 POP 結合在日常開發活動中
使用 Swift 開發後端應用程序
使用 FP、OOP、FRP 和 POP 編程範式開發 iOS 應用程序

詳細內容
函數式編程因其在面向對象編程(OOP)中所面臨的許多困難(如可測性、可維護性、可擴展性和並發性)方面的幫助而受到很多關注。Swift 具有許多易於使用的函數式編程功能,但大多數 Objective-C 和 Swift 程序員對這些工具不熟悉。

本書旨在簡化函數式編程範式,並通過向您展示如何使用函數式編程範式來解決許多日常開發問題,使其對 Swift 程序員易於使用。無論您是新手還是有經驗的函數式編程和 Swift 程序員,本書都將增強您設計和開發高質量、易於維護、可擴展、可延展和高效的 iOS、Web、macOS、tvOS 和 WatchOS 應用程序所需的技能。

本書從函數式編程概念、Swift 基礎知識和重要概念(如函數、閉包、可選值、列舉、不可變性和泛型)詳細介紹,並提供編碼示例。

此外,本書還介紹了更高級的主題,如函數組合、函數式數據結構、單子、函數子、記憶化、鏡頭、代數數據類型、函數式反應編程(FRP)、面向協議編程(POP)以及將面向對象編程(OOP)與函數式編程(FP)範式混合。

最後,本書提供了一個使用這些技術開發的真實前端應用程序的工作代碼示例,以及相應的使用 Swift 開發的後端應用程序。