RxSwift: Reactive Programming with Swift
Aug 11 2020 · Book
Leverage the power of RxSwift in your reactive apps!
This book is for iOS developers who already fe...
more
RxSwift: Reactive Programming with Swift
Leverage the power of RxSwift in your reactive apps!
This book is for iOS developers who already feel comfortable with iOS and Swift, and want to dive deep into development with RxSwift.
Start with an introduction to the reactive programming paradigm; learn about observers and observables, filtering and transforming operators, and how to work with the UI, and finish off by building a fully-featured app in RxSwift.
iOS & Swift
Expert Swift
May 19 2021 · Book
Master the Swift language with the Expert Swift book!
Swift is a rich language with a plethora of...
more
Expert Swift
Master the Swift language with the Expert Swift book!
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.
Multiple Domains
Server-Side Swift with Vapor
Mar 30 2021 · Book
Learn how to build web apps and web APIs using Swift and the Vapor 4 framework!
If you’re a beginne...
more
Server-Side Swift with Vapor
Learn how to build web apps and web APIs using Swift and the Vapor 4 framework!
If you’re a beginner to web development, but have worked with Swift for some time, you’ll find it’s easy to create robust, fully featured web apps and web APIs with Vapor 4.
Whether you’re looking to create a backend for your iOS app, or want to create fully-featured web apps, Vapor is the perfect platform for you.
This book starts with the basics of web development and introduces the basics of Vapor; it then walks you through creating APIs and web backends; creating and configuring databases; deploying to Heroku, AWS, or Docker; testing your creations and more!
iOS & Swift
Data Structures & Algorithms in Swift
Sep 15 2021 · Book
Understanding how data structures and algorithms work in code is crucial for creating efficient and scalab...
more
Data Structures & Algorithms in Swift
Understanding how data structures and algorithms work in code is crucial for creating efficient and scalable apps and acing job interviews. Swift’s standard library and, more recently, the Swift Collections and Algorithms packages contain a robust set of general-purpose collection types and algorithms, yet they don’t cover every case!
In Data Structures and Algorithms in Swift, you’ll learn how to implement the most popular and useful data structures and when and why you should use one particular data structure or algorithm over another. This set of basic data structures and algorithms will serve as an excellent foundation for building more complex and special-purpose constructs. The high-level expressiveness of Swift makes it an ideal choice for learning these core concepts without sacrificing performance.
You’ll start with the fundamental structures of linked lists, queues and stacks, and see how to implement them in a highly Swift-like way. Move on to working with various types of trees, including general purpose trees, binary trees, AVL trees, binary search trees, and tries. Go beyond bubble and insertion sort with better-performing algorithms, including mergesort, radix sort, heap sort, and quicksort. Learn how to construct directed, non-directed and weighted graphs to represent many real-world models. Traverse those graphs and trees efficiently with breadth-first, depth-first, Dijkstra’s and Prim’s algorithms to solve problems such as finding the shortest path or lowest cost in a network.
By the end of this book, you’ll have hands-on experience solving common issues with data structures and algorithms — and you’ll be well on your way to developing your own efficient and useful implementations!
iOS & Swift
Machine Learning by Tutorials
May 19 2020 · Book
Get started with Machine Learning for Apple and iOS!
Want to know a secret? Machine learning isn’...
more
Machine Learning by Tutorials
Get started with Machine Learning for Apple and iOS!
Want to know a secret? Machine learning isn’t really that hard to learn. The truth is, you don’t need a PhD from a prestigious university or a background in mathematics to do machine learning. If you already know how to code, you can pick up machine learning quite easily — promise!
This book will get you started with machine learning on iOS and Apple devices. The first bit is a gentle introduction to the world of machine learning and what it has to offer — as well as what its limitations are. In the rest of the book, you’ll look at each of these topics in more detail, until you know enough to make machine learning a useful tool in your software development toolbox.
There are now several high-level Apple frameworks, including Natural Language, Speech, and Vision, that provide advanced machine learning functionality behind simple APIs as part of Apple’s iOS tooling. Whether you want to convert speech to text, recognize language or grammatical structure, detect faces in photos or track moving objects in video, these frameworks have got you covered.
In this book, you’ll learn how to use these tools and frameworks to make your apps smarter. Even better, you’ll learn how machine learning works behind the scenes — and why this technology is awesome.
This book is for all Apple and iOS developers who are interested in learning how to train models, code image recognition systems, learn how natural language processing works, build sequence classifiers and more.
iOS & Swift
Advanced iOS App Architecture
Feb 9 2022 · Book
Implement Modern Clean Architectures in Your iOS Apps!
Apps are becoming more complex, and develo...
more
Advanced iOS App Architecture
Implement Modern Clean Architectures in Your iOS Apps!
Apps are becoming more complex, and development teams are being pressured to deliver faster results in the face of constantly changing requirements. Now, more than ever, you need to understand and apply good software architecture practices in your projects.
Advanced iOS App Architecture thoroughly explains multiple modern iOS architectures, and demonstrates their usage in real-world apps.
The first half of the book introduces you to different aspects of iOS app architectures. We recommend reading these chapters before diving into any of the specific architecture chapters to get a good handle on the concepts involved.
The second half of the book explores multiple architectures, one per chapter. Each architecture chapter begins with a little history, followed by a detailed theory walkthrough. The remainder of each architecture chapter focuses on applying the theory to iOS app development.
Each architecture chapter concludes by covering the pros and cons of that architecture. You can read this section in order — or jump straight to the architecture that interests you. It’s your choice!
This book is for iOS developers who build apps using Swift. The material in this book assumes familiarity with design patterns and with basic architectures — such as MVC — and basic architecture concepts, such as inversion of control.
iOS & Swift
macOS by Tutorials
Apr 13 2022 · Book
macOS by Tutorials is a series of epic-length tutorials where you’ll learn to build four
complete...
more
macOS by Tutorials
macOS by Tutorials is a series of epic-length tutorials where you’ll learn to build four
complete native macOS apps! Each app explores a different style of interface and takes you
step-by-step from start to finish. By the end of the book, you’ll be experienced enough to
turn your ideas into real apps you can sell! You also get full source code, image files, and
other resources you can re-use for your own projects.
This book for developers with some experience developing for iOS using Swift and SwiftUI.
iOS & Swift
UIKit Apprentice
Sep 22 2021 · Book
For Complete Beginners!
If you’re completely new to Swift and iOS development (or need a brush-u...
more
UIKit Apprentice
For Complete Beginners!
If you’re completely new to Swift and iOS development (or need a brush-up), this is the series for you.
The UIKit Apprentice is a series of epic-length tutorials for beginners where you’ll learn how to build four complete apps from scratch.
Each new app will be a little more advanced than the one before, and together they cover everything you need to know to make your own apps. By the end of the series you’ll be experienced enough to turn your ideas into real apps that you can sell on the App Store.
These tutorials have easy to follow step-by-step instructions, and consist of more than 1,100 pages and 500 illustrations! You also get full source code, image files, and other resources you can re-use for your own projects.
If you’re new to iOS and Swift, or to programming in general, learning how to write an app can seem incredibly overwhelming.
That’s why you need a guide that:
Shows you how to write an app step-by-step
With tons of illustrations and screenshots to make everything clear
In a fun and easygoing manner!
We’ll start at the very beginning. The first tutorial assumes absolutely zero programming knowledge but still shows you how to build an entire game from scratch.
The UIKit Apprentice series doesn’t cover every single feature of iOS – it just focuses on the absolutely essential ones that you need to know.
Instead of just covering a list of features, the UIKit Apprentice series does something much more important: it explains how all the different building blocks fit together and what is involved in building real apps.
You’re not going to create quick example programs that demonstrate how to accomplish a single feature. Instead, you’ll develop complete, fully-formed apps that are good enough to submit to the App Store!
Multiple Domains
Kotlin Multiplatform by Tutorials
Nov 2 2023 · Book
The best book to teach you how to share code across platforms using Kotlin Multiplatform. You’ll gain the ...
more
Kotlin Multiplatform by Tutorials
The best book to teach you how to share code across platforms using Kotlin Multiplatform. You’ll gain the foundation of creating user interfaces using native UI toolkits and then writing common code for serialization, networking and persistence. You’ll also learn how dependency injection, testing and different architectures fit in with Kotlin Multiplatform so that you build maintainable and scalable apps for the real world.
iOS & Swift
Design Patterns by Tutorials
Oct 2 2019 · Book
Learn design patterns with Swift!
Design patterns are incredibly useful, no matter what language or...
more
Design Patterns by Tutorials
Learn design patterns with Swift!
Design patterns are incredibly useful, no matter what language or platform you develop for. Using the right pattern for the right job can save you time, create less maintenance work for your team and ultimately let you create more great things with less effort. Every developer should absolutely know about design patterns, and how and when to apply them. That’s what you’re going to learn in this book!
Move from the basic building blocks of patterns such as MVC, Delegate and Strategy, into more advanced patterns such as the Factory, Prototype and Multicast Delegate pattern, and finish off with some less-common but still incredibly useful patterns including Flyweight, Command and Chain of Responsibility.
And not only does Design Patterns by Tutorials cover each pattern in theory, but you’ll also work to incorporate each pattern in a real-world app that’s included with each chapter. Learn by doing, in the step-by-step fashion you’ve come to expect in the other books in our by Tutorials series.
iOS & Swift
Core Data by Tutorials
Nov 20 2020 · Book
Learn Core Data with Swift!
This book is for intermediate iOS developers who already know the bas...
more
Core Data by Tutorials
Learn Core Data with Swift!
This book is for intermediate iOS developers who already know the basics of iOS and Swift development but want to learn how to use Core Data to save data in their apps.
Start with with the basics like setting up your own Core Data Stack all the way to advanced topics like migration, performance, multithreading, and more!
Build fluid and engaging declarative UI for your apps — using less code — with SwiftUI!
SwiftUI b...
more
SwiftUI by Tutorials
Build fluid and engaging declarative UI for your apps — using less code — with SwiftUI!
SwiftUI by Tutorials is designed to help you learn how to transition from the “old way” of building your app UI with UIKit, to the “new way” of building responsive UI with modern declarative syntax with SwiftUI.
This book is for readers who are comfortable building Swift apps, and want to make the exciting leap into building their app UI with modern, declarative code.
What is SwiftUI?
SwiftUI lets you build better apps, faster, and with less code. It’s a developer’s dream come true!
With SwiftUI, you can design your user interfaces in a declarative way; instead of developing app interfaces in an imperative way, by coding all of the application state logic before time, you can instead define what your app’s UI should do in a particular state and let the underlying OS figure out how to do it.
What’s more is that SwiftUI lets you build modern, responsive UI and animations for all Apple devices — not just iOS. So whether you’re building apps for iOS, watchOS, tvOS or any other Apple platform, you can use the same concise, natural language to describe your UI and have it look stunning — no matter where your code runs.
In addition, SwiftUI’s built-in automatic support for things such as dark mode, localization and accessibility, along with Xcode 11 support for drag-and-drop design and instant preview makes it easier to build apps than ever before.
How is this book different than SwiftUI Apprentice?
Our other book on getting started with SwiftUI, SwiftUI Apprentice, is designed to teach new developers how to build iOS apps, using a SwiftUI-first approach. The goal of that book is to teach you fundamental development practices as you build out some fully-functional and great-looking apps!
This book, SwiftUI by Tutorials, is designed for developers who have a solid background in iOS development, and are looking to make the leap from building apps with UIKit, to building apps with SwiftUI.
iOS & Swift
Metal by Tutorials
Dec 13 2023 · Book
Build your own low-level game engine in Metal!
Metal is a unified application programming interfa...
more
Metal by Tutorials
Build your own low-level game engine in Metal!
Metal is a unified application programming interface (API) for the graphics processing unit, or GPU. It’s unified because it applies to both 3D graphics and data-parallel computation paradigms. Metal is a low-level API because it provides programmers near-direct access to the GPU. Finally, Metal is a low-overhead API because it reduces the central processing unit (CPU) cost by multi-threading and pre-compiling of resources.
But beyond the technical definition, Metal is the most appropriate way to use the GPU’s parallel processing power to visualize data or solve numerical challenges. It’s also tailored to be used for machine learning, image/video processing or, as this book describes, graphics rendering.
This book will introduce you to low-level graphics programming in Metal — Apple’s framework for programming on the graphics processing unit (GPU). As you progress through this book, you’ll learn many of the fundamentals that go into making a game engine and gradually put together your own engine. Once your game engine is complete, you’ll be able to put together 3D scenes and program your own simple 3D games. Because you’ll have built your 3D game engine from scratch, you’ll be able to customize every aspect of what you see on your screen.
This book is for intermediate Swift developers interested in learning 3D graphics or gaining a deeper understanding of how game engines work.
iOS & Swift
Modern Concurrency in Swift
Feb 15 2023 · Book
Master Swift’s modern concurrency model!
For years, writing powerful and safe concurrent apps wit...
more
Modern Concurrency in Swift
Master Swift’s modern concurrency model!
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, to let 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 is here for the rescue, showcasing everything you need to know about async/await, tasks, actors, and everything in between!
iOS & Swift
macOS Apprentice
May 30 2023 · Book
macOS Apprentice is a series of multi-chapter tutorials where you’ll learn about developing nativ...
more
macOS Apprentice
macOS Apprentice is a series of multi-chapter tutorials where you’ll learn about developing native
macOS apps in Swift, using both SwiftUI — Apple’s newest user interface technology — and AppKit — the
venerable UI framework. Along the way, you’ll learn several ways to execute Swift code and you’ll build
two fully featured apps from scratch.
If you’re new to macOS and Swift, or to programming in general, learning how to write an app can seem
incredibly overwhelming.
That’s why you need a guide that:
Shows you how to write an app step-by-step.
Uses tons of illustrations and screenshots to make everything clear.
Guides you in a fun and easy-going manner.
You’ll start at the very beginning. The first section assumes you have little to no knowledge of programming in Swift.
It walks you through installing Xcode and then teaches you the basics of the Swift programming language. Along the way,
you’ll explore several different ways to run Swift code, taking advantage of the fact that you’re developing natively
on macOS.
macOS Apprentice doesn’t cover every single feature of macOS; it focuses on the absolutely essential ones.
Instead of just covering a list of features, macOS Apprentice does something much more important: It explains how all the
building blocks fit together and what is involved in building real apps. You’re not going to create quick example programs that
demonstrate how to accomplish a single feature. Instead, you’ll develop complete, fully-formed apps, while exploring many of
the complexities and joys of programming macOS.
How is this book different than macOS by Tutorials?
Our other book on building apps for macOS, macOS by Tutorials, is designed
for developers who have a solid background in iOS development and are looking to make the leap to developing native macOS apps.
This book, macOS Apprentice, is designed to teach new developers how to build macOS apps while assuming they have little to
no experience with Swift or any other part of the Apple development ecosystem.
Multiple Domains
App Design Apprentice
Jun 15 2022 · Book
Learn Modern App Design with Figma!
This book guides you through designing modern mobile apps usi...
more
App Design Apprentice
Learn Modern App Design with Figma!
This book guides you through designing modern mobile apps using fundamental design principles.
This book is for intermediate iOS and Android developers who already know the basics of mobile app development but want to also learn how to design apps with attractive and effective UI and UX.
Topics Covered in App Design Apprentice
Figma: Learn the basics of this modern design tool.
App Teardowns: Analyze and pick out the best parts of other well-designed apps.
Wireframes: Explore what makes good app user flows.
Reusable Components: Learn to create and use reusable components such as buttons and toolbars.
Typography: Basics for communicating hierarchy, order and emphasis.
Color: Leverage visual styles and palettes.
Transitions and Animations: Create different transitions between screens to communicate relationships.
Design Systems: Implement best practices for creating good app experiences in each ecosystem.
This book will leave you with the knowledge needed to design modern mobile apps that are functional and attractive.
Android & Kotlin
Android Apprentice
Apr 28 2021 · Book
For Complete Beginners to Android!
If you’re completely new to Android or developing in Kotlin, t...
more
Android Apprentice
For Complete Beginners to Android!
If you’re completely new to Android or developing in Kotlin, this is the book for you.
Android Apprentice takes you all the way from building your first app, to submitting your app for sale. By the end of this book, you’ll be experienced enough to turn your vague ideas into real apps that you can release on the Google Play Store.
You’ll build 4 complete apps from scratch — each app is a little more complicated than the previous one. Together, these apps will teach you how to work with the most common controls and APIs used by Android developers around the world.
And these aren’t simple apps, either; you’ll build everything from a simple game, to a checklist app, a map-based app, and a podcast manager and player!
We’ve also included some bonus sections on handling the Android fragmentation problem, how to keep your app up-to-date, preparing your app for release, testing your app, and publishing it for the world to enjoy!
If you’re new to Android programming, you need a guide that:
Shows you how to write an app step-by-step
With tons of illustrations and screenshots to make everything clear
In a fun and easygoing manner!
We’ve written this book in Kotlin: the new, modern, first-class language for Android developers. You’ll be at the leading edge of Android developers everywhere as you learn how to develop in the fluid and expressive Kotlin language.
The Android Apprentice is your best companion for learning Android development. With all project source code included with the book, and support forums right on our site, it’s simply the best way to start your Android development career.
iOS & Swift
iOS App Distribution & Best Practices
Apr 21 2021 · Book
Learn how to sign up for Apple Developer Program, generate the various certificates needed, configure your...
more
iOS App Distribution & Best Practices
Learn how to sign up for Apple Developer Program, generate the various certificates needed, configure your app and submit an app to the App Store for approval, both manually and through automated processes through automated pipelines. You’ll learn how to use Apple TestFlight to add internal and external testers and receive feedback and crash reports.
iOS App Distribution starts with explaining hurdles everyone faces, such as code signing, provisioning profiles, and how to do manual releases. It’ll then go into more advanced topics, including distribution through TestFlight, build customization, automation, and continuous integration.
Multiple Domains
Living by the Code
Feb 5 2021 · Book
Living by the Code brings the experiences and insights of over 40 of today’s top developers, leaders and i...
more
Living by the Code
Living by the Code brings the experiences and insights of over 40 of today’s top developers, leaders and innovators in tech together in one single book, to help you grow your career in today’s ever-changing technical landscape.
It’s like having dozens of tech’s best mentors — right at your fingertips.
iOS & Swift
Combine: Asynchronous Programming With Swift
Jul 19 2023 · Book
Learn all about declarative asynchronous programming with Swift using the Combine framework!
Writ...
more
Combine: Asynchronous Programming With Swift
Learn all about declarative asynchronous programming with Swift using the Combine framework!
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 really have to be this hard? Not anymore!
With Apple’s introduction of the Combine framework in WWDC 2019, declarative and reactive programming in Swift have become a meaningful aspect of the language and a game-changer in how developers perform and compose pieces of asynchronous work, making it a must-have tool at your disposal.
The introduction of Combine as a built-in framework in Apple’s ecosystem is promising news to developers who were interested in frameworks such as RxSwift or ReactiveSwift, but didn’t want the overhead of a third-party dependency. And while experience with either of the above is useful, it’s not a prerequisite for this book. You’ll learn everything from the ground up to become a true Combine master.
What Is Combine?
Combine is 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.
What are these asynchronous events, you might ask? Anything that happens over time in your application can be represented by what is known as a Combine Publisher — network requests, user input, notifications, KVO, and much more. And since Combine unifies all of these different mechanisms under a single interface, this opens the door to interesting and powerful ways of composing logic and work in a declarative and universal way.
Learn how you can build your own custom sticker pack app for Messages, enabling you to fully control the b...
more
iOS 10: Dynamic Sticker Packs in iMessage Apps
Learn how you can build your own custom sticker pack app for Messages, enabling you to fully control the behavior and appearance of the sticker browser.
iOS & Swift
iOS Test-Driven Development by Tutorials
Jan 19 2022 · Book
Learn How to Test iOS Applications!
This book is for intermediate iOS developers who already know...
more
iOS Test-Driven Development by Tutorials
Learn How to Test iOS Applications!
This book is for intermediate iOS developers who already know the basics of iOS and Swift development but want to learn how to write code which is both testable and maintainable.
To start, you’ll learn the TDD Cycle and how to implement these concepts within an iOS application. The book then takes you through Test Expressions and Expectation so that you can test synchronous code. You’ll then write tests to verify networking endpoints and the ability to mock the returned results, followed by writing tests that run against authentication endpoints. Continue trouble-shooting your apps by understanding common legacy problems, as well as breaking dependencies into modules. And, finally, refactor large classes into smaller, more manageable classes and objects.