Transition to a Professional iOS developer with the most in-depth and advanced level guide on Swift 4 and Xcode 9 About This Book Filled with practical examples, this comprehensive guide explores all aspects of iOS Development. Learn powerful techniques and industry`s best practices to become pro iOS Developer. Unlock the full potential of iOS 11 programming with Swift 4 to build rich and powerful applications Gain detailed insights into core iOS Programming concepts such as Extensions, Performance, Animations, CoreData and lot more with examples Extend your iOS apps to new level with ARKit and CoreML Who This Book Is For This book is for developers who have some experience with iOS programming, but want to take their skills to next level by unlocking the full potential of latest version of iOS with Swift to build great applications. What You Will Learn Build a professional iOS application from scratch Create adaptive, complex views with Auto-Layout Writing flexible and reusable code with Protocol Oriented programming Ensure code quality by using proper tests. Measure and improve performance with the Instruments app Integrate with iOS on a deep level with several App Extensions Implement AI, Machine Learning, Augmented Reality and more iOS 11 sweetness In Detail With good pay for iOS developers, a mature development environment, and Apple users spending more money on the App store than Android users, becoming a professional iOS developer is a great move. The journey to master iOS development and the new features of iOS 11 is not straightforward, but this book will help you make that transition. Written for Swift 4 and following the latest Swift API design guidelines, you won't just learn how to program for iOS 11, you'll learn how to write great, readable, and maintainable Swift code that's in line with the industry's best-practices. The progression of this book reflects the real-world development flow. In the book, you will build real-world applications. You will find a mix of thorough background information and practical examples, so you'll know how to make use of a technique right away while you also get a great understanding of the how and why. By the end, you will be able to build iOS applications that harness advanced techniques and make the best use of the latest and greatest features available in iOS 11. Style and approach This book takes a no-frill approach and is very code-specific. The focus is on teaching advanced concepts through a series of small projects and standalone examples that help you gain expertise with various aspects of iOS application development. Key Features This practical guide will help you make the transition to professional iOS developer Implement numerous powerful iOS 11 and Swift 4 techniques to build high-quality apps through this book Get the most in-depth, advanced-level guide on the latest version of iOS and take a hands-on approach Book Description With usage of apps growing rapidly, mobile application development has become the most sought-after skill set. Within the mobile market, iOS commands a massive presence and is a highly lucrative platform. If you want to unleash the full potential of iOS 11 to build applications, then this book is for you. Written with Swift 4 and following the latest Swift API design guidelines, you wont just learn how to program for iOS 11youll also learn how to write beautiful, readable, and maintainable Swift code thats in line with the industrys best-practices. The progression of the book reflects the real-world development flow: it will quickly brush on the essentials at the beginning and then move on to the advanced concepts crucial to building powerful applications. Within the book, you will build a couple of small applications that resemble applications you might want to build in the real world. You will be reading a mix of thorough background information and practical examples, so youll know how to make use of a certain technique right away while you also get a great understanding of the how and why. By the end, you will be able to build iOS application that harness advanced techniques and make the best use of the latest and greatest features available in iOS 11. What you will learn Create rich views and layouts with responsive animations and transitions. Make the most of Swift and Protocol Oriented Programming. Handling data, offline and online Enrich the user experience with app extensions. Ensure code quality by using proper tests. Measure and improve performance. Automated screenshots and submission to iTunesConnect Understanding and being able to use new iOS 11 features About the Author Donny Wals is a passionate, curious, and fairly young developer from Netherlands. Ever since he started his communications and multimedia design studies in Amsterdam, he knew that he didn't just want to build great websites and apps, but also transfer knowledge to his peers and newcomers. Needless to say he got involved with coaching, mentoring, and assisting in his freshman year. During his final two years at college, he's been a teacher in web development and spent most of his free time exploring iOS and Objective-C. When Swift was first announced, it didn't take long for him to start playing around with it, and after just a few months of learning and experimenting Donny became the lead iOS developer for the start-up where he'd been working. As an active member of the iOS-developers Slack community, Donny is always up for helping out people with their code and sharing his own knowledge with his peers. "Cover" -- "Title Page" -- "Copyright" -- "Credits" -- "About the Author" -- "About the Reviewer" -- "www.PacktPub.com" -- "Customer Feedback" -- "Table of Contents" -- "Preface" -- "Chapter 1: UITableView Touch Up" -- "Setting up the user interface (UI)" -- "Fetching a user's contacts" -- "Creating a custom UITableViewCell for our contacts" -- "Designing the contact cell" -- "Creating the cell subclass" -- "Displaying the list of contacts" -- "Protocols and delegation" -- "Conforming to the UITableViewDataSource and UITableViewDelegate protocol" -- "Under the hood of UITableView performance" -- "Improving performance with prefetching" -- "UITableViewDelegate and interactions" -- "Responding to cell selection" -- "Implementing cell deletion" -- "Allowing the user to reorder cells" -- "Summary" -- "Chapter 2: A Better Layout with UICollectionView" -- "Converting from a UITableView to UICollectionView" -- "Creating and implementing a custom UICollectionViewCell" -- "Understanding the UICollectionViewFlowLayout and its delegate" -- "Creating a custom UICollectionViewLayout" -- "Precalculating the layout" -- "Implementing collectionViewContentSize" -- "Implementing layoutAttributesForElements(_:)" -- "Implementing layoutAttributesForItem(_:)" -- "Implementing shouldInvalidateLayout(_:)" -- "Assigning the custom layout to the collection view" -- "Final words on the custom layout" -- "UICollectionView performance" -- "User interactions with UICollectionView" -- "Cell selection" -- "Cell deletion" -- "Cell reordering" -- "Refactoring the long-press handler" -- "Implementing the reorder method calls" -- "Implementing the data source methods" -- "Adding the edit button" -- "Summary" -- "Chapter 3: Creating a Contact Details Page" -- "Universal applications" -- "Implementing navigation with segues" -- "Creating adaptive layouts with Auto Layout" With good pay for iOS developers, a mature development environment, and Apple users spending more money on the App store than Android users, becoming a professional iOS developer is a great move. The journey to master iOS development and the new features of iOS 11 is not straightforward, but this book will help you make that transition. Written for Swift 4 and following the latest Swift API design guidelines, you won't just learn how to program for iOS 11, you'll learn how to write great, readable, and maintainable Swift code that's in line with the industry's best-practices. The progression of this book reflects the real-world development flow. In the book, you will build real-world applications. You will find a mixt of thorough background information and practical examples, so you'll know how to make use of a technique right away while you also get a great understanding of the how and why. By the end, you will be able to build iOS applications that harness advanced techniques and make the best use of the latest and greatest features available in iOS 11. -- Taken from back cover