This e book is for intermediate Swift builders who already know the fundamentals of Swift and need to deepen their data and understanding of the language.
- Protocols & Generics
- Numerics & Ranges
- Sequences & Collections
- Unsafe
- Practical 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 displaying…
extra
This part tells you just a few issues you should know earlier than you get began, resembling what you’ll want for {hardware} and software program, the place to search out the mission information for this e book, and extra.
The primary part of this e book covers the essential constructing blocks of the Swift language: The sort system (enums, structs and courses), Protocols and Generics. We’ll begin with a quick refresher of every subject after which soar proper into the behind-the-scenes implementations.
The content material of this part will expose the inside workings of the sort system, in addition to get you intimately conversant in protocols and generics.
Welcome to Skilled Swift. On this chapter, you’ll study a number of the motivations behind creating the Swift language, take a brief however deep dive into the Swift toolchain movement and have a look at Swift. You’ll develop a easy language function, ifelse, to discover a number of the services Swift presents 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 better optimization. You’ll acquire expertise concerning the completely different nominal varieties 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 may 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 instances to bear in mind.
On this chapter, you may get intimately conversant in generics by persevering with to work on the networking library you began within the earlier chapter. You may discover ways to write generic features, courses and structs; find out how to use protocols with related varieties; what kind erasure is and find out how 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 subject – Unsafe.
As you’d count on from a complicated e book, we don’t solely clarify these subjects, but in addition examine how they’re constructed, how they’re represented, and find out how to use them successfully.
Swift is a platform-agnostic, general-purpose programming language that helps numerous numeric varieties 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 varieties 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 type the spine of the usual library for varieties 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 presents some ways to rapidly 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 Sport of Life. You’ll additionally create a chunking algorithm that can be utilized with any assortment kind.
The right implementation of a string kind in Swift has been a controversial subject for fairly a while. The design is a fragile stability between Unicode correctness, encoding agnosticism, ease-of-use and high-performance. Nearly each main launch of Swift has refined the String kind to the superior design we now have right this moment. You’ll study how one can most successfully use strings, what they are surely, how they work and the way they’re represented.
When creating your app, you’ll usually cope with a myriad of knowledge fashions and numerous exterior items of knowledge that you simply’ll wish to signify as knowledge fashions in your app.
On this chapter, you’ll rapidly flick through the fundamentals of Codable, after which concentrate on the superior supplies down the darkish corners of codable varieties.
Swift is a memory-safe and type-safe language. In some instances, you may want your code to be extraordinarily optimized, through which case the tiny overhead added by the security checks from Swift is perhaps too costly. You is perhaps coping with an enormous stream of real-time knowledge, manipulating giant information or different giant operations that cope with giant knowledge.
On this chapter you may discover ways to use unsafe Swift to straight entry reminiscence by way of quite a lot of pointer varieties and find out how to work together with the reminiscence system straight.
The ultimate part of this e book covers superior strategies to super-charge your Swift powers, and use all of what Swift has to supply.
We’ll cowl subjects like Greater order features, Practical reactive programming, Goal-C interoperability, utilizing Instrumentation, and API design.
Greater-order features can simplify your code considerably by making it extra readable, lots shorter and simpler to reuse. You may study what are greater order features, what’s currying and study examples of how they’re utilized in the usual library.
On this chapter you may study crucial and refined ideas of purposeful reactive programming and how one can apply these ideas to your apps.
Prefer it or not, Goal-C remains 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 usually 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 may discover ways to create a healthful expertise for customers of each the Goal-C and Swift parts of your codebase in a means that feels as if it had been designed for both.
Being an amazing iOS software program engineer is not solely about being a grandmaster of the Swift language. It is also about understanding which instruments the platform places at your disposal, find out how to use them to sharpen your expertise and find out how to determine areas of enchancment in your code.
On this chapter you may study superior options of the Devices app, and find out how to use it to enhance your code.
Discover just a few subjects to boost your skillset and instinct for designing nice APIs.
Matters like Documentation, Encapsulation, versioning, and several other highly effective language options.