Modern Concurrency in Swift (Second Edition)

Modern Concurrency in Swift (Second Edition)

Author: Kodeco Team

Publisher: Kodeco Incorporated

Published: 2023-02-14

Total Pages: 0

ISBN-13: 9781950325818

DOWNLOAD EBOOK

Learn Modern Swift Concurrency! For years, writing powerful and safe concurrent apps with Swift could easily turn into a daunting task, full of race conditions and unexplained crashes hidden in a massive nesting of callback closures. In Swift 5.5, Apple introduced a new concurrency model featuring the async/await syntax, which lets you write asynchronous code that reads like synchronous code. But like any new feature, here be dragons! So how will you achieve the much-desired mastery of modern Swift concurrency? Modern Concurrency in Swift comes to the rescue, showcasing what you need to know about async/await, tasks, actors and everything in between! Who This Book Is For This book is for intermediate Swift developers who are familiar with writing asynchronous applications and who want to leverage the concurrency features Apple introduced in Swift 5.5 and its evolution throughout the years, to write safer and more predictable asynchronous apps. Topics Covered in Modern Concurrency in Swift Using async/await: Learn how to use the new async/await keywords to define and run asynchronous work. Actors: Find out how to use the actor model to easily protect shared mutable state in a synchronized container. Tasks: You'll dive deeper into the Task type, which powers all asynchronous tasks in Swift's modern concurrency model. Task Groups: Use a Task Group to group multiple tasks together and run them concurrently, while using a familiar Array-like syntax to iterate over the results. Custom Asynchronous Sequences: Leverage the power of async/await in your own asynchronous work, by learning how to create custom AsyncStreams. Testing Asynchronous Code: Asynchronous code can be a challenging beast to test. You'll learn everything you need to tackle this challenge. One thing you can count on: After reading this book, you'll be prepared to leverage Swift's new concurrency features in your app to write safe, performant and predictable asynchronous code.


Concurrency by Tutorials (Third Edition)

Concurrency by Tutorials (Third Edition)

Author: Kodeco Team

Publisher: Kodeco Incorporated

Published: 2023-08-02

Total Pages: 0

ISBN-13: 9781950325917

DOWNLOAD EBOOK

Dive into Concurrency in iOS!Concurrency is the concept of multiple things, or pieces of work, running at the same time. With the addition of CPU cores in our devices, knowing how to properly utilize your customer's hardware to the maximum is absolutely a must. Unfortunately, proper concurrency in iOS apps is one of the lesser-known, lower-level topics, that every developer wants to (and should) understand properly, but is usually intimidated by.This is where Concurrency by Tutorials comes to the rescue! In this book, you'll learn everything there is to know about how to write performant and concurrent code for your iOS apps. Who This Book Is ForThis book is for intermediate iOS developers who already know the basics of iOS and Swift development but want to enrich their knowledge, learning more about how to efficiently perform tasks without affecting the performance of their app, and how to properly divide work to utilize hardware to the fullest extent.Topics Covered in Concurrency by TutorialsWhat & Why: Learn what is Concurrency and why would you even want to utilize it in your apps?Grand Central Dispatch: Learn about Apple's implementation of C's libdispatch, also known as GCD, it's one of the simplest ways to queue up tasks to be run in parallel.Operations & Operation Queues: When GCD doesn't quite cut it, you'll learn how to further customize and reuse your concurrent work using Operations and Operation Queues.Common Concurrency Problems: Learn about some of the problems you could face while developing concurrent applications, such as Race Conditions, Deadlocks, and more.Threads & Thread Sanitizer: Understand various threading-related concepts and how these connect to the knowledge you've accumulated throughout this book. You'll also learn how to use Thread Sanitizer to ease your debugging when things go wrong.This book is sure to make you a pro in building concurrent and performant applications, and finally understanding how these lower-level APIs work to the fullest, pushing your app to the top!


Swift High Performance

Swift High Performance

Author: Kostiantyn Koval

Publisher: Packt Publishing Ltd

Published: 2015-11-06

Total Pages: 213

ISBN-13: 1785284967

DOWNLOAD EBOOK

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.


Operating Systems

Operating Systems

Author: Thomas Anderson

Publisher:

Published: 2014

Total Pages: 0

ISBN-13: 9780985673529

DOWNLOAD EBOOK

Over the past two decades, there has been a huge amount of innovation in both the principles and practice of operating systems Over the same period, the core ideas in a modern operating system - protection, concurrency, virtualization, resource allocation, and reliable storage - have become widely applied throughout computer science. Whether you get a job at Facebook, Google, Microsoft, or any other leading-edge technology company, it is impossible to build resilient, secure, and flexible computer systems without the ability to apply operating systems concepts in a variety of settings. This book examines the both the principles and practice of modern operating systems, taking important, high-level concepts all the way down to the level of working code. Because operating systems concepts are among the most difficult in computer science, this top to bottom approach is the only way to really understand and master this important material.


Mastering Swift 5

Mastering Swift 5

Author: Jon Hoffman

Publisher: Packt Publishing Ltd

Published: 2019-04-30

Total Pages: 358

ISBN-13: 1789132738

DOWNLOAD EBOOK

Harness the power of the latest edition with this in-depth and comprehensive guide to the Swift language Key FeaturesFifth edition of this bestselling book, improved and updated to cover the latest version of the Swift 5 programming languageGet to grips with popular and modern design techniques to write easy-to-manage Swift codeLearn how to use core Swift features such as concurrency, generics, and copy-on-write in your codeBook Description Over the years, the Mastering Swift book has established itself amongst developers as a popular choice as an in-depth and practical guide to the Swift programming language. The latest edition is fully updated and revised to cover the new version: Swift 5. Inside this book, you'll find the key features of Swift 5 easily explained with complete sets of examples. From the basics of the language to popular features such as concurrency, generics, and memory management, this definitive guide will help you develop your expertise and mastery of the Swift language. Mastering Swift 5, Fifth Edition will give you an in-depth knowledge of some of the most sophisticated elements in Swift development, including protocol extensions, error handling, and closures. It will guide you on how to use and apply them in your own projects. Later, you'll see how to leverage the power of protocol-oriented programming to write flexible and easier-to-manage code. You will also see how to add the copy-on-write feature to your custom value types and how to avoid memory management issues caused by strong reference cycles. What you will learnUnderstand core Swift components, including operators, collections, control flows, and functionsLearn how and when to use classes, structures, and enumerationsUnderstand how to use protocol-oriented design with extensions to write easier-to-manage codeUse design patterns with Swift, to solve commonly occurring design problemsImplement copy-on-write for you custom value types to improve performanceAdd concurrency to your applications using Grand Central Dispatch and Operation QueuesImplement generics to write flexible and reusable codeWho this book is for This book is for developers who want to delve into the newest version of Swift. If you are a developer and learn best by looking at and working with code, then this book is for you. A basic understanding of Apple's tools would be beneficial but not mandatory. All examples should work on the Linux platform as well.


Combine

Combine

Author: raywenderlich Tutorial Team

Publisher: Razeware LLC

Published: 2021-09-28

Total Pages: 448

ISBN-13: 9781950325498

DOWNLOAD EBOOK

Dive into Combine! Writing asynchronous code can be challenging, with a variety of possible interfaces to represent, perform, and consume asynchronous work - delegates, notification center, KVO, closures, etc. Juggling all of these different mechanisms can be somewhat overwhelming. Does it have to be this hard? Not anymore! In this book, you'll learn about Combine - Apple's framework to work with asynchronous events in a unified and reactive way that ensures your app is always up to date based on the latest state of its data. Who This Book Is For This book is for intermediate iOS developers who already know the basics of iOS and Swift development but are interested in learning declarative/reactive programming and take their app and state management to the next level. You'll also find this book interesting if you're interested in SwiftUI - as many of the reactive capabilities keeping your SwiftUI views up-to-date are built on top of Combine. Topics Covered in Combine: Asynchronous Programming with Swift What & Why: Learn what is Combine and reactive programming and the problems they solve, and how you can unify all of your asynchronous piece of work. Operators: Learn how to compose, transform, filter and otherwise manipulate different pieces of asynchronous work using operators. In Practice: You'll gain knowledge on various topics and techniques you'll leverage when writing your own real-life apps, as well as practice these techniques with actual hands-on apps and projects. SwiftUI: You'll learn about how Combine is deeply rooted within SwiftUI and provides it with the ability to reactively update its views based on the state of your app. Advanced Combine: Once you've got a handle on the basics, you'll dive into advanced Combine topics such as Error Handling, Schedulers, and Custom Publishers. By the end of this book, you'll be a pro in building full-fledged applications using Combine's various abilities.


Swift Cookbook

Swift Cookbook

Author: Keith Moon

Publisher: Packt Publishing Ltd

Published: 2021-02-26

Total Pages: 488

ISBN-13: 1839210621

DOWNLOAD EBOOK

Discover recipes for building feature-rich, reliable iOS native apps and explore the latest features in Swift 5.3 with the help of proven industry standard recipes, modern design techniques, and popular strategies Key FeaturesUnderstand how closures work and make use of generics with protocols to write flexible codeDiscover the fundamentals of Swift and build apps with frameworks such as Foundation, Networking, and UIKitGet to grips with the new features of Swift 5.3, including SwiftUI, CoreML and the Vision FrameworkBook Description Swift is an exciting, multi-platform, general-purpose programming language, and with this book, you'll explore the features of its latest version, Swift 5.3. The book begins with an introduction to the basic building blocks of Swift 5.3, its syntax, and the functionalities of Swift constructs. You’ll then discover how Swift Playgrounds provide an ideal platform to write, execute, and debug your Swift code. As you advance through the chapters, the book will show you how to bundle variables into tuples or sets, order your data with an array, store key-value pairs with dictionaries, and use property observers. You’ll also get to grips with the decision-making and control structures in Swift, examine advanced features such as generics and operators, and explore functionalities outside of the standard library. Once you’ve learned how to build iOS applications using UIKit, you'll find out how to use Swift for server-side programming, run Swift on Linux, and investigate Vapor. Finally, you'll discover some of the newest features of Swift 5.3 using SwiftUI and Combine to build adaptive and reactive applications, and find out how to use Swift to build and integrate machine learning models along with Apple’s Vision Framework. By the end of this Swift book, you'll have discovered solutions to boost your productivity while developing code using Swift 5.3. What you will learnExplore basic to advanced concepts in Swift 5.3 programmingUnderstand conditional statements, loops, and how to handle errors in SwiftDefine flexible classes and structs using genericsUse advanced operators and create custom onesBuild iOS apps using the powerful features of UIKit or the new SwiftUI frameworkImport your own custom functionality into Swift PlaygroundsRun Swift on Linux and investigate server-side programming with the server-side framework VaporUse Swift to implement machine learning models using CoreML and VisionWho this book is for This book is for experienced iOS developers looking to learn about the diverse features offered by Swift 5.3, along with tips and tricks to efficiently code and build applications. Knowledge of general programming concepts will assist in understanding key concepts.


Expert Swift (First Edition)

Expert Swift (First Edition)

Author: raywenderlich Tutorial Team

Publisher:

Published: 2021-05-18

Total Pages:

ISBN-13: 9781950325443

DOWNLOAD EBOOK

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.


Data Structures & Algorithms in Swift (Fourth Edition)

Data Structures & Algorithms in Swift (Fourth Edition)

Author: raywenderlich Tutorial Team

Publisher:

Published: 2021-09-15

Total Pages:

ISBN-13: 9781950325405

DOWNLOAD EBOOK

Learn Data Structures & Algorithms in Swift!Data structures and algorithms form the basis of computer programming and are the starting point for anyone looking to become a software engineer. Choosing the proper data structure and algorithm involves understanding the many details and trade-offs of using them, which can be time-consuming to learn - and confusing.This is where this book, Data Structures & Algorithms in Swift, comes to the rescue! In this book, you'll learn the nuts and bolts of how fundamental data structures and algorithms work by using easy-to-follow tutorials loaded with illustrations; you'll also learn by working in Swift playground code.Who This Book Is ForThis book is for developers who know the basics of Swift syntax and want a better theoretical understanding of what data structures and algorithms are to build more complex programs or ace a whiteboard interview.Topics Covered in Data Structures & Algorithms in Swift*Basic data structures and algorithms, including stacks, queues and linked lists. *How protocols can be used to generalize algorithms. *How to leverage the algorithms of the Swift standard library with your own data structures. *Trees, tries and graphs. *Building algorithms on top of other primitives. *A complete spectrum of sorting algorithms from simple to advanced. *How to think about algorithmic complexity. *Finding shortest paths, traversals, subgraphs and much more.After reading this book, you'll have a solid foundation on data structures and algorithms and be ready to solve more complex problems in your apps elegantly.


iOS 8 Swift Programming Cookbook

iOS 8 Swift Programming Cookbook

Author: Vandad Nahavandipoor

Publisher: "O'Reilly Media, Inc."

Published: 2014-11-10

Total Pages: 1105

ISBN-13: 1491908971

DOWNLOAD EBOOK

Entirely rewritten for Apple’s Swift programming language, this updated cookbook helps you overcome the vexing issues you’re likely to face when creating apps for iOS devices. You’ll find hundreds of new and revised recipes for using the iOS 8 SDK, including techniques for working with Health data and HomeKit accessories, enhancing and animating graphics, storing and protecting data, sending and receiving notifications, and managing files and folders among them. Each recipe includes sample code on GitHub that you can use right away. Use CloudKit APIs to store information in the cloud with ease Create custom keyboards and extensions Access users’ health-related information with HealthKit Interact with accessories inside the user’s home with HomeKit Create vibrant and lifelike user interfaces with UIKit Dynamics Use the Keychain to protect your app’s data Develop location-aware and multitasking-aware apps Work with iOS 8’s audio and video APIs Use Event Kit UI to manage calendars, dates, and events Take advantage of the accelerometer and the gyroscope Get working examples for implementing gesture recognizers Retrieve and manipulate contacts and groups from the Address Book Determine a camera’s availability and access the Photo Library