How To Make an App With No Programming Experience

How To Make iPhone Apps With No Programming Experience

Oct 11, 2016: These videos are updated for Swift 3 and Xcode 8!

This is my article series to teach people how to build iPhone and iPad applications who have no programming experience.

My focus is to explain things in simple, plain English and get people started making their own apps. Rather than trying to teach everything I learned about Computer Science in University or every last aspect of programming, I’ll distill it into what you need. My approach will be to slowly introduce concepts as you need them, rather than trying to equip you with everything up front only to overwhelm you!

It’s really not that far fetched as long as you have the desire to learn and the persistence to keep at it and get better!

Programming can be self-taught and yes, you can start your own career in software development even if you don’t have a formal background. It’s probably the single greatest thing I love about my field; that merit is based on your achievements and hard work rather than seniority or experience (as in the case of a surgeon for example).

Swift or Objective-C?

Apple recently released a new programming language called Swift for developing iPhone apps. Previously, it was Objective-C that people had to learn in order to build apps. This raised a common question from beginners on which language they should learn.

The good news is that this resource covers both Swift and Objective-C languages!

However, if you’re starting from scratch with no programming experience, I’d highly recommend that you learn Swift because it’s easier to learn for beginners.

The biggest point of failure for beginners is giving up before they pass “the hump”.

The hump is what i like to call that point where it turns from frustrating to fun. It’s kinda like that point where you’re riding your bike without training wheels for the first time and you’re really wobbly, but not falling! Then it’s just fun from there.

With Objective-C, that hump is high because the code contains a lot more weird characters/symbols and it’s less forgiving. Beginners tend to give up before it “clicks” for them.

Swift is more natural to both read/write and so it’s a lower barrier to entry. My advice would be to start with Swift, pass “the hump” and then if Objective-C is something that you need, you’ll have the confidence to learn it and not give up.

With that said, here are the Swift tutorials for How To Make An App With No Programming Experience using Xcode 8 and iOS 10.

Farther below the page is the Objective-C crash course which uses Xcode 5.

How To Make an App

Download the notes!

Module 1: Basics

In this module, you’ll get an orientation of the development environment, a tiny taste of Swift code and participate in building your very first app!

iOS Development Tools and Materials

1. Introduction to the tools and materials
An orientation of the tools and resources used for iOS development.

Xcode Playgrounds

2. Playgrounds and Swift
An unintimidating dabbling into Swift code!

Xcode 8 Tutorial

3. Xcode 8 tutorial and tour
Get acquainted with the development environment where you’ll bring your idea to life!

iPhone app anatomy

4. The anatomy of an iPhone app
How’s an app put together? We break it down into the major components.

Your first Swift app

5. Your first Swift app
Create your first ceremonious “Hello World” app!

Module 2: The art of war

In Module 2, you’ll dive right into creating a simple version of the card game, War.

Xcode 8 Auto Layout

6. Auto Layout and Stack Views
In this lesson, you’ll see how easy it is to visually create your app interface.

Download the images used in this video here. Card images by Charles Esquiaqui licensed under Creative Commons.

Xcode 8 Stack Views

7. Multiple Orientations – Size Classes
In this lesson, you’ll learn about stack views and how they can aid us in laying elements out

Xcode 8 Completing the UI

8. Completing the UI with Auto Layout and Size Classes
In this lesson, you’ll use what you learned about auto layout and stack views and finish adding additional elements to the user interface.

Swift Basics

9. Basic building blocks of Swift programming
Learn about object oriented programming, classes, objects, methods and properties.

Swift Subclassing and UIKit

10. More Swift concepts and UIKit
In this lesson, we go through more Swift programming basics and learn about what UIKit is.

Swift IBOutlet Properties

11. Hooking it all up – Swift IBOutlet properties
Now we’re ready to learn how to expose the user interface elements so you can manipulate them with code.

Swift IBActions and Methods

12. Handling button taps – Methods
We’ll go through how to capture a tap on a button so that you can respond to it!

Xcode 8 Asset Library

13. Adding and displaying images in your app
Learn how to add images to your Xcode 8 project and display them in your app. You’ll also learn about various images sizes that you need for retina and high resolution displays.
Download the images used in this video here. Card images by Charles Esquiaqui licensed under Creative Commons.

Swift randomizing numbers

14. Getting a random number and randomizing the cards
War is a game of chance, so we’ll need to know how to generate random numbers. In this lesson, we also learn how to change the card images based on the randomly generated numbers.

Swift Arrays

15. Using Arrays to manage the card images
This lesson introduces Arrays. It shows you how to use this collection class to improve the way we display the card images.
For reference: Apple’s Swift Programming Language Guide

Swift IF statements

16. Determining a winner – IF statements
Implement the simple game logic in code to determine a winner.

Styling and variable scoping

17. Styling and keeping score
By implementing the score keeping, we’ll learn the importance of understanding scope.

How To Make iPhone Apps with Objective-C

Learn Programming – Core Programming Concepts Tutorial

This introduction article is a great place to start for those who want to learn how to program but don’t have a programming background. This short lesson introduces concepts which will make the subsequent lessons easier to understand and digest!

1. How To Make iPhone Apps – Object Oriented Programming and Classes

This first article talks about the core concepts of object oriented programming, introduces you to writing some Objective-C code to create classes and describing ways in which classes can interact with each other through methods, properties and variables.

2. How To Make iPhone Apps – Control Structures, Loops and Collections

The second part of our series will introduce more programming concepts with Objective-C examples. With the introduction of control structures, loops and collections, you’ll be able to write more complex methods. Level up, yeah!

3. How To Make iPhone Apps – MVC, One Pattern To Rule Them All

The third part of our series will introduce the Model View Controller pattern (MVC) and the critical part it plays in iOS app development.

4. How To Make iPhone Apps – An XCode 5 Tutorial For Beginners

We’re finally ready to tackle XCode, write code and build apps! We’ll go through all the elements of the XCode development environment and get started with our demo project.

5. How To Make iPhone Apps – Creating The Demo App With XCode And Interface Builder

In this part, I’ll show you how to lay out the on-screen user interface elements for your app, navigating between views in your app and responding to user interaction by hooking up the UI elements to your code!

For those who have a programming background

If you DO have a development background and you know another programming language then I believe you’ll still find value in this article series but I also urge to you check out the Stanford iPhone App Development videos. (People with no programming experience may find it difficult to follow because the course assumes that you know the basics of object oriented programming).