This e book is for intermediate Swift builders who already know the fundamentals of Swift and want to deepen their data and understanding of the language.
- Protocols & Generics
- Numerics & Ranges
- Sequences & Collections
- Unsafe
- Useful Reactive Programming
- Goal-C Interoperability
- Library & API Design
Swift is a wealthy language with a plethora of options to supply. Studying the official documentation or entry-level books is vital, however it’s not sufficient to understand the true energy of the language.
Skilled Swift is right here to assist, by exhibiting…
extra
This part tells you just a few issues you must know earlier than you get began, equivalent to what you’ll want for {hardware} and software program, the place to search out the mission recordsdata for this e book, and extra.
The primary part of this e book covers the fundamental constructing blocks of the Swift language: The kind system (enums, structs and lessons), Protocols and Generics. We’ll begin with a quick refresher of every matter after which bounce proper into the behind-the-scenes implementations.
The content material of this part will expose the interior workings of the sort system, in addition to get you intimately accustomed to protocols and generics.
Welcome to Skilled Swift. On this chapter, you’ll study among the motivations behind creating the Swift language, take a brief however deep dive into the Swift toolchain circulation and have a look at Swift. You’ll develop a easy language function, ifelse, to discover among the amenities Swift provides for creating highly effective, expressive abstractions.
Sorts are important to constructing Swift applications. The Swift compiler kind checks your code to confirm correctness, guarantee security and allow higher optimization. You’ll achieve expertise concerning the totally different nominal sorts and mutation with a number of small examples. You’ll additionally implement mutable worth semantics for a QuadTree kind utilizing copy-on-write dynamic storage.
On this chapter you will undergo a quick refresher on the fundamentals of protocols in addition to a few of their extra not often used options.
You’ll additionally study widespread patterns that use protocols in addition to some helpful gotchas and edge circumstances to remember.
On this chapter, you will get intimately accustomed to generics by persevering with to work on the networking library you began within the earlier chapter. You will discover ways to write generic features, lessons and structs; the way to use protocols with related sorts; what kind erasure is and the way to put all that collectively to make a coherent API.
This sections covers the bottom layer of writing Swift applications: Numerics, Ranges, Strings, Sequences, Collections, Codable and the much less apparent, however crucial matter – Unsafe.
As you’d count on from a complicated e book, we don’t solely clarify these matters, but in addition examine how they’re constructed, how they’re represented, and the way to use them successfully.
Swift is a platform-agnostic, general-purpose programming language that helps varied numeric sorts with differing house, vary, accuracy and efficiency traits. Constructing two apps (BitViewer and Mandlebrot), you’ll see how Swift simplifies programming with protocols and generics. You’ll additionally have a look at vary sorts and the way operators and generics as soon as once more come to the rescue in implementing these language options.
Sequence, Assortment and associated protocols kind the spine of the usual library for sorts like Array, Dictionary and Set. You’ll see how these protocols mean you can write generic algorithms that function throughout households of collections. The usual library provides some ways to shortly construct customized sequences and collections. You’ll use these to construct a number of examples together with a customized mutable assortment to implement Conway’s Recreation of Life. You’ll additionally create a chunking algorithm that can be utilized with any assortment kind.
The correct implementation of a string kind in Swift has been a controversial matter for fairly a while. The design is a fragile stability between Unicode correctness, encoding agnosticism, ease-of-use and high-performance. Virtually each main launch of Swift has refined the String kind to the superior design we have now right now. You’ll be taught how one can most successfully use strings, what they are surely, how they work and the way they’re represented.
When growing your app, you’ll typically cope with a myriad of knowledge fashions and varied exterior items of knowledge that you just’ll wish to symbolize as knowledge fashions in your app.
On this chapter, you’ll shortly flick through the fundamentals of Codable, after which give attention to the superior supplies down the darkish corners of codable sorts.
Swift is a memory-safe and type-safe language. In some circumstances, you may want your code to be extraordinarily optimized, through which case the tiny overhead added by the protection checks from Swift is perhaps too costly. You is perhaps coping with an enormous stream of real-time knowledge, manipulating massive recordsdata or different massive operations that cope with massive knowledge.
On this chapter you will discover ways to use unsafe Swift to instantly entry reminiscence by a wide range of pointer sorts and the way to work together with the reminiscence system instantly.
The ultimate part of this e book covers superior methods to super-charge your Swift powers, and use all of what Swift has to supply.
We’ll cowl matters like Larger order features, Useful reactive programming, Goal-C interoperability, utilizing Instrumentation, and API design.
Larger-order features can simplify your code considerably by making it extra readable, lots shorter and simpler to reuse. You will be taught what are increased order features, what’s currying and look at examples of how they’re utilized in the usual library.
On this chapter you will be taught crucial and refined ideas of practical reactive programming and how one can apply these ideas to your apps.
Prefer it or not, Goal-C continues to be a closely used language in legacy codebases and apps which were in manufacturing for a few years. In your individual apps, you’ll typically have a large Goal-C codebase that simply doesn’t really feel at dwelling inside your Swift code or wish to use a few of your shiny new Swift code in your Goal-C code.
On this chapter, you will discover ways to create a healthful expertise for customers of each the Goal-C and Swift parts of your codebase in a manner that feels as if it had been designed for both.
Being a terrific iOS software program engineer is not solely about being a grandmaster of the Swift language. It is also about figuring out which instruments the platform places at your disposal, the way to use them to sharpen your abilities and the way to establish areas of enchancment in your code.
On this chapter you will study superior options of the Devices app, and the way to use it to enhance your code.
Discover just a few matters to boost your skillset and instinct for designing nice APIs.
Subjects like Documentation, Encapsulation, versioning, and a number of other highly effective language options.