App Development

Want to build an app? Are you already building one? Check out one of the many tutorials on app development below.

If you want to make an app for iOS, you’ll need a Mac. Learn about Xcode, Swift, and the iOS SDKs. A great way to learn more about iOS development and Swift programming is to build your own app projects. You can also use few alternatives for Windows or Linux.

Most apps are connected to the internet these days, which means you’ll need a back-end that stores data in the cloud. Popular back-ends include Firebase and Realm.

If you want to publish your apps in the App Store, you’ll need an Apple Developer Account. You can always run your apps on your own iPhone, with Xcode, for free.

Let’s get to it!


  • Combining Network Requests with Combine and Swift

    Combining Network Requests with Combine and Swift
    What if a HTTP network request depends on the response of another? In this tutorial, we'll discuss in-depth how you can combine and/or chain networking tasks with Combine. We'll focus on Publisher.Zip and flatMap(), and a whole lot of cool stuff in between!

  • Get Started with Swift Package Manager (SPM)

    Get Started with Swift Package Manager (SPM)
    Managing dependencies and 3rd-party libraries was never easier. With Swift Package Manager (SPM), you can add external libraries to your iOS project. In this tutorial, we'll discuss how to manage dependencies with SPM.

  • How To Beat The iOS Developer Interview

    How To Beat The iOS Developer Interview
    Getting ready to get hired as a professional iOS developer? In this tutorial, we'll discuss how you can best prepare yourself for the developer interview – and how to set yourself up for success!

  • Working with Alamofire in Swift

    Working with Alamofire in Swift
    Alamofire is an elegant networking library written in Swift. You use it to make HTTP requests in your iOS apps. In this tutorial, we're going to discuss how you can use Alamofire for HTTP networking!

  • Should You Learn SwiftUI or UIKit?

    Should You Learn SwiftUI or UIKit?
    Should you learn UIKit or SwiftUI? That's the question we're discussing today. UIKit is proven, extensive, the status quo. SwiftUI is the newcomer, innovative, flexible. You use both to build UIs on iOS. Which is the best tool for you?

  • The Ultimate Guide to Operators in Swift

    The Ultimate Guide to Operators in Swift
    Operators in Swift are tiny symbols that produce a result. In this tutorial, we're diving deep into Swift's operators, including precedence and associativity, and even write our own custom operators.

  • The Nil-Coalescing ?? and Ternary Conditional :? Operators in Swift

    The Nil-Coalescing ?? and Ternary Conditional :? Operators in Swift
    In this tutorial, we're going to discuss how you can use the nil-coalescing operator and the ternary conditional operator in Swift. They're interesting bits of syntactic sugar, and they can help you write more concise, readable code. Let's get started!

  • Subscript Syntax in Swift Explained

    Subscript Syntax in Swift Explained
    You use a subscript in Swift to quickly access the member elements of collections. It's a powerful feature of the Swift Programming Language, because the syntax for subscripts is super concise. Let's find out how it works!

  • MVVM and SwiftUI

    MVVM and SwiftUI
    SwiftUI is not MVVM, but they go really well together. What's the Model-View-ViewModel (MVVM) architectural pattern and how do you use it? In this tutorial, we'll discuss how you can use MVVM to better organize your app's code.

  • How To Detect Internet Connectivity with NWPathMonitor

    How To Detect Internet Connectivity with NWPathMonitor
    Detecting an iOS app's internet connectivity is useful, especially if you want to check if the internet is reachable prior to making a network request. In this tutorial you'll learn how to detect internet connectivity changes with Reachability and NWPathMonitor.

  • Scheduling Local Notifications with Swift

    Scheduling Local Notifications with Swift
    How do you schedule, send and receive local notifications in your iOS app? In this tutorial, you'll learn how to build local notifications into your iOS app with Swift. Let's get started!

  • Play With Code: Binary Search in Swift

    Play With Code: Binary Search in Swift
    Binary search is a simple algorithm that lets you search an array for a specific value. In this tutorial, we're going to code a binary search algorithm from scratch in Swift. It's good practice, and you'll learn some interesting tidbits about Swift along the way!

  • Error Handling with Try and Catch in Swift

    Error Handling with Try and Catch in Swift
    You use 'do', 'try', 'catch' and 'throw' to handle errors and exceptions in Swift. Error handling gives you greater control over unexpected scenarios that might occur in your code. Let's find out how that works!

  • Scope and Context Explained in Swift

    Scope and Context Explained in Swift
    The concept of scope states that, if you've declared a variable or function in one "place" of your code, you cannot use it elsewhere. It's a subtle rule in programming. But that's not all there is to it. Let's find out how scope works in Swift!

  • Opaque Types and 'some' in Swift

    Opaque Types and 'some' in Swift
    Opaque types are an important feature of Swift. With the "some" keyword, which denotes an opaque type, you can "hide" the concrete return type of a computed property or function. Let's find out how that works!

  • Escaping Closures in Swift Explained

    Escaping Closures in Swift Explained
    A closure is said to "escape" a function when it's called after that function returns. In Swift, closures are non-escaping by default. What are escaping closures, anyway? And what do you use @escaping for? Let's find out!

  • SwiftUI's App Lifecycle Explained

    SwiftUI's App Lifecycle Explained
    Bye-bye AppDelegate! You can now build SwiftUI apps with the new App protocol and lifecycle, without an app- or scene delegate. How does the SwiftUI App lifecycle work? Let's find out!

  • Guard Statement Explained in Swift

    Guard Statement Explained in Swift
    The guard statement in Swift helps you return your functions early, if a condition isn't met. In this tutorial we'll discuss what "guard" is, and how you can use it in practical iOS development. Let's get started!

  • Scene Delegate vs. App Delegate Explained

    Scene Delegate vs. App Delegate Explained
    What does the SceneDelegate class in your iOS project do? In this tutorial, we'll dive into the scene and app delegates, and how they affect setting up UIs on iOS. Let's go!

  • Working with @Binding in SwiftUI

    Working with @Binding in SwiftUI
    A binding in SwiftUI is a connection between a value and a view that displays and changes it. You can create bindings with the @Binding property wrapper, and others, to pass bindings into views that require them. In this tutorial, we're going to discuss how bindings work in SwiftUI.

  • How To: Pass Data Between Views with SwiftUI

    How To: Pass Data Between Views with SwiftUI
    How do you pass data between views in SwiftUI? If you've got multiple views in your SwiftUI app, you're gonna want to share the data from one view with the next. We're going to discuss 4 approaches to do so in this tutorial!

  • How To: Pass Data Between View Controllers in Swift

    How To: Pass Data Between View Controllers in Swift
    When your app has multiple user interfaces, you'll want to move data from one UI to the next. How do you pass data between view controllers in Swift?

  • @ObservedObject and Friends in SwiftUI

    @ObservedObject and Friends in SwiftUI
    In this tutorial, we'll discuss an approach for 2-way data flow between an external data source and changing that data in your app. You'll learn how to work with @ObservedObject, ObservableObject, @Published, @Binding, Combine, MVVM, and much more.

  • Networking in Swift with URLSession

    Networking in Swift with URLSession
    Almost every app communicates with the internet at some point. How does that work? And what Swift code can you use to make HTTP networking requests? Let's find out!

  • Inheritance and Subclassing Explained in Swift

    Inheritance and Subclassing Explained in Swift
    With subclassing, a class can inherit functions and properties from another class. That allows you to reuse your code, which is a good thing. In this tutorial, we'll discuss how you can use subclassing and inheritance in Swift.