Protocol-Oriented Programming with Swift
Bring the power of Swift functional programming to iOS, OS X and Web development to build clean, smart and reliable applications
The book is for iOS, Web, and macOS developers with a basic knowledge of Swift programming that are interested in learning functional programming paradigms
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.
Country | USA |
Author | Dr. Fatih Nayebi |
Binding | Kindle Edition |
EISBN | 9781785881619 |
Format | Kindle eBook |
Label | Packt Publishing |
Manufacturer | Packt Publishing |
NumberOfPages | 296 |
PublicationDate | 2016-06-30 |
Publisher | Packt Publishing |
ReleaseDate | 2016-06-30 |
Studio | Packt Publishing |