App Development and Swift Programming

Do you have an idea for an app, or are you already building one? This is what you need to know about iOS app development and Swift programming. Learn about the app ecosystem, programming languages, toolsets, and time and effort involved.

You’ll need a Mac, Xcode, and learn a bit of Swift programming. There are also various options for building apps on a Windows PC, or with Linux.

Apps for iPhone are made with a Mac application called Xcode, and programmed in either Swift or Objective-C. Swift is the most popular choice, especially for beginner app developers. Xcode includes a tool called Interface Builder, which you can use to “scaffold” the UI for your app.

Many apps are connected to the internet, which means that they have a back-end that allows storage of data in the cloud. Popular back-ends are Parse Server, 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.

App development is a great way to learn about programming, techology and creating products. Even if you don’t want to publish your own apps, successfully developing an app is a great goal to accomplish.

You can check out one of the many articles on app development, below.


  • Initializers & init() Explained in Swift

    Initializers & init() Explained in Swift
    March 24 2020 in App Development An initializer is a function we use to construct objects in Swift. In this article, we're going to discuss how initializers work, why they're needed, and how you can write your own. We'll focus on the different kinds of initializers, such as convenience initializers, what the consequences are of subclassing, errors you may face in day-to-day iOS development, and much more.

  • Dates, DateComponents and Formatting in Swift

    Dates, DateComponents and Formatting in Swift
    March 16 2020 in App Development How do you work with date and time in Swift? In this tutorial, we'll discuss how you can convert date/time to strings, and vice versa, how date/time formatting works, how to calculate time durations, and much more.

  • The Ultimate Guide to Closures in Swift

    The Ultimate Guide to Closures in Swift
    March 9 2020 in App Development Closures are blocks of code that you can pass around in your code, as if you assign a function to a variable. They also capture their surrounding scope. Closures are elegant, powerful, and crucial for mastering iOS development. Let's dive in!

  • Xcode for Windows: Develop iOS Apps on PC

    Xcode for Windows: Develop iOS Apps on PC
    February 28 2020 in App Development How can you run Xcode on Windows and develop iOS apps with a Windows PC? The short answer is: you can't! You've got a few alternatives to get around that, however. In this tutorial, we'll discuss how you can install Xcode on Windows to build iOS apps.

  • How To Learn iOS App Development

    How To Learn iOS App Development
    February 26 2020 in App Development In this tutorial, we'll discuss how you can learn iOS app development. When you've finished reading this article, you will have a step-by-step plan for learning how to code, and you'll be ready to build your own iOS apps from scratch!

  • How To: Xcode 11 Tutorial for Beginners

    How To: Xcode 11 Tutorial for Beginners
    February 18 2020 in App Development We're going to take a look at the most important aspects of Xcode. You'll get a tour around Xcode, so you can get up to speed with Swift programming and iOS app development. It's Xcode 101!

  • 5 Quick Tips for the Xcode 11 Minimap

    5 Quick Tips for the Xcode 11 Minimap
    February 7 2020 in App Development Xcode 11 introduced a useful feature: the code editor now has a mini map. The minimap shows an overview of your code, that you can scroll through. It has a ton of useful features, which we'll discuss in this article.

  • Play With Code: Palindromes In Swift

    Play With Code: Palindromes In Swift
    February 2 2020 in App Development The date 02-02-2020 is a palindrome. Palindromes are words that read the same forward as backward. And they're great fun to play with in Swift! In this article, we'll discuss and code 3 approaches to check if a string is a palindrome in Swift.

  • How to Create a Free Apple Developer Account

    How to Create a Free Apple Developer Account
    January 30 2020 in App Development How can you run your own iOS apps on your iPhone or iPad? In this article, we'll discuss how you can get a free Developer account to do exactly that! Let's get started.

  • Access Control Explained In Swift

    Access Control Explained In Swift
    December 6 2019 in App Development In Swift, access control is used to restrict parts of your app's source code by defining public and private APIs. It's an important aspect of Swift development. Let's find out how it works!

  • Scope & Context Explained In Swift

    Scope & Context Explained In Swift
    December 6 2019 in App Development The concept of scope states that, if you've declared a variable or function in one region of your code, you cannot use it elsewhere. It's a subtle, implicit rule in programming. Let's find out how it works in Swift!

  • Optionals in Swift: The Ultimate Guide

    Optionals in Swift: The Ultimate Guide
    November 7 2019 in App Development Do you find Swift's optionals confusing? In this article, I'll give you a complete tour of optionals in Swift. We'll find out what optionals are, why they're useful, and how you can work with them to make your code safer, bug-free and easier to maintain.

  • The

    The "Some" Keyword In Swift
    October 18 2019 in App Development 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!

  • The Scene Delegate In Xcode 11 And iOS 13

    The Scene Delegate In Xcode 11 And iOS 13
    October 13 2019 in App Development What does the new SceneDelegate class in your iOS 13 project do? In this article, we'll dive into the scene and app delegates, and how they affect setting up UIs on iOS. Let's go!

  • Play With Code: Binary Search In Swift

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

  • Working With Recursive Algorithms In Swift

    Working With Recursive Algorithms In Swift
    September 10 2019 in App Development A recursive function is a function that calls itself. It's an intriguing approach to solve specific coding challenges. In this article, you'll learn how to work with recursion in Swift.

  • Working With Codable and JSON in Swift

    Working With Codable and JSON in Swift
    August 11 2019 in App Development Every webservice uses JSON nowadays. You can use the Codable protocol to encode and decode data, like JSON, to Swift objects. In this article you learn how to map Swift objects to JSON with the Codable protocol. Let's get started!

  • How To Beat The iOS Coding Interview

    How To Beat The iOS Coding Interview
    June 28 2019 in App Development, Dev Careers Are you getting ready to get hired as a professional iOS developer? In this article, we'll discuss how you can best prepare yourself for the coding interview – and how to set yourself up for success!

  • Quit Coding? Here's How To Start Building Apps Again

    Quit Coding? Here's How To Start Building Apps Again
    June 26 2019 in App Development Coding is hard, right? It's easy to give up – and that's OK. Here's how you can get back to coding again, after you've quit.

  • Structs In Swift Explained

    Structs In Swift Explained
    June 19 2019 in App Development In Swift, you use structs to wrap and store complex data types. And they're awesome! In this article, you'll learn how to use structs effectively in your iOS apps.

  • Struct vs. Class In Swift Explained

    Struct vs. Class In Swift Explained
    June 19 2019 in App Development What's the difference between classes vs. structs? They're so alike! It's best to use structs in very specific scenarios–but when? Let's find out!

  • How To: Working With Tab Bar Controllers In Swift

    How To: Working With Tab Bar Controllers In Swift
    May 30 2019 in App Development A tab bar controller is a powerful UI component for iOS apps and you use it to group view controllers together. They give your app's user access to the most important screens of your app. Let's find out how you can use 'em!

  • View Controllers for iOS & Swift Explained

    View Controllers for iOS & Swift Explained
    May 22 2019 in App Development View controllers are fundamental building blocks of your iOS app. They govern what happens on-screen, from User Interfaces to animation, from interaction to navigation, and the many steps in between. In this article, you'll learn everything you need to know about view controllers. It'll help you build better apps and learn iOS development more effectively. Let's get started!

  • The Swift 5 Cheatsheet (Updated!)

    The Swift 5 Cheatsheet (Updated!)
    May 16 2019 in App Development Why learn by heart if you can cheat? Grab my open source cheatsheet for Swift, including syntax for functions, variables, collections, Object-Oriented Programming, closures, generics, error handling and more!

  • Play with Code: Converting Roman Numerals with Swift

    Play with Code: Converting Roman Numerals with Swift
    May 7 2019 in App Development Roman numerals, such as "MMXIX", are exciting! In this article, we're going to write some code that converts any integer number to a roman numeral. It's a fun, short exercise that touches on many aspects of the Swift programming language. It's perfect if you have a spare minute or two to play with code!