Advanced Swift


Book Description

Advanced Swift takes you through Swift's features, from low-level programming to high-level abstractions. In this book, we'll write about advanced concepts in Swift programming. If you have read the Swift Programming Guide, and want to explore more, this book is for you. Swift is a great language for systems programming, but also lends itself for very high-level programming. We'll explore both high-level topics (for example, programming with generics and protocols), as well as low-level topics (for example, wrapping a C library and string internals).




Swift Functional Programming


Book Description

Bring the power of functional programming to Swift to develop clean, smart, scalable and reliable applications. About This Book Written for the latest version of Swift, this is a comprehensive guide that introduces iOS, Web and macOS developers to the all-new world of functional programming that has so far been alien to them Get familiar with using functional programming alongside existing OOP techniques so you can get the best of both worlds and develop clean, robust, and scalable code Develop a case study on example backend API with Swift and Vapor Framework and an iOS application with Functional Programming, Protocol-Oriented Programming, Functional Reactive Programming, and Object-Oriented Programming techniques Who This Book Is For Meant for a reader who knows object-oriented programming, has some experience with Objective-C/Swift programming languages and wants to further enhance his skills with functional programming techniques with Swift 3.x. What You Will Learn Understand what functional programming is and why it matters Understand custom operators, function composition, currying, recursion, and memoization Explore algebraic data types, pattern matching, generics, associated type protocols, and type erasure Get acquainted with higher-kinded types and higher-order functions using practical examples Get familiar with functional and non-functional ways to deal with optionals Make use of functional data structures such as semigroup, monoid, binary search tree, linked list, stack, and lazy list Understand the importance of immutability, copy constructors, and lenses Develop a backend API with Vapor Create an iOS app by combining FP, OOP, FRP, and POP paradigms In Detail Swift is a multi-paradigm programming language enabling you to tackle different problems in various ways. Understanding each paradigm and knowing when and how to utilize and combine them can lead to a better code base. Functional programming (FP) is an important paradigm that empowers us with declarative development and makes applications more suitable for testing, as well as performant and elegant. This book aims to simplify the FP paradigms, making them easily understandable and usable, by showing you how to solve many of your day-to-day development problems using Swift FP. It starts with the basics of FP, and you will go through all the core concepts of Swift and the building blocks of FP. You will also go through important aspects, such as function composition and currying, custom operator definition, monads, functors, applicative functors,memoization, lenses, algebraic data types, type erasure, functional data structures, functional reactive programming (FRP), and protocol-oriented programming(POP). You will then learn to combine those techniques to develop a fully functional iOS application from scratch Style and approach An easy-to-follow guide that is full of hands-on coding examples of real-world applications. Each topic is explained sequentially and placed in context, and for the more inquisitive, there are more details of the concepts used. It introduces the Swift language basics and functional programming techniques in simple, non-mathematical vocabulary with examples in Swift.




Functional Swift: Updated for Swift 4


Book Description

This book will teach you how to use Swift to apply functional programming techniques to your iOS or OS X projects. These techniques complement object-oriented programming that most Objective-C developers will already be familiar with, providing you with a valuable new tool in your developer's toolbox. We will start by taking a look at Swift's new language features, such as higher-order functions, generics, optionals, enumerations, and pattern matching. Mastering these new features will enable you to write functional code effectively. After that, we will provide several examples of how to use functional programming patterns to solve real-world problems. These examples include a compositional and type-safe API around Core Image, a library for diagrams built on Core Graphics, and a small spreadsheet application built from scratch.




iPhone Programming


Book Description

Based on Big Nerd Ranch’s popular iPhone Bootcamp class, iPhone Programming: The Big Nerd Ranch Guide leads you through the essential tools and techniques for developing applications for the iPhone, iPad, and iPod Touch. In each chapter, you will learn programming concepts and apply them immediately as you build an application or enhance one from a previous chapter. These applications have been carefully designed and tested to teach the associated concepts and to provide practice working with the standard development tools Xcode, Interface Builder, and Instruments. The guide’s learn-while-doing approach delivers the practical knowledge and experience you need to design and build real-world applications. Here are some of the topics covered: Dynamic interfaces with animation Using the camera and photo library User location and mapping services Accessing accelerometer data Handling multi-touch gestures Navigation and tabbed applications Tables and creating custom rows Multiple ways of storing and loading data: archiving, Core Data, SQLite Communicating with web services ALocalization/Internationalization "After many 'false starts' with other iPhone development books, these clear and concise tutorials made the concepts gel for me. This book is a definite must have for any budding iPhone developer." –Peter Watling, New Zealand, Developer of BubbleWrap




Swift High Performance


Book Description

Leverage Swift and enhance your code to take your applications to the next level About This Book Build solid, high performance applications in Swift Increase your efficiency by getting to grips with concurrency and parallel programming Use Swift to design performance-oriented solutions Who This Book Is For This book is aimed at experienced Swift developers wanting to optimize their programs on Apple platforms to optimize application performance. What You Will Learn Build solid, stable, and reliable applications using Swift Use REPL and Pl to manage and configure relational databases Explore Swift's features including its static type system, value objects, and functional programming Design reusable code for high performance in Swift Use to Xcode LLBD and REPL to debug commands Avoid sharing resources by using concurrency and parallel programming Understand the lazy loading pattern, lazy sequences, and lazy evolution. In Detail Swift is one of the most popular and powerful programming languages for building iOS and Mac OS applications, and continues to evolve with new features and capabilities. Swift is considered a replacement to Objective-C and has performance advantages over Objective-C and Python. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Develop Swift and discover best practices that allow you to build solid applications and optimize their performance. First, a few of performance characteristics of Swift will be explained. You will implement new tools available in Swift, including Playgrounds and REPL. These will improve your code efficiency, enable you to analyse Swift code, and enhance performance. Next, the importance of building solid applications using multithreading concurrency and multi-core device architecture is covered, before moving on to best practices and techniques that you should utilize when building high performance applications, such as concurrency and lazy-loading. Finally, you will explore the underlying structure of Swift further, and learn how to disassemble and compile Swift code. Style and approach This is a comprehensive guide to enhancing Swift programming techniques and methodology to enable faster application development.




Swift by Example


Book Description

When Apple announced Swift at the WWDC, the iOS developer community became excited about the opportunities to improve the way in which they build iOS apps. Swift is a user-friendly language with a smooth learning curve; it is safe, robust, and flexible, and it introduces new ways to solve old problems. Swift by Example is a fast-paced, practical guide that shows you how to develop iOS apps using Swift. Through the development of six different apps, you'll learn how to use either the right feature of the language or the right tool to solve a given problem. By the end of the book you will be able to build well-designed apps, effectively use AutoLayout, and develop a video game.




Swift in Depth


Book Description

Summary Now updated for Swift 5! Swift is more than just a fun language to build iOS applications with. It features a host of powerful tools that, if effectively used, can help you create even better apps with clean, crystal-clear code and awesome features. Swift in Depth is designed to help you unlock these tools and quirks and get developing next-gen apps, web services, and more! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology It's fun to create your first toy iOS or Mac app in Swift. Writing secure, reliable, professional-grade software is a different animal altogether. The Swift language includes an amazing set of high-powered features, and it supports a wide range of programming styles and techniques. You just have to roll up your sleeves and learn Swift in depth. About the Book Swift in Depth guides you concept by concept through the skills you need to build professional software for Apple platforms, such as iOS and Mac; also on the server with Linux. By following the numerous concrete examples, enlightening explanations, and engaging exercises, you'll finally grok powerful techniques like generics, efficient error handling, protocol-oriented programming, and advanced Swift patterns. Author Tjeerd in 't Veen reveals the high-value, difficult-to-discover Swift techniques he's learned through his own hard-won experience. What's inside Covers Swift 5 Writing reusable code with generics Iterators, sequences, and collections Protocol-oriented programming Understanding map, flatMap, and compactMap Asynchronous error handling with ResultBest practices in Swift About the Reader Written for advanced-beginner and intermediate-level Swift programmers. About the Author Tjeerd in 't Veen is a senior software engineer and architect in the mobile division of a large international banking firm. Table of Contents Introducing Swift in depth Modeling data with enums Writing cleaner properties Making optionals second nature Demystifying initializers Effortless error handling Generics Putting the pro in protocol-oriented programming Iterators, sequences, and collections Understanding map, flatMap, and compactMap Asynchronous error handling with Result Protocol extensions Swift patterns Delivering quality Swift code Where to Swift from here




Protocol Oriented Programming with Swift


Book Description

Build fast and powerful applications by exploiting the power of protocol-oriented programming in SwiftAbout This Book• The only book that shows how to harness the power of Protocol-Oriented Programming in Swift to build real-world applications, • Get familiar with the protocol focused approach of application development, • Increase the overall productivity and performance of applications with Protocol Oriented Programming.Who This Book Is ForThis book is for Swift developers who want to learn and implement protocol oriented programming in their real world applications.What You Will Learn• The difference between Object-Oriented programming and Protocol-Oriented programming• The difference between reference and value types and when to use each• How we can leverage tuples to reduce the complexity of our code• What are protocols and how to use them• How to implement protocol extensions to create a very flexible code base• How to implement several design patterns in a Protocol-Oriented approach• How to solve real world design issue with protocol oriented programmingIn DetailAt the heart of Swift's design is an incredibly powerful idea: protocol-oriented programming. Its many benefits include better code maintainability, increased developer productivity and superior application performance. The book will teach the reader how to apply the ideas behind the protocol oriented programing paradigm to improve the code they write.This book will introduce the readers to the world of protocol-oriented programming in Swift and will demonstrate the ideas behind this new programming paradigm with real world examples. In addition to learning the concepts of Protocol Oriented programming, it also shows the reader how to reduce the complexity of their codebase using protocol extensions. Beginning with how to create simple protocols, readers will learn how to extend protocols and also to assign behaviors to them.By the end of this book readers will be able to harness the power of protocol-oriented programming to build real world applications.Style and approachIn its latest release of Swift, Apple has introduced Protocol Extensions as a new feature at the heart of Swifts design making Swift 2 a protocol-oriented language. Protocol oriented programming being a less explored OOP paradigm, there is little guidance on hot to take advantage of protocol extensions in real-world applications. In addition to offering an in-depth coverage of protocol oriented programming and its concepts, this book also explains how a developer can leverage these features to build powerful, real-world applications




Expert Swift (First Edition)


Book Description

Deep Dive Into Swift!Swift is a rich language with a plethora of features to offer. Reading the official documentation or entry-level books is important, but it's not enough to grasp the true power of the language.Expert Swift is here to help, by showing you how to harness the full power of Swift. You'll learn about advanced usages of protocols, generics, functional reactive programming, API design and more.Who This Book is ForThis book is for intermediate Swift developers who already know the basics of Swift and are looking to deepen their knowledge and understanding of the language.Topics Covered in Expert SwiftProtocols and Generics: Learn how protocols and generics work, and how you can leverage them in your code to produce clean, long-lasting and easy-to-refactor APIs.Sequences and Collections: Learn how to use Sequences and Collections to write generic algorithms that operate across type families.Unsafe: Understand the memory layout of types and how to use typed and untyped pointers.Functional Reactive Programming: Explore the most important and refined concepts of functional reactive programming and how you can apply these concepts to your apps.Objective-C Interoperability: Learn how to expose Objective-C code to Swift and vice versa.Library and API Design: Enhancing your skill set and intuition for designing great APIs.One thing you can count on: after reading this book, you'll be prepared to use the advanced features of Swift and improve your existing code with the knowledge you'll acquire.




Swift for Beginners


Book Description

NOTE: This edition is now out of date, and does not conform with the current version of Swift. Please check out the newer edition instead, which is ISBN 9780134289779. LEARNING A NEW PROGRAMMING LANGUAGE can be daunting. With Swift, Apple has lowered the barrier of entry for developing iOS and OS X apps by giving developers an innovative new programming language for Cocoa and Cocoa Touch. If you are new to Swift, this book is for you. If you have never used C, C++, or Objective-C, this book is definitely for you. With this handson guide, you'll quickly be writing Swift code, using Playgrounds to instantly see the results of your work. Author Boisy G. Pitre gives you a solid grounding in key Swift language concepts-including variables, constants, types, arrays, and dictionaries-before he shows you how to use Swift's innovative Xcode integrated development environment to create apps for iOS and OS X. THIS BOOK INCLUDES: Detailed instruction, ample illustrations, and clear examples Real-world guidance and advice Best practices from an experienced Mac and iOS developer Emphasis on how to use Xcode, Playgrounds, and the REPL COMPANION WEBSITE: www.peachpit.com/swiftbeginners includes additional resources.