iOS & Swift Books · Beginner

Multiple Domains
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.
Multiple Domains
Git Apprentice
Learn Git! Chances are if you’re involved with software development you’ve heard of and have used Git at some point in your life. Version control systems are critical for any successful collaborative software project. Git is both simple to start using and accommodating for the most complex tasks with version control. Even seasoned Git users hit roadblocks on how to handle common situations. Git Apprentice is here to help! This book is the easiest and fastest way to get hands-on experience with using Git for version control of your projects. Who This Book Is For This book is for anyone who would like to leverage the power of version control with Git in their software development process. The book starts with a gentle introduction to Git. It then moves on to walk you through creating a new repository, cloning an existing one, merging in changes, and all of the bits in between. Topics Covered in Git Apprentice A Crash Course in Git: Learn how to get started with Git, the differences between platforms, and a quick overview of the typical Git workflow. Cloning a Repo: Discover how to clone a remote repo to your local machine, and what constitutes “forking” a repository. Git Log & History: You’ll discover the versatility of the git log command—displaying branches, graphs and even filtering the history. Creating a Repository: If you are starting a new project, and want to use Git for source control, you first need to create a new repository. And more! One thing you can count on: after reading this book, you’ll be well-prepared to use Git in your own software development workflow!
iOS & Swift
Swift Apprentice
This is a book for complete beginners to Apple’s modern programming language — Swift. All the code in the book works inside of Xcode’s easy-to-use playgrounds. That means you can focus on core Swift language concepts, such as classes, protocols, and generics, instead of getting bogged down in the details of building apps. This is a companion book to the SwiftUI Apprentice; the SwiftUI Apprentice focuses on building apps, while Swift Apprentice focuses on the Swift language itself.
iOS & Swift
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!
iOS & Swift
SwiftUI Apprentice
SwiftUI Apprentice is a series of epic-length tutorials where you’ll learn to build three complete apps from scratch, using Apple’s new user interface technology: SwiftUI! Each app is more advanced than the one before, and together, they cover everything to make your own apps using SwiftUI. By the end of the book, you’ll be experienced enough to turn your ideas into real apps you can sell on the App Store. 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. 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 for iOS but still shows you how to build an entire fitness app from scratch using SwiftUI. SwiftUI Apprentice doesn’t cover every single feature of iOS; it focuses on the absolutely essential ones. Instead of just covering a list of features, SwiftUI 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, with beautiful, professionally-designed user interfaces, that are good enough to submit to the App Store! How is this book different than SwiftUI by Tutorials? Our other book on building apps with SwiftUI, 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. This book, SwiftUI Apprentice, is designed to teach new developers how to build iOS apps, using a SwiftUI-first approach. Its goal is to teach you fundamental development practices as you build out some fully-functional and great-looking apps!
Multiple Domains
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 Books · Professional

iOS & Swift Requires a pro subscription Pro New
SwiftUI Animations by Tutorials
Drive SwiftUI into Motion using Animations! SwiftUI has absolutely changed our lives when it comes to developer experience and developer productivity. We can make beautiful apps extremely quickly, get instant feedback from SwiftUI previews, and iterate. SwiftUI also enables developers to easily leverage most common animations using simple SwiftUI modifiers, which makes it a pleasure to use. But it also begs the question: “How do I make my app stand out if everyone is using the same standard animations?” Luckily, SwiftUI Animations by Tutorials is here to help you learn how to create detailed and delightful animations, starting from the basics and up to the most complex and customizable ones.
iOS & Swift Requires a pro subscription Pro
Push Notifications by Tutorials
Get Started with Push Notifications on iOS! Push notifications may seem simple and straightforward at first since almost everyone is familiar with them; however, knowing how and when to use them in practice can prove challenging. With advancements in the latest iOS releases bringing advanced features, such as rich media notifications, notification actions, grouped notifications and more, you will quickly realize that you need a book to help you out. Well, here’s that book! You’ll learn everything you need in order to create, send and receive push notifications, meaning notifications that come from an external service, as opposed to locally from the device. You’ll also cover how to handle local notifications because, sometimes you don’t need all the overhead of a remote notification; rather, it’s enough to simply schedule a notification to appear at a specific point in the future or when you enter a specific location. Since push notifications is such a focused subject, this book is direct and to-the point; instead of wading through 300 pages of theory before getting down to business, the book gets the job done in just over 150 pages. It’s just the information you need, just when you need it. By the end of this book, you’ll be a master of push notifications and well on your way to implementing them inside your own apps!
iOS & Swift Requires a pro subscription Pro
Catalyst by Tutorials
Run iOS apps Natively on macOS With Catalyst! Catalyst by Tutorials shows you how to take all of those great apps you’ve built on iOS and run them right on macOS. But like everything else with Apple, it’s not always as straightforward as you’d like it to be. This book will show you how to design your apps to work well on macOS, what you can and can’t port between the two platforms, and any other “gotchas” to keep an eye out for when building apps under Catalyst. This book is for developers who have a good handle on building iOS apps and want to learn how to port those apps to run on macOS as well. What is Catalyst? Formerly known as Marzipan to Apple insiders, Catalyst lets you extend your iPad apps to macOS. Under Catalina and Xcode 11, developers can start building their iPad apps with macOS as a target. And we’re not just talking about grossly super-sized versions of iPad apps on your Mac; Catalyst apps will support native macOS controls and functionality, such as the familiar menu bar, support for mouse and keyboards, window resizing, proper scroll bars, Touch Bar support, and desktop-based drag and drop. So if you’ve been hesitating to port your iPad apps to macOS because you just don’t want to have to learn to develop for the desktop, then now is your time to start!
iOS & Swift Requires a pro subscription Pro
Real-World iOS by Tutorials
This book will be your guide to turn ideas into robust applications that can scale. This book is for iOS developers with a basic understanding of Swift, SwiftUI and Core Data, that want to learn how to create apps that follow the best standards. Level up your skills by learning about: App architecture: Discover how to organize your code using MVVM and feature grouping. Building features: Learn how to structure your code to work on features that can be testable. Create code that scale: Understand the principles to create code that’s robust using S.O.L.I.D. principles. Async/await: Learn how the new modern concurrency model can help you write well-structured asynchronous code. Accessibility and good-looking apps: Discover how you can create apps that look and feel good for all audiences. Modularization: Learn how to create modular code that can be reused. Privacy: Understand why privacy is important and the tools Apple provides so you can develop apps that respect users’ data. After completing this book, you’ll be prepared to tackle any new or existing project and create code that’s testable and robust.
iOS & Swift Requires a pro subscription Pro
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 Requires a pro subscription Pro
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 Requires a pro subscription Pro
iOS Animations by Tutorials
Make Delightful Animations with Swift! This book is for iOS developers who already know the basics of iOS and Swift, and want to dive deep into animations. Start with basic view animations and move all the way to layer animations, animating constraints, view controller transitions, and more!
Multiple Domains Requires a pro subscription Pro
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 Requires a pro subscription Pro
Apple Augmented Reality by Tutorials
Learn Augmented Reality for the Apple Platform! This book is the easiest and fastest way to get hands-on experience using Apple frameworks and technologies like Reality Composer, RealityKit, and ARKit — all the available rendering technologies Apple has to offer, as well as a collection of fun projects for creating various real-world AR experiences. After reading this book, you’ll have a deep understanding of the technologies and frameworks used to create powerful, immersive AR experiences for the Apple platform. Take a deep dive into: AR Quick Look: Discover how to integrate AR Quick Look into your apps to give them some cool AR superpowers. Reality Composer & Reality Files: Find out how to leverage the power of Reality Composer to create interactive AR-based experiences. Reality Converter & PBR Materials: Discover how PBR materials can add a level of realism to your AR objects, and how you can use Reality Converter to convert, view and customize USDZ content. RealityKit: Find out how to set up and use RealityKit to build a face-based augmented reality app. Facial Blend Shapes: Build a fully interactive augmented reality face mask that reacts to your facial expressions using blend shapes. ARKit: Get a complete introduction to ARKit, Apple’s framework for creating fully interactive augmented reality, and learn about the different types of rendering options available with ARKit. Raycasting & Physics: Learn about raycasting, 2D hit-testing and the SpriteKit physics engine as you add more features and functionality to your game. ECS & Collaborative Experiences: Build a collaborative AR experience and learn how to create and manage a multipeer connection.
iOS & Swift Requires a pro subscription Pro
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 Requires a pro subscription Pro
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.
iOS & Swift Requires a pro subscription Pro
watchOS With SwiftUI by Tutorials
Build amazing apps with SwiftUI for Apple Watch The Apple Watch is, by far, the most common smart watch in the market. Its sales have even surpased those of its analog competitors. With this book you will learn how to develop native watchOS applications for this popular device. And at the same time, to do so, you will be using one of the newest and most moderns UI frameworks developed by Apple, SwiftUI.
iOS & Swift Requires a pro subscription Pro
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 Requires a pro subscription Pro
Modern Concurrency in Swift
Master Swift’s new 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!
Multiple Domains Requires a pro subscription Pro
Advanced Git
Master Git! Chances are if you’re involved with software development you’ve heard of and have used Git at some point in your life. Version control systems are critical for any successful collaborative software project. Git is both simple to start using and accommodating for the most complex tasks with version control. Even seasoned Git users hit roadblocks on how to handle common situations. Advanced Git is here to help! This book is the easiest and fastest way to get hands-on experience with using Git for version control of your projects. Take a deep dive into: How Git actually works: After using Git for a while it’s good to discover the whys behind all of the things. Rebasing: Rebasing and squashing doesn’t have to be scary; it’s quite a useful and advanced way of merging code to support your collaborative workflow. Undoing what you’ve done: Most frustration with Git comes from not being able to undo something that you’ve screwed up. But Git has lots of ways you can go back and recover from a weird merge or commit state. Workflows in Git: Working with Git requires some rules to make sure things go smoothly across development teams. Learn the most common workflows and how to decide which one to use. And more! One thing you can count on: after reading this book, you’ll be well-prepared to use Git in your own software development workflow!
iOS & Swift Requires a pro subscription Pro
Combine: Asynchronous Programming with Swift
Master 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, it is clear that Apple aims to position declarative and reactive programming in Swift as a long-term investment 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 could be useful, it is 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. Combine is also tightly integrated throughout Apple’s SDKs. For example, the UI framework SwiftUI uses Combine to ensure your app’s views stay up to date, which makes Combine a must-have for your skillset.
iOS & Swift Requires a pro subscription Pro
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 Requires a pro subscription Pro
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.
iOS & Swift Requires a pro subscription Pro
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 Requires a pro subscription Pro
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 Requires a pro subscription Pro
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!
iOS & Swift Requires a pro subscription Pro
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 Requires a pro subscription Pro
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 Requires a pro subscription Pro
Auto Layout by Tutorials
This book will be your guide as you explore and master the many capabilities of Auto Layout. This book is for iOS developers of all skill levels, from those just getting started building user interfaces to the experienced hands who want to get more from Auto Layout. Take a deep dive into: Interface Builder: Learn to use Interface Builder to construct and maintain your user interfaces. Stack Views and Scroll Views: Learn how these special view types interact with Auto Layout and how best to utilize them in your apps. Self-Sizing Views: Discover how to make your user interface dynamically adapt to its content. Animating Constraints: See how to animate your Auto Layout constraints to provide feedback, focus user attention and improve navigation. Adaptive Layout: Learn to use Auto Layout to make adjustments for screen size, orientation, Dynamic Type size and more. Resolving Common Issues: Discover how to investigate when things go awry and learn how to resolve Auto Layout conflicts. After completing this book, you’ll be prepared to harness the full power of Auto Layout in all of your apps.
iOS & Swift Requires a pro subscription Pro
Concurrency by Tutorials
Dive Into Concurrency in Your iOS Apps! Learn what is Concurrency and why would you even want to utilize it in your apps? Learn about Grand Central Dispatch, Apple’s implementation of C’s libdispatch, also known as GCD, as it’s one of the simplest ways to queue up tasks to be run in parallel. Then, take on Operations & Operation Queues for when GCD doesn’t quite cut it; you’ll learn how to further customize and reuse your concurrent work. You’ll then learn common concurrency problems that you could face while developing concurrent applications, such as Race Conditions, Deadlocks, and more. Finally, understand threads and thread sanitizer and the 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.
iOS & Swift Requires a pro subscription Pro
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 Requires a pro subscription Pro
Advanced Apple Debugging & Reverse Engineering
Learn the powerful secrets of Apple’s software debugger, LLDB! In Advanced Apple Debugging and Reverse Engineering, you’ll come to realize debugging is an enjoyable process to help you better understand software. Not only will you learn to find bugs faster, but you’ll also learn how other developers have solved problems similar to yours. You’ll also learn how to create custom, powerful debugging scripts that will help you quickly find the secrets behind any bit of code that piques your interest. After reading this book, you’ll have the tools and knowledge to answer even the most obscure question about your code — or someone else’s. This book is for intermediate-to-advanced iOS/macOS developers who are already familiar with either Swift or Objective-C and want to take their debugging skills to the next level.

Android & Kotlin Books · Beginner

Multiple Domains
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.
Multiple Domains
Git Apprentice
Learn Git! Chances are if you’re involved with software development you’ve heard of and have used Git at some point in your life. Version control systems are critical for any successful collaborative software project. Git is both simple to start using and accommodating for the most complex tasks with version control. Even seasoned Git users hit roadblocks on how to handle common situations. Git Apprentice is here to help! This book is the easiest and fastest way to get hands-on experience with using Git for version control of your projects. Who This Book Is For This book is for anyone who would like to leverage the power of version control with Git in their software development process. The book starts with a gentle introduction to Git. It then moves on to walk you through creating a new repository, cloning an existing one, merging in changes, and all of the bits in between. Topics Covered in Git Apprentice A Crash Course in Git: Learn how to get started with Git, the differences between platforms, and a quick overview of the typical Git workflow. Cloning a Repo: Discover how to clone a remote repo to your local machine, and what constitutes “forking” a repository. Git Log & History: You’ll discover the versatility of the git log command—displaying branches, graphs and even filtering the history. Creating a Repository: If you are starting a new project, and want to use Git for source control, you first need to create a new repository. And more! One thing you can count on: after reading this book, you’ll be well-prepared to use Git in your own software development workflow!
Android & Kotlin
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.
Android & Kotlin
Kotlin Apprentice
For complete beginners to Kotlin. No prior programming experience necessary! This is a book for complete beginners to the new, modern Kotlin language. Everything in the book takes place in a clean, modern development environment, which means you can focus on the core features of programming in the Kotlin language, without getting bogged down in the many details of building apps. This is a sister book to the Android Apprentice the Android Apprentice focuses on making apps for Android, while the Kotlin Apprentice focuses on the Kotlin language fundamentals.
Multiple Domains
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.

Android & Kotlin Books · Professional

Android & Kotlin Requires a pro subscription Pro
Android Accessibility by Tutorials
Accessibility is an important, often overlooked, part of building a quality app. The Web Content Accessibility Guidelines (WCAG) can be confusing and it’s often unclear how to apply these guidelines to Android. In this book, you’ll learn about building accessible apps on Android using WCAG through hands-on, step-by-step tutorials.
Android & Kotlin Requires a pro subscription Pro
Real-World Android by Tutorials
The best book to teach you to build professional, secure Android apps for the real world using the most important architectures and libraries. You’ll gain all the foundations of Android development you need to make the best decisions in your own codebase, while addressing critical problems like finding the right architecture, making the UI responsive and appealing, and implementing efficient animations.
Android & Kotlin Requires a pro subscription Pro
Android Debugging by Tutorials
Debugging is one of the most important steps in app development. Android Studio contains several tools which can help you out in stabilizing and optimizing your app. In this book, you’ll learn to use Android debugging tools to make your app optimized and bug-free through step-by-step tutorials.
Android & Kotlin Requires a pro subscription Pro
Kotlin Coroutines by Tutorials
The importance of concurrency is discovered quite early on by people who start with Android development. Android is inherently asynchronous and event-driven, with strict requirements as to on which thread certain things can happen. Add to this the often-cumbersome Java callback interfaces, and you will be trapped in spaghetti code pretty quickly (aptly termed as “Callback Hell”). No matter how many coding patterns you use to avoid that, you will have to encounter the state change across multiple threads in one way or the other. The only way to create a responsive app is by leaving the UI thread as free as possible, letting all the hard work be done asynchronously by background threads. Kotlin Coroutines by Tutorials will teach you the techniques you need to solve common programming problems using asynchronous programming.
Android & Kotlin Requires a pro subscription Pro
Functional Programming in Kotlin by Tutorials
Functional programming is a powerful paradigm for building your applications. This book will teach you the fundamentals of functional programming in a practical, hands-on way, while showing you how you can safely handle errors and state changes in your programs.
Multiple Domains Requires a pro subscription Pro
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.
Android & Kotlin Requires a pro subscription Pro
Android App Distribution
If you’re planning on releasing a commercial app to the Google Play Store, you need this book. It will walk you through the entire process of uploading the app to the Play Store, distributing it to testers, creating a release strategy and making sure your users will continue to love it in the future. In short, this book will give you the knowledge you need to distribute an app with the best chance of long-term success.
Android & Kotlin Requires a pro subscription Pro
Android Animations by Tutorials
This is a book about creating meaningful motion through animation in Android for developers who are familiar with the platform but want to create more visually stunning apps. Starting with simple view animations, this book will move through transition animations including shared element animations, list animations, gestures and scrolling. It ends with a taste of using animations in Jetpack Compose.
Multiple Domains Requires a pro subscription Pro
Advanced Git
Master Git! Chances are if you’re involved with software development you’ve heard of and have used Git at some point in your life. Version control systems are critical for any successful collaborative software project. Git is both simple to start using and accommodating for the most complex tasks with version control. Even seasoned Git users hit roadblocks on how to handle common situations. Advanced Git is here to help! This book is the easiest and fastest way to get hands-on experience with using Git for version control of your projects. Take a deep dive into: How Git actually works: After using Git for a while it’s good to discover the whys behind all of the things. Rebasing: Rebasing and squashing doesn’t have to be scary; it’s quite a useful and advanced way of merging code to support your collaborative workflow. Undoing what you’ve done: Most frustration with Git comes from not being able to undo something that you’ve screwed up. But Git has lots of ways you can go back and recover from a weird merge or commit state. Workflows in Git: Working with Git requires some rules to make sure things go smoothly across development teams. Learn the most common workflows and how to decide which one to use. And more! One thing you can count on: after reading this book, you’ll be well-prepared to use Git in your own software development workflow!
Android & Kotlin Requires a pro subscription Pro
Saving Data on Android
Save Data on Android! Persisting data has always been a fundamental part of any app. Saving data locally or remotely with modern techniques for synchronization allows your app to always be up-to-date, reactively presenting fresh data. This book is for intermediate Kotlin or Android developers who want to know how to persist data using the standard Android APIs, the Jetpack DataStore mechanism, the Room Android Architecture Component or Google Firebase’s offerings. Topics Covered in This Book Persistence with Android SDK: Learn how to manage files, SharedPreferences and SQLite databases using the APIs the Android platform offers by default. Jetpack DataStore: Learn how to persist simple data by using key-value pairs. This is Google’s new and improved solution for saving data. In this book, you’ll learn basics about Preferences DataStore and how to migrate from SharedPreferences. Using Room: Room is one of the most important Google Architecture Components. It allows you to manage entities and relationships using classic Object-Oriented principles. In this book, you’ll learn everything you need to store data and run queries on top of it. Managing relationships with Room: A database has entities and relationships. In this book, you’ll learn how to design your database and manage relationships both eagerly and lazily. Managing and testing migrations: Every app evolves over time. Here, you’ll learn how to manage migrations with Room and how to test them properly. Firebase Realtime Database: Google provides tools to manage data both locally and remotely through the Firebase platform. With the Firebase Realtime Database, you can manage and keep data in sync, simply and efficiently. Cloud Storage: Another option Google provides is Cloud Storage, which lets you leverage all the power of Google’s infrastructure to manage your data and run expensive queries.
Android & Kotlin Requires a pro subscription Pro
Android Test-Driven Development by Tutorials
Learn Test-Driven Development on Android! Writing apps is hard. Writing testable apps is even harder, but it doesn’t have to be. Reading and understanding all the official Google documentation on testing can be time-consuming — and confusing. In this book, you’ll learn about Android test-driven development the quick and easy way: by following fun and easy-to-read tutorials. Learn to write sustainable, testable apps, as well as to apply testing strategies to legacy projects via Espresso and UI tests, code coverage and refactoring. This book is for the intermediate Android developers who already know the basics of Android and Kotlin development but want to learn Android test-driven development. Topics Covered in This Book Getting Started with Testing: Learn the core concepts involved in testing including what is a test, why should you test, what should you test and what you should not test. Test-Driven Development (TDD): Discover the Red-Green-Refactor steps and how to apply them. The Testing Pyramid: Learn about the different types of tests and how to organize them. Unit Tests: Learn how to start writing unit tests with TDD using JUnit and Mockito. Integration Tests: Writing tests with different subsystems is a must in today’s complex application world. Learn how to test with different subsystems including the persistence and network layers. Architecting for Testing: Explore how to architect your app for testing and why it matters. TDD on Legacy Projects: Take your TDD to the next level by learning how to apply it to existing legacy projects.
Android & Kotlin Requires a pro subscription Pro
Data Structures & Algorithms in Kotlin
Learn Data Structures & Algorithms in Kotlin! Data structures and algorithms are fundamental tools every developer should have. In this book, you’ll learn how to implement key data structures in Kotlin, and how to use them to solve a robust set of algorithms. This book is for intermediate Kotlin or Android developers who already know the basics of the language and want to improve their knowledge. Topics Covered in This Book Introduction to Kotlin: If you’re new to Kotlin, you can learn the main constructs and begin writing code. Complexity: When you study algorithms, you need a way to compare their performance in time and space. Learn about the Big-O notation to help you do this. Elementary Data Structures: Learn how to implement Linked List, Stacks, and Queues in Kotlin. Trees: Learn everything you need about Trees — in particular, Binary Trees, AVL Trees, as well as Binary Search and much more. Sorting Algorithms: Sorting algorithms are critical for any developer. Learn to implement the main sorting algorithms, using the tools provided by Kotlin. Graphs: Have you ever heard of Dijkstra and the calculation of the shortest path between two different points? Learn about Graphs and how to use them to solve the most useful and important algorithms.
Android & Kotlin Requires a pro subscription Pro
Jetpack Compose by Tutorials
In this book, you’ll learn how to build a powerful app using Jetpack Compose, how to style your apps using Material Design, special animations and state transitions, how to use modifiers and much more! This book will serve you as a central point that holds all the information you need to dive deep into Jetpack Compose, then apply it to your personal and production level projects. You’ll focus on learning Jetpack Compose not only through theory, but also through real-world project examples. After reading this book, you’ll become a true expert on the topic and you’ll learn how to switch your mindset and start to think in Jetpack Compose and declarative programming.
Android & Kotlin Requires a pro subscription Pro
Dagger by Tutorials
Learn about dependency injection with Dagger! Dependency injection is an important technique for building software systems that are maintainable and testable. You’re likely already doing dependency injection, maybe without even realizing it. Dependency injection is nowhere near as complex as its name implies, and this book will guide you through everything you need to know! This book will guide you through Dagger, Google’s framework for Java, Kotlin, and Android. Dagger will help you solve many of the development and performance issues that have plagued reflection-based solutions. This book is for intermediate Kotlin or Android developers who want to know how to implement the dependency injection pattern with Dagger and Hilt libraries.
Android & Kotlin Requires a pro subscription Pro
Reactive Programming with Kotlin
Learn Reactive Programming in Kotlin with RxJava! Not only will you learn how to use RxJava to create complex reactive applications on Android, you’ll also see how to solve common application design issues by using RxJava, RxAndroid and RxKotlin. Finally, you’ll discover how to exercise full control over the library and leverage the full power of reactive programming in your apps. Specifically, learn to handle asynchronous event sequences via two key concepts in Rx—Observables and Observers. Hone your UI development with RxJava and companion libraries to make it easy to work with the UI of your apps, providing a reactive approach to handling user events. Dig into both intermediate and advanced topics, such as error handling, schedulers, app architecture, repositories, and integrating RxJava with Android Jetpack.
Android & Kotlin Requires a pro subscription Pro
Advanced Android App Architecture
In Advanced Android App Architectures, you’ll find a diverse and hands-on approach to architecting your apps on Android. Android development can be fun; however, scaling an app can have its fair share of problems. In this book, you’ll learn why a conversation on architecture is the first important step to taking your app to the next level! This book will introduce you to a number of architectures, including Model View Controller, Model View Presenter, Model View Intent, Model-View-ViewModel and VIPER. You’ll learn theory, explore samples that you will refactor and learn the fundamentals of testing.

Flutter Books

Flutter & Dart New
Dart Apprentice: Beyond the Basics
Dart is an easy-to-learn yet powerful programming language. As one of the most versatile languages on the market today, you can use it to write anything from command-line apps and backend servers to native applications for Android, iOS, web, Mac, Windows and Linux. Dart was the language of choice for Flutter, and the two have seen an exponential rise in popularity in recent years. Dart Apprentice: Beyond the Basics is the second of a two-book series that will teach you all the important concepts you need to master this language. Follow along with the clearly and thoroughly explained concepts, and you’ll be building Dart applications in no time.
Flutter & Dart New
Dart Apprentice: Fundamentals
Dart is an easy-to-learn yet powerful programming language. As one of the most versatile languages on the market today, you can use it to write anything from command-line apps and backend servers to native applications for Android, iOS, web, Mac, Windows and Linux. Dart was the language of choice for Flutter, and the two have seen an exponential rise in popularity in recent years. Dart Apprentice: Fundamentals is the first of a two-book series that will teach you all the basic concepts you need to master this language. Even if you’re completely new to programming, follow along with the clearly and thoroughly explained concepts, and you’ll be building Dart applications in no time.
Flutter & Dart Requires a pro subscription Pro
Real-World Flutter by Tutorials
This book will teach you to build professional iOS and Android apps for the real world using Flutter. You’ll gain all the foundations of mobile development you need to make the best decisions in your own codebase, while addressing critical problems such as state management, user authentication, and dynamic theming.
Flutter & Dart
Flutter Apprentice
Build for both iOS and Android with Flutter! Flutter is a new and exciting software development toolkit that lets you target multiple platforms at once, so you can build apps for iOS, Android and even web and desktop, all from a single codebase. Similar to modern web technologies, Flutter uses a declarative approach to UI development. You can take advantage of “hot reload” of new code while developing, and your apps will perform at native speed thanks to Flutter’s custom rendering engine. It’s been the dream of mobile developers for years to find a cross-platform tool that lets you build for both iOS and Android without having to write and maintain two separate codebases. With Flutter and Flutter Apprentice, you can achieve that dream!
Multiple Domains
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.
Flutter & Dart Requires a pro subscription Pro
Data Structures & Algorithms in Dart
Perhaps you’ve heard about Big O notation, stacks and queues, or bubble sort and quicksort. You’d like to learn more, but it’s hard to find any good examples and explanations that use your favorite programming language, Dart. Data Structures & Algorithms in Dart is here to help with in-depth explanations, copious illustrations, and step-by-step examples. The book begins by reviewing fundamental data structures like lists and maps and then goes on to teach you how to build other important structures from scratch, including stacks, linked lists, queues, trees and graphs. From there you’ll use these data structures to understand and write many different traversal, searching and sorting algorithms. All along the way, you’ll learn how to analyze the efficiency of your code and express that efficiency using Big O notation.
Multiple Domains
Git Apprentice
Learn Git! Chances are if you’re involved with software development you’ve heard of and have used Git at some point in your life. Version control systems are critical for any successful collaborative software project. Git is both simple to start using and accommodating for the most complex tasks with version control. Even seasoned Git users hit roadblocks on how to handle common situations. Git Apprentice is here to help! This book is the easiest and fastest way to get hands-on experience with using Git for version control of your projects. Who This Book Is For This book is for anyone who would like to leverage the power of version control with Git in their software development process. The book starts with a gentle introduction to Git. It then moves on to walk you through creating a new repository, cloning an existing one, merging in changes, and all of the bits in between. Topics Covered in Git Apprentice A Crash Course in Git: Learn how to get started with Git, the differences between platforms, and a quick overview of the typical Git workflow. Cloning a Repo: Discover how to clone a remote repo to your local machine, and what constitutes “forking” a repository. Git Log & History: You’ll discover the versatility of the git log command—displaying branches, graphs and even filtering the history. Creating a Repository: If you are starting a new project, and want to use Git for source control, you first need to create a new repository. And more! One thing you can count on: after reading this book, you’ll be well-prepared to use Git in your own software development workflow!
Flutter & Dart
Dart Apprentice
There are many programming languages you can start learning today. But not many are modern, easy to learn, object-oriented and scalable as Dart. Plus, combined with Flutter, it allows you to build native iOS & Android applications with a single code base. Dart Apprentice will teach you all the basic concepts you need to master this language. Follow along the easily and thoroughly explained concepts and you will be building Dart applications in a breeze.
Multiple Domains
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.

Other Books

Game Tech
Unity Apprentice
In this book, you’ll learn how to build 3D games using Unity - one of the most popular cross-platform game engines available today. The book will first describe the most commonly used features of the Unity Editor and the Unity Hub. It’ll then go on to describe how you build three separate, but related, games that collectively cover the most important aspects of game development. These include scene creation, detecting and managing collisions, user interface design and building, scripting, navigation, camera control, object pooling and animation. The book also describes some of the best practices you should use to get the best out of Unity, and how to make your games run in the most efficient way, enabling you to focus on the fun part: making a great game that your players will enjoy!
Multiple Domains Requires a pro subscription Pro
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!