Title Page
Mastering macOS Programming
Combine macOS programming with Cocoa and Swift 3 to build powerful applications
Stuart Grimshaw
BIRMINGHAM - MUMBAI
Copyright
Mastering macOS Programming
Copyright 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: May 2017
Production reference: 1300517
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78646-169-8
www.packtpub.com
Credits
Author Stuart Grimshaw | Copy Editor Dhanya Baburaj |
Reviewer Fernando Rodrguez | Project Coordinator Ritika Manoj |
Commissioning Editor Ashwin Nair | Proofreader Safis Editing |
Acquisition Editor Divya Poojari | Indexer Aishwarya Gangawane |
Content Development Editor Arun Nadar | Graphics Jason Monteiro |
Technical Editors Akansha Bathija Shivani Mistry | Production Coordinator Shantanu Zagade |
About the Author
Stuart Grimshaw has programmed for Apple computers since the days before OS X and has been involved with developing for the Apple Watch since its release. Born in the UK and having lived in Germany and the Netherlands, he is currently a freelance iOS/tvOS/macOS developer in Auckland, New Zealand, where he works on some of Australia-New Zealand's largest video and TV delivery apps and leads the research and development of both watchOS and tvOS applications. He is passionate about the potential of the Apple Watch and Apple TV, as well as Apple's Swift programming language, and is a keen proponent of beach coding.
About the Reviewer
Fernando Rodrguez has more than 20 years of experience in developing and teaching other developers. Although he currently specializes in the Apple stack of tools, hes a nerd of all trades with a strong interest in big data and automated trading.
He has taught iOS development at the Big Nerd Ranch, Udacity, and Keepcoding, ranging from Facebook developers to indie devs.
He was awarded as an "Outstanding instructor" at Udemy for his introductory course to iOS development. This course was mentioned in the Financial Times, Venture beat, and InformationWeek.
Code long and prosper!
www.PacktPub.com
For support files and downloads related to your book, please visit www.PacktPub.com .
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for more details.
At www.PacktPub.com , you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.
Why subscribe?
- Fully searchable across every book published by Packt
- Copy and paste, print, and bookmark content
- On demand and accessible via a web browser
Customer Feedback
Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial process. To help us improve, please leave us an honest review on this book's Amazon page at https://www.amazon.com/dp/1786461692.
If you'd like to join our team of regular reviewers, you can e-mail us at customerreviews@packtpub.com. We award our regular reviewers with free eBooks and videos in exchange for their valuable feedback. Help us be relentless in improving our products!
Dedication
For Jane.
And because this book is twice as thick as the last one, for my mum too.
Preface
This book will take your Swift programming skills to a level at which you can work as a professional software engineer, using a step-by-step approach, ensuring that the introduction of each new concept is preceded by a thorough understanding of those preceding it.
The book covers a range of technologies, particularly those that you'll typically need, if not on day one of a new project (or a new job), then at least pretty soon after. These include not just Apple's Xcode, but also the Terminal app, Git version control, package management, the Swift REPL, and the LLDB debugger, all of which are essential skills.
Each chapter focuses on a particular topic or technology, giving you a deep dive into the skills and know-how that will take your work to a professional standard, in terms of code quality, maintainability, and robustness. This entails general topics, such as programming paradigms and design patterns, a general look at the Cocoa frameworks and their place in the macOS ecosystem, and of course specific technologies around networking, storage, and advanced graphics and animation.
Furthermore, a significant portion of the text is devoted to such thorny issues as concurrency, asynchronous programming, and error handling.
By the end of this book, you will be able to confidently approach projects of much greater size and complexity, and be well placed to comfortably deal with the various issues that all programming inevitably brings with it.
Coding is a never-ending journey. This book aims to get you on the right track, and a fair way along it.
What this book covers
, Hello macOS, explores the context in which the rest of the book is set and takes a look at developing for Apple platforms in general, and the direction that development is heading in.
Next page